האמת היא שאני חייב המון למיינקראפט. לפי כעשור בערך, שמעתי על המשחק מהבן הגדול שלי, אז בן 10. ראיתי וקשה לי לומר שהתלהבתי. גרפיקה לא משהו, אבל הוא ביקש שארכוש לו ורכשתי. מאז זרמו המון פיקסלים בנהר. מיינקראפט, כך גיליתי, הוא משחק חיובי ומרתק שמפתח את הדמיון ואת המחשבה, משחק שאין לו גבולות ולמרות הגרפיקה הבסיסית שלו בחלק מהתצורות, המשחקיות המהממת שלו היא מעל הכל.
בזכות מיינקראפט, הבן שלי ושאר הילדים אחריו למדו תכנות, שיפרו דרמטית את הידע שלהם באנגלית, רכשו אוריינות מחשובית מטורפת ולמדו גם לתפעל שרתים. במיינקראפט אפשר לשחק לוקלי – כלומר מול המחשב. אבל הכוח האמיתי הוא לשחק בשרתים, עם חברים ואנשים מכל העולם. וחלק מהכיף והעניין הוא להרים שרת משל עצמך. אפשר לעשות את זה בשרתי אמזון, או בשרתים אחרים. אבל יש יתרונות גדולים לשרת מיינקראפט שנמצא על רספברי פיי – הראשון הוא מחיר. רספברי פיי הוא זול יחסית ויכול לשמש גם למטרות אחרות. השני הוא יכולת תפעול – בניגוד לשרתים המותקנים על ענן, ברספברי פיי אפשר באמת להגדיר, לשנות וליצור דברים. לא מתאים לך שרת מסוים? תחליף. פלגינים? מה שבא לך. אתה לא מובל. והילדים או הנערים? לומדים על הדרך תפעול לינוקס. שזו תוצאת לוואי ברוכה.
השלישי הוא יכולת שליטה – ברצונך אתה פותח את השרת לעולם וברצונך אתה סוגר אותו רק למי שמשתמש ברשת הפנימית. אידיאלי לכמה אחים.
במאמר הזה אני מסביר איך מתקינים שרת מיינקראפט על המחשב באופן מאובטח וקל וגם גורמים לו לרוץ באופן אוטומטי ואיך פותרים תקלות שיש בו. אני יוצא מנקודת הנחה שעברתם על המאמר שבו אני מסביר על התקנת רספברי פיי, התקנת SSH ועבודה איתו ועם לינוקס.
גם אם אתם לא מכירים את לינוקס ואת SSH וזה מרתיע אתכם – חבל, אל תרתעו. מדובר במשהו שקל ללמוד ולהבין והערך המוסף להבנה של לינוקס היא עצומה. גם בתחום ההייטק וגם בתחומים אחרים. ההבנה של הבן שלי בשרתי לינוקס, שאותה הוא רכש בתחילה עם מיינקראפט, סייעה לו מאוד בעבודתו באוטומציה וכאיש דבאופס.
הכנה להתקנה
שרת עלול להשמע מפחיד, אבל שרת מיינקראפט הוא בעצם תוכנה, כמו וורד, אקסל או שרת ווב. תוכנה שיודעת לקבל תנועה מתוכנות מיינקראפט (בפורט 25575) ולעבוד איתם. בדיוק כמו כל תוכנה, אנו צריכים להתקין אותה. יש גם תוכנות עזר שמסייעות לנו לעבוד עם השרת הזה. על מנת להתקין את השרת, אנו מתחברים ב-SSH אל הרספברי פיי. כל המדריך בעצם מראה את העבודה ב-SSH.
אנו נעדכן את מאגר התוכנות שלנו ונתקין שתי תוכנות עזר קטנות שלא תופסות הרבה מקום על הרספברי פיי שלנו.
sudo apt update
sudo apt install git build-essential
אחרי שהקלדנו את הפקודות האלו, אנו נכנס לקונפיגורציה של רספברי פיי כדי לבצע אופטימיזציה מהירה. נקליד:
sudo raspi-config
וייפתח בפנינו מסך האפשרויות המוכר. נכנס לאפשרויות מתקדמות ומשם אל: GL Drive ואז נבחר GL (Fake KMS). אחר מכן נבצע ריסטרט ונתחבר שוב ב-SSH לשרת.
מיינקראפט עובדת בג'אווה, ואנו נדרשים להתקין אותה על השרת. מייד לאחר חיבור ה-SSH המחודש, נתקין את ג'אווה באמצעות:
sudo apt install openjdk-8-jre-headless
אחרי ההתקנה נוודא שהכל עבר בשלום באמצעות הפקודה:
java -version
מקבלים גרסה? מעולה. אפשר להמשיך. יש תקלה אחרת? זה הזמן לדוקטור גוגל.
פינת האבטחה – יצירת שם משתמש חדש
כיוון שיש סבירות יותר מגבוהה ששרת המיינקראפט שלכם יהיה חשוף לעולם, זה רעיון מעולה ליצור משתמש בשם minercraft שהוא זה שמריץ את השרת. וזאת על מנת להגביל את הנזק שפורץ יכול לעשות לרספברי פיי ולרשת הביתית שלכם. למשתמש הזה לא תהיה יכולת להתחבר ל-SSH ותפקידו יסתכם בהרצת השרת בלבד.
sudo useradd -r -m -U -d /opt/minecraft -s /bin/bash minecraft
אחרי יצירת שם המשתמש, תחת תיקית home תהיה לנו תיקית minecraft, שהיא תיקית המשתמש. עכשיו אנו נכנס בתור משתמש minecraft ונבצע פעולות בשמו. זה חשוב לעשות את זה, כי אם נעשה את הפעולות האלו כמשתמש pi, משתמש minecraft יתקשה לבצע את הפעולות האלו. אם בטעות דילגתם על השלב הזה, אנא חיזרו על השלבים שעשיתם שוב והפעם כמשתמש minecraft.
אנו עוברים למשתמש minecraft כך:
sudo su - minecraft
אנו ניצור שתי תיקיות תחת תיקית המשתמש minecraft. אחת בשם tools והשניה בשם server:
mkdir ~/tools
mkdir ~/server
אפשר להתחיל בהתקנה.
התקנת כלי העזר mcrcon
mcrcon היא תוכנת עזר לניהול שרתי מיינקראפט שאנו נשתמש בה לא מעט, לניטור ובדיקת תקלות ושינוי פרמטרים בשרתים. אנו נתקין אותה בתיקית tools. קודם כל נוריד את התוכנה:
cd ~/tools && git clone https://github.com/Tiiffi/mcrcon.git
נכנס לתיקת mcrcon באמצעות:
cd mcrcon
ואז נתקין אותה באמצעות:
gcc -std=gnu11 -pedantic -Wall -Wextra -O2 -s -o mcrcon mcrcon.c
נבדוק שהיא עובדת באמצעות:
./mcrcon -h
התוכנה הזו היא תוכנה שאפשר להתחבר באמצעותה לשרת של מיינקראפט, אבל אין עוד שרת! אז בואו ונתקין אותו.
התקנת שרת המיינקראפט
סוף סוף הגענו לרגע המאושר של התקנת שרת המיינקראפט! זה שרת מבוסס ג'אווה שאותו נתקין בתיקית server (הפתעה הפתעה). הדבר הכי חשוב הוא לבחור את גרסת השרת האחרונה מתוך האתר הרשמי של מיינקראפט פה. זה תמיד קישור ארוך שמשתנה בהתאם לגרסה האחרונה. בשעת כתיבת שורות אלו, הגרסה האחרונה של השרת היא 1.6.3 אז הקישור הוא לגרסה הזו והוא:
https://launcher.mojang.com/v1/objects/f02f4473dbf152c23d7d484952121db0b36698cb/server.jar
יש להכניס את כתובת הקישור אחרי ה wget ככה למשל:
cd ~/server && wget https://launcher.mojang.com/v1/objects/f02f4473dbf152c23d7d484952121db0b36698cb/server.jar
wget זה להוריד.
אחרי ההורדה המוצלחת, אנו נפעיל את שרת המיינקראפט לראשונה!
cd ~/server
java -Xms512M -Xmx768M -jar server.jar nogui
מייד אחרי ההפעלה, השרת יוצר שני קבצים ואז לא עובד! למה? כי צריכים לשנות קובץ אחד שהוא קובץ "אני מסכים לכל התנאים שלכם ומוסר לכם את בני בכורי לעולה". שם הקובץ הוא eula.txt והוא יהיה בתיקית server. כדי לאשר את התנאים, אנו נכנס לקובץ ונשנה את "אני מסכים לכל השיט שלכם" ל-true. נכנסים לעורך הטקסט nano ועורכים את הקובץ כך:
nano ~/server/eula.txt
והקובץ צריך להראות כך. במקום false לכתוב true.
#By changing the setting below to TRUE you are indicating your agreement to our EULA (https://account.mojang.com/documents/minecraft_eula).
eula=true
אנו נעדכן את קובץ ההגדרות כדי שידע לעבוד עם כלי העזר rcon. נכנס אליו באמצעות nano :
nano ~/server/server.properties
ונוודא שיש בו את ההגדרות האלו:
rcon.port=25575
rcon.password=secured-password
enable-rcon=true
וכמובן שה-secured password צריך להיות סיסמה אמיתית ולא הקשקוש הזה.
אפשר גם להוסיף או לשנות הגדרות אחרות. לרשימת כל ההגדרות אפשר להגיע לפה.
ועכשיו נריץ שוב את השרת והוא יעבוד!
java -Xms512M -Xmx768M -jar server.jar nogui
שימו לב לפלאגים (flags, ככה קוראים למה שיש אחרי ה-) XMX ו-XMS. הם קובעים את גודל הזכרון שיש לשרת. XMS זה גודל הזכרון ההתחלתי שמוקצה לשרת ו-XMX זה גודל הזכרון המקסימלי. ככל שהם יותר גדולים, כך השרת ירוץ יותר בקלות ויוכל להריץ יותר משתמשים אבל ביצועי הרספברי פיי יסבלו.
התחברות לקונסולה של שרת המיינקראפט עם כלי העזר rcon
כלי העזר rcon משמש אותנו להזנת פקודות ישירות לשרת המיינקראפט, אנו מריצים אותו כך:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p strong-password -t
כדי לראות את הלוג של השרת בכל רגע נתון, אני מריץ tail על הלוג. ככה:
tail -f /opt/minecraft/server/logs/latest.log
השרת כסרוויס
הבעיה היא שאם יהיה לנו ריסטרט לרספברי פיי, אנחנו נהיה בבעיה. כי השרת יפול ונצטרך לפתוח אותו שוב ושוב. הכי טוב זה להכניס את יצירת השרת כ-service. מה זה אומר? זה אומר שהוא תמיד ירוץ. כמו למשל תוכנת אנטי וירוס שתמיד רצה ברקע גם אם אתם עושים ריסטרט למחשב. כל האייקונים הקטנים האלו בחלונות שיש ליד השעון? אז יש אותו הדבר בלינוקס. הם נקראים סרוויסים.
על מנת ליצור סרוויס, אנחנו צריכים להיות עם שם המשתמש הראשי, אם אנחנו בשם המשתמש minecraft, אנחנו יכולים לצאת אל סשן המשתמש המנהל באמצעות הפקודה exit.
אחרי כן, אנו ניצור קובץ בשם minecraft.service בתיקית /etc/systemd/system/ באמצעות הפקודה הזו:
sudo nano /etc/systemd/system/minecraft.service
אנו נכניס את הטקסט הזה לקובץ:
[Unit]
Description=Minecraft Server
After=network.target
[Service]
User=minecraft
Nice=1
KillMode=none
SuccessExitStatus=0 1
ProtectHome=true
ProtectSystem=full
PrivateDevices=true
NoNewPrivileges=true
WorkingDirectory=/opt/minecraft/server
ExecStart=/usr/bin/java -Xmx768M -Xms512M -jar server.jar nogui
ExecStop=/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p secured-password stop
[Install]
WantedBy=multi-user.target
שימו לב לשנות את הסיסמה של ה mcrcon וגם את ההגדרות של ה-XMX וה-XMS לפי הצורך.
נשמור ונצא ואז נפעיל את השירות עם:
sudo systemctl daemon-reload
sudo systemctl start minecraft
את הסטטוס של הסרוויס (אם הוא פעיל או לא), אפשר לבדוק בכל עת פה:
sudo systemctl status minecraft
עכשיו נגרום לרספברי פיי להריץ את השירות ככה תמיד:
sudo systemctl enable minecraft
זה הכל!
ניהול השרת באמצעות mcrcon
את השרת אפשר לנהל באמצעות שורת הפקודות של השרת. לי זה נשמע נורא מסובך ואז הבן הצעיר שלי, שהוא בן 10, אמר לי שזה קל. נכנסים אל השרת ככה:
/opt/minecraft/tools/mcrcon/mcrcon -H 127.0.0.1 -P 25575 -p secured-password -t
ואז אפשר להקליד פקודות ולשלוט על השרת כאדמין!!!111 כל הפקודות בצילום המסך הזה? נמסרו לי על ידי הבן הצעיר והזעיר. לא ייאמן.
פתיחת השרת אל העולם החיצון
זה כבר חלק מסוכן מעט יותר. שימו לב שברגע שאתם פותחים אותו החוצה, כל אחד יכול לנסות ולהכנס. אז צריך להזהר. מה שצריכים לעשות זה פורט פורוורדינג ברמת הנתב. עושים את זה בממשק הניהול של הנתב כאשר ממפים את מי שמנסה ל-IP החיצוני שלכם עם הפורט של מיינקראפט, אל ה-IP הפנימי של שרת הרספברי פיי.
אני לא מסביר במדריך זה איך לעשות זאת. אבל באמת גיגול קל של port forwrding יסייע.
לסיכום – זה טכני לבנות שרת מיינקראפט, אבל לא טכני מדי. יש לכם ילד שמת על מיינקראפט? רוצה לקחת את זה לדרגה הבאה ואולי גם לאפשר לחברים להתחבר לשרת משל עצמו? זו הדרך. בדרך הוא ילמד על נטוורקינג, איך עובדים עם לינוקס ואיך מפעילים CLI. שזה בדיוק מה שלמדנו כאן.
9 תגובות
עכשיו אני יותר רגוע כשהבן שלי שורף 36 שעות ביום על מיינקראפט
ביצענו את כל השלבים אבל כשמנסים להתחבר מהמשחק לשרת יש שגיאה "ההתחברות כשלה: מזהה הפעלה אינו תקין".
מה עשינו לא בסדר?
גם אני הייתי רוצה לדעת מה התשובה?! ראיתי שניתן לשנות את המשתנה online-mode=true
ל false בהגדרות של הקובץ server.properties אז מצליחים להתחבר. אבל אז השרת לא מוגן וכל אחד יכול להתחבר ללא מגבלת סיסמא, ולא מצאנו מדריך המשך לאיך להגדיר את זה. נראה שהמדריך פה בעברית הוא העתקה ותרגום של אתר אחר ולכן אין פה באמת את הקטע החשוב.
סתם לטובת פרסום והשגת כניסות של ילדי ישראל..
אכי טוב בעולם
אכי טוב בעולם שיש
לא כלכח אבנתי
סליחה על הבורות מה זה נותן? לשחק בחינם?
רז יש שלוש בעיות אפשריות שאני מכיר שאתה משחק בגרסת בדרוק (אפשר להבדיל בעזרת השם שיש למשחק) אפשרות שנייה שאני לא יודע למה יש אותה בכלל שהפיתרון ל זה להיכנס מחדש למשחק אופציה שלישית זה שפשוט אתה משחק מתבלט או שהמשחק בחינם כי אז אי אפשר להיתחבר לשרתים
אגב אני. בן שמונה מעודכן ל2023 ויש ל אתר