LAX1DUDE_SIGNATURE.txt
للحصول على تعليمات للتحقق من أن هذه نسخة أصلية، إذا لم يكن الملف موجودًا، فلا تستخدم هذه النسخة من المشروعEaglercraft هي لعبة Minecraft 1.5.2 حقيقية يمكنك لعبها في أي متصفح ويب عادي. يتضمن ذلك أجهزة Chromebook المدرسية، ويعمل على جميع أجهزة Chromebook. وهو يدعم كلا من اللاعب الفردي ومتعدد اللاعبين. |
تتم صيانته حاليًا بواسطة ayunami2000
إذا كانت لديك أي أسئلة، يمكنك الانضمام إلى خادم Discord وزيارتنا هناك https://discord.gg/Ekzcgs3DKZ
(انقر بزر الماوس الأيمن على الرابط ثم اضغط على "حفظ الرابط باسم..." لتنزيل الملف)
لاعب منفرد | متعددة اللاعبين | آحرون |
---|---|---|
عوالم الاستيراد والتصدير | العملاء والخوادم العامة | تطوير البرنامج المساعد |
عوالم الشبكة المحلية | إنشاء خادم - بوكيت | تجميع |
مرحلات الشبكة المحلية العامة | إنشاء خادم - EaglercraftBungee | إنشاء حزمة الموارد |
إنشاء مرحل LAN | إنشاء عميل | المساهمة |
تكوين إيجلركرافت بنجي | ||
إنشاء وكيل عكسي - NGINX | ||
تكوين نجينكس |
ما عليك سوى الضغط على زر "Singleplayer" في القائمة الرئيسية ويمكنك إنشاء لعبة ماين كرافت عادية من نوع Vanilla وتشغيلها في أي وقت.
يتم تخزين العوالم في وحدة التخزين المحلية للمتصفح الخاص بك، ويمكنك تصديرها كملفات EPK واستيرادها مرة أخرى على جميع مواقع Eaglercraft الأخرى التي تدعم أيضًا اللعب الفردي. يمكنك أيضًا نسخ عالم تم تصديره إلى جهاز كمبيوتر مختلف تمامًا، أو إرساله إلى صديق، واستيراده ومواصلة اللعب مع حفظ كل التقدم الذي أحرزته.
ستعمل عوالم LAN بين أي جهازين متصلين بالإنترنت، فأنت لا تقتصر فقط على اللاعبين المتصلين بشبكة Wi-Fi الخاصة بك
لفتح عالمك على شبكة LAN، انتقل إلى قائمة الإيقاف المؤقت وانقر على "فتح على شبكة LAN". يمكنك تكوين وضع اللعبة والغش، وإذا كنت ترغب في إخفاء عالم الشبكة المحلية (LAN) الخاص بك. عندما لا تقوم بإخفاء عالم LAN الخاص بك، فسوف يظهر على شاشة Multiplayer من القائمة الرئيسية لأي شخص آخر أيضًا على شبكة Wi-Fi الخاصة بك. قم بإخفاء العالم إذا كنت في المدرسة أو شيء من هذا القبيل ولا تريد أن ينضم أي شخص آخر في صفك أيضًا وتبدأ بالحزن.
عندما تفتح العالم على الشبكة المحلية (LAN)، فسوف يمنحك "رمز الانضمام". ما عليك سوى مشاركة الرمز مع أصدقائك ويمكنهم زيارة شاشة اللعب الجماعي من القائمة الرئيسية والنقر على "الاتصال المباشر" وإدخال الرمز وسيتمكنون من الانضمام إلى عالمك.
تأكد من أنهم يضيفون خادم الترحيل، حيث تفتح لعبتك عالم الشبكة المحلية (LAN) في قائمة "إعدادات الشبكة" الخاصة بهم والتي يمكن الوصول إليها من شاشة اللعب الجماعي. يجب عليك ببساطة أن ترسل لهم عنوان URL المشار إليه في قائمة الإيقاف المؤقت بمجرد فتح العالم ويمكنهم استخدام خيار "إضافة ترحيل" لإضافة عنوان URL إلى قائمتهم.
wss://relay.deev.is/
wss://relay.lax1dude.net/
wss://relay.shhnowisnottheti.me/
java -jar sp-relay.jar
قم بتشغيل java -jar sp-relay.jar --debug
لعرض معلومات التصحيح مثل جميع عناوين IP للاتصالات الواردة، حيث لا يتم عرضها افتراضيًا لأن تسجيل كل هذه المعلومات سيؤدي إلى تقليل الأداء عندما يتم اختبار اتصال المرحل عدة مرات في الثانية اعتمادًا على على شعبيتها.
قم بتحرير ملف relayConfig.ini
الذي تم إنشاؤه عند التشغيل لأول مرة لتغيير المنفذ وتكوين تحديد المعدل وما شابه، و relays.txt
لتغيير قائمة مرحلات STUN وTURN التي تم الإبلاغ عنها للعملاء المتصلين بالمرحل، والمطلوبة لإنشاء شبكة P2P LAN بشكل صحيح اتصال العالم في المتصفحات
متغير التكوين origin-whitelist
عبارة عن قائمة منفصلة بفاصلة منقوطة ( ;
) للنطاقات المستخدمة لتقييد المواقع المسموح لها باستخدام الترحيل الخاص بك. عندما يترك فارغا فإنه يسمح لجميع المواقع. أضف offline
للسماح لعملاء التنزيل دون اتصال باستخدام الترحيل الخاص بك أيضًا، وقيمة null
للسماح بالاتصالات التي لا تحدد Origin:
رأس. استخدم *
كحرف بدل، على سبيل المثال: *.deev.is
يسمح لجميع النطاقات التي تنتهي بـ "deev.is" باستخدام التتابع.
وظائف متعددة اللاعبين مثل Vanilla Minecraft، مما يسمح لك بالانضمام إلى خوادم Minecraft العادية مثل العميل العادي.
هناك أجزاء متعددة للخادم ، تتكون بشكل أساسي من خادم Bukkit 1.5.2 عادي ، ونسخة معدلة من Bungeecord تسمى EaglercraftBungee ، والتي بالإضافة إلى وظيفة Bungeecord العادية، تقوم بترجمة اتصالات WebSocket إلى اتصالات TCP أولية يمكن لـ Bukkit فهمها.
قد ترغب أيضًا في إعداد العميل الخاص بك، مما يسمح لك بالتحكم في قوائم الخادم الافتراضية، وحزم الموارد، واتصال أسرع بشكل عام بسبب التحميل الأقل.
إذا كنت تريد استخدام نطاق لخادمك، فيمكن إعداد وكيل عكسي لتمكين وظائف إضافية داخل EaglercraftBungee. يوصى باستخدام NGINX ، ويتم تضمين البرنامج التعليمي هنا . يعد هذا أمرًا اختياريًا، ويمكن تخطيه بمجرد الاتصال بـ IP.
java/bukkit_command
run.bat
. يجب أن يفتح نافذة طرفية جديدةcd
للانتقال إلى java/bukkit_command
chmod +x run_unix.sh
ثم قم بتشغيل ./run_unix.sh
. يجب أن يبدأ نفس الخادمjava/bukkit_command/plugins
(راجع https://github.com/lax1dude/eaglercraft-plugins/ لتنزيل بعض المكونات الإضافية المدعومة) java/bungee_command
run.bat
. يجب أن يفتح نافذة طرفية ثانيةjava/bungee_command
هذه المرةjava/bungee_command/plugins
هناك الكثير من التكوينات في Bungeecord، ولكن هذا يجب أن يهيئك
الخادم الخاص بك جاهز الآن. قم بزيارة أي عميل، وانتقل إلى "Multiplayer" من القائمة الرئيسية. حدد "الاتصال المباشر"، واكتب 127.0.0.1:25565
ثم اضغط على "الانضمام إلى الخادم" . من المفترض أن يسمح لك بالاتصال، إذا لم يكن الأمر كذلك، تحقق من نافذتي المحطة بحثًا عن الأخطاء
للتثبيت، قم بتحميل محتويات stable-download/web
إلى خادم الويب.
/var/www/html
وقم بتحميل محتويات stable-download/web
هناك.https://eaglercraft.example.com/server
لن يعمل مجلد "الويب" إذا قمت بفتحه في متصفحك محليًا! إذا رأيت "ملف:///" في عنوان URL، فأنت تفعل ذلك بشكل خاطئ. تحتاج إلى تحميل المجلد إلى خادم HTTP أو HTTPS والوصول إليه عبر الإنترنت عبر http:// أو https://. لن يتم تحميل اللعبة بخلاف ذلك، وهذا ليس خطأ
لتعديل قائمة الخوادم الافتراضية، قم بتعديل المتغير window.eaglercraftOpts
في index.html
.
سيتم إصدار دليل كامل حول كيفية تكوين eaglercraftOpts
قريبًا، ولكن يجب أن يكون من البديهي إلى حد ما معرفة كيفية إعداده بناءً على القيم الافتراضية الموجودة بالفعل عندما تنظر إلى التنزيل الثابت
لإنشاء رابط لموقعك ينضم تلقائيًا إلى الخادم، أضف متغير ?server=
إلى عنوان URL، مثل (على سبيل المثال): https://g.deev.is/eaglercraft/?server=127.0.0.1:25565 سوف الانضمام تلقائيًا ws://127.0.0.1:25565/
بمجرد انتهاء اللاعب من تعيين اسم المستخدم والشكل الخاص به
motd1:
الخاصة بتكوين المستمع في java/bungee_command/config.yml
، واستبدل server-icon.png
في المجلد الذي يوجد به ملف التكوين. استخدم &
لإضافة رموز اللون/التنسيق. ستعمل قائمة الخادم على تصغير حجم الرمز الخاص بك إلى 64 × 64 بكسلmotd2:
لتحديد سطر ثانٍلتمكين الأمرين /login و/register في EaglercraftBungee، يمكنك تحرير هذا الجزء من config.yml
authservice :
authfile : auths.db
register_enabled : true
ip_limit : 0
join_messages :
- ' &3Welcome to my &aEaglercraftBungee &3server! '
login_timeout : 30
enabled : false
authfile
يضبط ملف قاعدة بيانات المصادقة المتوافق مع AuthMe
register_enabled
لتشغيل أمر التسجيل وإيقاف تشغيله
ip_limit
يعين الحد الأقصى لعدد التسجيلات لكل IP، 0 = غير محدود
join_messages
قائمة الرسائل التي ستظهر للاعب عند انضمامه
login_timeout
يضبط عدد الثواني التي يتعين على اللاعبين تسجيل الدخول قبل أن يتم طردهم
enable
تشغيل أوامر تسجيل الدخول وإيقاف تشغيلها
إذا كنت تستخدم /op على الخادم الخاص بك، فضع في اعتبارك أنه إذا كنت "/op LAX1DUDE"، فإن اللاعب الذي ينضم باسم "laX1DUDE" أو "LaX1dUdE" أو "lax1dude" سيكون لديه /op أيضًا. لحل هذه المشكلة، أجبر جميع المشغلين على أن يكونوا قادرين فقط على الانضمام بجميع الأحرف الصغيرة ('lax1dude') في أسماء المستخدمين الخاصة بهم عن طريق نقل "BitchFilterPlugin.jar" إلى "java/bukkit_command/plugins" ثم قم بتسجيل كل حرف صغير لاسم المستخدم الخاص بهم
لتعطيل الدردشة الصوتية، قم بتعيين voice_enabled: false
في ملف Bungeecord config.yml
eag-ban
eag-ban-regex
مع تعبير عادي لمطابقة اسم المستخدم بالأحرف الصغيرة لكي يعمل حظر IP، يلزم وجود وكيل عكسي ، ويجب تكوين forward_ip
، وإلا فلن يتمكن من حظر IP الخاص بالمستخدم.
eag-ban-ip
أو eag-ban-ip
لحظر IP الخاص باللاعب تلقائيًاeag-ban-ip 192.168.0.0/8
eag-ban-wildcard *
أو eag-ban-wildcard *
أو eag-ban-wildcard **
enable_web_origin_blacklist : false
origin_blacklist_block_replit_clients : true
origin_blacklist_block_offline_download : true
origin_blacklist_block_missing_origin_header : true
لإضافة نطاقاتك المدرجة في القائمة السوداء ، قم بإنشاء ملف يسمى origin_blacklist.txt
في دليل Bungeecord الخاص بك ثم ضع التعبيرات العادية بداخله، واحدة في كل سطر. يوجد أيضًا أمر domain
في وحدة التحكم لعرض مجال اللاعب، وأمر block-domain
و block-domain-name
و unblock-domain
لإدارة origin_blacklist.txt
المحلي من وحدة تحكم البنجي (إذا كنت لا تعرف كيفية تحرير ملف بنفسك). يتم إعادة تحميل القائمة تلقائيًا عند اكتشاف تغييرات في الملف.
origin_blacklist_use_simple_whitelist : true
ثم أضف نطاقك إلى origin_blacklist_simple_whitelist
مثل هذا:
origin_blacklist_simple_whitelist :
- type the name of your client's domain here
بعد ذلك، ما لم تكن لا تزال تريده كخيار للاعبين، قم بتعطيل التنزيل في وضع عدم الاتصال حتى لا يستخدمه المتسللون لتجاوز القائمة البيضاء، حيث إنه غير محظور في وضع القائمة البيضاء افتراضيًا:
origin_blacklist_block_offline_download : true
يحتوي الخادم على حماية DoS مدمجة، ويمكنك إعادة تعيينها عن طريق كتابة "eag-ratelimitset" في وحدة تحكم البنجي**
من الممكن تحديد المعدل، ولكن يلزم وجود وكيل عكسي ، ويجب تكوين forward_ip
لاستخدام تحديد المعدل، وإلا فسيتم تعطيله افتراضيًا
ratelimit :
ip :
enable : true
period : 90
limit : 60
limit_lockout : 80
lockout_duration : 1200
exceptions : []
enable
تمكين الحد من المعدل
تحدد period
limit
عدد الطلبات ( limit
) التي يمكن إجراؤها في ( period
) عدد الثواني
يقوم limit_lockout
و lockout_duration
بتعيين عدد الطلبات ( limit_lockout
) التي يمكن إجراؤها خلال ( period
) ثانية قبل حظر IP لعدد lockout_duration
من الثواني
exceptions
هي قائمة عناوين IP التي لا يجب أن تكون محدودة السعر أبدًا. يتم تعيين عناوين IP المحلية مثل 127.0.0.1 و192.168.*.* وما شابه ذلك كاستثناءات افتراضيًا
إذا كنت ترغب في إرسال إشارة إلى العميل لقطع الاتصال بـ Bungeecord الخاص بك وإعادة الاتصال بـ Bungeecord مختلف، فقم بتكوين إدخال في جزء servers
من config.yml مثل هذا:
test :
redirect : wss://ServerHere/
restricted : false
في هذا المثال، سيؤدي إرسال لاعب إلى test
الخادم، كما هو الحال عند دخوله إلى بوابة أو /server test
، إلى تشغيل العميل لقطع الاتصال بـ Bungeecord ثم إعادة الاتصال تلقائيًا بـ wss://ServerHere/
كما لو تم إدخاله عبر "الاتصال المباشر"
فيما يلي دورة مكثفة سريعة لإعداد NGINX على Linux، وتحديدًا على توزيعات Debian.
فيما يلي بعض عمليات البحث على Google عن توزيعات أخرى:
افتح المحطة الطرفية الخاصة بك وقم بتشغيلها
sudo apt update
و sudo apt install nginx
افتح أي متصفح ويب، وابحث عن localhost
في شريط البحث. يجب أن ترى شيئًا مثل هذا:
انتقل إلى تكوين NGINX باستخدام cd /etc/nginx/sites-enabled
.
قم بإنشاء ملف تكوين جديد باسم المجال الخاص بك، على سبيل المثال nano eaglercraft.example.com
الصق الكود التالي في الملف . استبدل example.com
بنطاقك الخاص، و app_server_address
باعتباره ip:port
لخادم EaglercraftBungee الذي تريد أن يتصل عنوان URL به.
server {
listen 80;
listen [::]:80;
server_name example.com eaglercraft.example.com;
location / {
proxy_pass app_server_address;
include proxy_params;
}
}
sudo service nginx restart
ويجب أن تكون جاهزًا للبدء! proxy_pass
. add_header X-Frame-Options "SAMEORIGIN";
add_header Referrer-Policy "strict-origin";
add_header X-XSS-Protection "1; mode=block";
add_header Content-Security-Policy "default-src 'self' 'unsafe-inline'; img-src 'self' 'unsafe-inline' data: blob:; connect-src 'self' ws: wss:; upgrade-insecure-requests";
proxy_set_header X-Real-IP $remote_addr
إلى تكوين الوكيل الخاص بكلتطوير مكون إضافي، قم بتنزيل Stable-download/java/bungee_command/bungee_dist.jar وأضفه إلى مسار البناء الخاص بـ Java IDE الخاص بك. قم بتطوير البرنامج الإضافي تمامًا مثل البرنامج الإضافي BungeeCord العادي، راجع EaglerMOTD للحصول على مثال.
اختبر المكون الإضافي الخاص بك عن طريق تصديره كجرة ووضعه في دليل '/plugins' الخاص بـ EaglercraftBungee ثم النقر فوق 'run.bat'.
net.md_5.bungee.api.event.WebsocketMOTDEvent : يتم تشغيله عندما يطلب العميل أو موقع الويب MOTD
net.md_5.bungee.api.event.WebsocketQueryEvent : يتم تشغيله عندما يطلب العميل أو موقع الويب استعلامًا. يحدث هذا عندما يفتح موقع ويب WebSocket نصيًا إلى المستمع ويرسل سلسلة واحدة Accept:
. يمكن استخدامها لتوفير إحصائيات مخصصة إضافية لمواقع قائمة الخادم التي تدعم استعلامات WebSocket المتكاملة
قم بتسجيل معالجات الأحداث باستخدام التعليق التوضيحي القياسي BungeeCord @EventHandler
في فئة Listener
الخاص بك
للتجميع للويب، قم بتشغيل هدف التجميع "teavm" لإنشاء ملف Classes.js.
لم يعد وقت تشغيل LWJGL مدعومًا، بل تم تضمينه كمرجع فقط
run.bat
. انتظر حتى تقول النافذة Press any key to continue...
وأغلقه. ثم انتقل إلى ../javascript
في المستودع وانسخ javascript/assets.epk
إلى assets.epk
على موقع الويب الخاص بكcd
وقم بتشغيل chmod +x run_unix.sh
ثم ./run_unix.sh
للقيام بذلك، ثم انسخ نفس javascript/assets.epk
إلى assets.epk
على موقع الويب الخاص بك كل ما يجب أن أقوله حقًا هو علامات التبويب وليس المسافات، وقم بتنسيق الكود ليكون مثل أداة التنسيق التلقائي لـ Eclipse في إعدادات المصنع، ولكن أيضًا يتم تشغيل أسطر من التعليمات البرمجية طويلة بما يكفي لتخرج من الشاشة وسطر واحد إذا كانت البيانات وغيرها نرحب بانتهاكات التنسيق في هذه الفئة إذا كان ذلك يساعد في تحسين التباين بين التعليمات البرمجية الأقل أهمية والتعليمات البرمجية الأكثر أهمية في الملف. لا تقم بإجراء تغييرات على javascript/classes.js
أو javascript/classes_server.js
أو javascript/assets.epk
أو أي شيء في stable-download/
. سأقوم بإعادة تجميعها بنفسي عندما أقوم بدمج طلب السحب.
تمت إضافة قائمة بالخوادم العامة بالفعل إلى العميل الرسمي ↩
يتم حاليًا إعادة بناء قائمة الخوادم، استخدم العميل الرسمي في الوقت الحالي ↩