שלום, הבר! ליתר דיוק, נוכלים שמחפשים איך להגדיר שרת מיינקראפט לשחק עם חברים.
המאמר מיועד לא-מתכנתים, לא-sysadmins, באופן כללי, לא לקהל הראשי של Habr. המאמר מכיל הוראות שלב אחר שלב ליצירת שרת מיינקראפט עם IP ייעודי, המותאם לאנשים רחוקים מ-IT. אם זה לא קשור אליכם, עדיף לדלג על המאמר.
מה זה שרת?
אז מה זה שרת? אם נסתמך על המושג "שרת" כרכיב תוכנה, הרי שהשרת הוא תוכנה שיכולה לקבל, לעבד ולשדר נתונים המתקבלים ממשתמשים (לקוחות) שמחוברים לשרת זה. באמצעות האתר כדוגמה, האתר ממוקם בשרת אינטרנט כלשהו, שאליו אתה נכנס דרך דפדפן. במקרה שלנו, שרת המיינקראפט מייצר עולם אליו מתחברים שחקנים (לקוחות), שיכולים ללכת, לשבור בלוקים וכו'. שרת המיינקראפט אחראי לחיבור שחקנים וכל פעולה שלהם.
ברור שהשרת חייב לפעול על המחשב (המכונה). אתה יכול להגדיר שרת במחשב הביתי שלך, אבל במקרה זה:
- אתה מסכן את האבטחה של המחשב שלך על ידי פתיחת יציאות בו
- השרת יעשה עומס על המחשב שלך, מה שעלול להפריע לך לעבוד איתו
- אתה לא יכול לשמור על המחשב הביתי שלך פועל 24/7: לפעמים אתה מכבה אותו, לפעמים המחשב מאבד את החיבור לאינטרנט וכו'.
- כדי לגשת לשרת שלך מהעולם החיצון, תצטרך לגשת למחשב שלך דרך כתובת ה - IP, אשר עבור ספקי אינטרנט "ביתיים" הוא דינמי, כלומר, זה יכול להשתנות כל 2-3 ימים מסיבות שאינן בשליטתך.
ואיך פותרים את הבעיות הללו?
הפתרון לכל הבעיות הללו הוא להשתמש מכונה וירטואלית עם סטָטִי, כלומר, כתובת IP בלתי ניתנת לשינוי.
טרמינולוגיה מורכבת? בוא נבין את זה.
בואו נפנה לויקיפדיה.
Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...אם לנסח את זה במונחים גסים מאוד, זה מחשב בתוך מחשב. אפשר גם להתקין עליו מערכת הפעלה ולעבוד איתה כמו במחשב רגיל.
איפה אנחנו יכולים להשיג את זה?
התשובה פשוטה - . זוהי פלטפורמה המספקת שירותי ענן רבים ושונים שמועילים לכל מי שעובד עם האינטרנט ולא רק. כדי ליצור שרת מיינקראפט, אחד ממוצרי AWS מושלם - אמזון - מכונה וירטואלית בענן הזמינה 24/7. AWS מציעה מינימום מכונה וירטואלית (10GB SSD, 1GB RAM) חינם למשך שנה, בנוסף, מאפשר לאגד כתובת IP ייעודית (סטטית) בחינם לגישה קבועה ל-VM שלך (מכונה וירטואלית) באותה כתובת.
אנו יוצרים ומגדירים VM
Перейдите на сайт ולהירשם. לאחר מכן עבור אל מסוף הניהול.

במסוף, בין השירותים, מצא EC2 וללכת אליו.
חשוב לבחור מרכז נתונים, במילים פשוטות, המקום בו נמצאים שרתי אמזון. כדאי לבחור בהתאם למיקומכם, כי מהירות התקשורת באינטרנט משתנה, וכדאי לבחור ב-Data Center איתו התקשורת מהעיר שלכם תהיה מהירה ככל האפשר.

כדי לבחור מרכז נתונים, אני ממליץ להשתמש בשירות , המודד את מהירות השידור של מנות עם ערים אחרות.
במקרה שלי (מוסקבה), מרכז הנתונים האירי התאים לי.
הגיע הזמן ליצור מכונה וירטואלית. כדי לעשות זאת, עבור אל הכרטיסייה הפעל מופע

בואו נתחיל להגדיר את ה-VM.
1) בחר את תמונת מערכת ההפעלה. לינוקס מאוד נוחה להעלאת שרתים; אנו נשתמש בערכת ההפצה CentOS7
יש לציין שלא תהיה סביבה גרפית במחשב הוירטואלי שלך; הגישה למחשב תהיה דרך המסוף. זה כרוך בשליטה ב-VM באמצעות פקודות ולא בעכבר מחשב. אל תפחד מזה: זה לא אמור לעצור אותך עכשיו או לוותר על הרעיון להעלות שרת מיינקראפט משלך כי זה "קשה מדי". העבודה עם המכונה דרך הקונסולה אינה קשה - בקרוב תראה בעצמך.

2) עכשיו בואו נגדיר את התצורה הטכנית של ה-VM. לשימוש חופשי, אמזון מציעה את התצורה t2.micro, לא מספיק לשרת מיינקראפט גדול מן המניין, אבל מספיק כדי לשחק עם חברים.

3) השאר את שאר ההגדרות כברירת מחדל, אך עצור בכרטיסייה הגדר קבוצות אבטחה.

כאן עלינו להגדיר גישה ליציאות עבור שרת minecraft.
במילים פשוטות, פורט הוא מספר לא שלילי המציין למי מופנים נתונים נכנסים מהעולם החיצון. VM יכול לארח שירותים ושרתים רבים ושונים, כך שכל מנות הנתונים הנכנסות מאחסנות את היציאה (מספר) של היעד (שירות, שרת) בתוך ה-VM בכותרת שלהן.
עבור שרתי מיינקראפט, הסטנדרט דה פקטו הוא להשתמש בפורט 25565. בוא נוסיף כלל המציין שהגישה ל-VM שלך דרך יציאה זו מקובלת.


אנו עוברים לחלון להשלמת יצירת ה-VM על ידי לחיצה על הכפתור סקור והפעל
הגדרת זוג מפתחות SSH עבור VM
אז, החיבור למכונה יתבצע באמצעות פרוטוקול SSH.
פרוטוקול SSH פועל באופן הבא: נוצר זוג מפתחות (ציבורי ופרטי), המפתח הציבורי נשמר ב-VM והמפתח הפרטי נשמר במחשב של המתחבר ל-VM (לקוח). בעת החיבור, ה-VM בודק שללקוח יש מפתח פרטי מתאים.
לחץ על הכפתור לשגר. החלון הבא יופיע לפניכם:

הזן את שם צמד המפתחות (לנוחותך) ולחץ הורד זוג מפתחות. כדאי להוריד .pem קובץ המכיל את המפתח הפרטי שלך. לחץ על הכפתור הפעל מקרים. זה עתה יצרת מכונה וירטואלית עליה השרת יותקן.
מקבל IP סטטי
כעת עלינו להשיג ולקשר IP סטטי ל-VM שלנו. עבור תפריט זה אנו מוצאים את הכרטיסייה IP אלסטי ואנחנו נעים לאורכו. בכרטיסייה, לחץ על הכפתור הקצאת כתובת IP אלסטית ולקבל IP סטטי.

כעת כתובת ה-IP שהתקבלה חייבת להיות משויכת ל-VM שלנו. לשם כך, בחר אותו מהרשימה ובתפריט פעולות בחר שייך כתובת IP

לאחר מכן, נקשר את ה-VM לכתובת ה-IP שלנו

בוצע!
אנחנו הולכים ל-VM
כעת, כשה-VM מוגדר וכתובת ה-IP מוקצית, בואו נתחבר אליו ונתקין את שרת המיינקראפט שלנו.
כדי להתחבר ל-VM דרך SSH נשתמש בתוכנית . התקן את PuTTYgen מיד מדף זה
לאחר התקנת PuTTY, פתח אותו. כעת עליך להגדיר את החיבור.

- בכרטיסייה מוֹשָׁב בחר סוג חיבור SSH, נמל 22. ציין שם לחיבור. שם המארח לחיבור באמצעות SSH הוא מחרוזת כמו:
имя_пользователя@публичный_dns.
שם משתמש AWS עבור CentOS כברירת מחדל - centos. ניתן לצפות ב-DNS הציבורי שלך כאן:

קיבלתי את הקו centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com
- בכרטיסייה SSH -> Auth הזן את מפתח ה-SSH הפרטי שלך. זה מאוחסן בקובץ
.pem, שהורדנו קודם לכן. אבל PuTTY לא יכול לעבוד עם קבצים.pem, הוא צריך פורמט.ppk. להמרה נשתמש ב-PuTTYgen. . קובץ שהתקבל.ppkנשמור ונציין כאן:

- אנו מתחברים ל-VM על ידי פתיחת החיבור עם הכפתור להרחיב.
מזל טוב! זה עתה התחברנו לקונסולת ה-VM שלך. כל מה שנותר הוא להתקין עליו את השרת שלנו.
התקנה והגדרה של שרת minecraft
בואו נתחיל להגדיר את השרת שלנו. ראשית, עלינו להתקין מספר חבילות ב-VM שלנו.
sudo yum install -y wget mc iptables iptables-services java screenבואו להבין למה מיועדת כל אחת מהחבילות.
- wget - כלי להורדת קבצים בלינוקס. באמצעותו נוריד את קבצי השרת.
- mc - עורך טקסט מסוף. זה פשוט וקל לשימוש עבור משתמש לא מאומן.
- iptables - כלי עזר לניהול והגדרת חומת אש, בעזרתו נפתח פורט לשרת ב-VM שלנו.
- תאווה - minecraft פועל על java, ולכן השרת צריך לעבוד
- מסך - מנהל חלונות עבור לינוקס. זה יאפשר לנו לשכפל את הקונסולה שלנו כדי להעלות את השרת. העובדה היא שיש להפעיל את השרת דרך המסוף; אם תתנתק מה-VM שלך, תהליך השרת יופסק. לכן, נריץ אותו בחלון מסוף נפרד.
עכשיו בואו נגדיר את חומת האש.
חומת אש היא רכיב תוכנה או חומרה-תוכנה של רשת מחשבים השולט ומסנן את תעבורת הרשת העוברת דרכה בהתאם לכללים שצוינו. (ויקיפדיה)
כדי להסביר במילים פשוטות: דמיינו עיר מבוצרת. הוא מותקף כל הזמן מבחוץ, בעוד החיים הרגילים נמשכים בעיר. כדי לגשת לעיר ישנו שער בחומת המבצר, בו עומדים שומרים ובודקים מרשימות האם ניתן להכניס אדם זה למצודה. תפקידם של קיר ושער ברשתות מחשבים מתבצע על ידי חומת אש.
sudo mcedit /etc/sysconfig/iptablesזה עתה יצרנו קובץ תצורה של חומת אש. בואו נמלא אותו בנתוני תצורה סטנדרטיים, כולל כלל עבור היציאה 25565, שהיא היציאה הסטנדרטית עבור שרת minecraft.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 25565 -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMITסגור את הקובץ על ידי לחיצה F10, שומר את השינויים.

עכשיו בואו נפעיל את חומת האש ונאפשר אותה בהפעלה:
sudo systemctl enable iptables
sudo systemctl restart iptablesנאחסן את קבצי השרת בתיקייה נפרדת, ניצור אותה, נעבור אליה ונוריד את קבצי השרת. לשם כך עליך להשתמש wget
mkdir minecraft
cd minecraft
wget <ссылка_на_jar>צריך למצוא לינק ישיר להורדה .jar קובץ שרת. לדוגמה, קישור לקובץ שרת גרסה 1.15.2:
wget https://launcher.mojang.com/v1/objects/bb2b6b1aefcd70dfd1892149ac3a215f6c636b07/server.jarהצג את התוכן של תיקיה באמצעות הפקודה ls, ודא שהקבצים יורדים.

בואו נפעיל את קובץ השרת. כעת השרת לא יעבוד: הוא יצור את כל הקבצים הדרושים לעבודה, ויתלונן שלא הסכמת לתנאי רישיון EULA. קבל את התנאים על ידי פתיחת הקובץ eula.txt
sudo mcedit eula.txtאשר את הסכמתך על ידי שינוי הערך ל:
eula=trueפתח את הקובץ server.properties: זהו קובץ תצורת השרת שלך.
יש לבצע בו את השינוי הבא:
online-mode=falseשאר ההגדרות נתונות לשיקולך.
הפעלת השרת
הגיע הזמן להפעיל את השרת. כפי שכבר אמרתי, השרת מתחיל ישירות מהמסוף, אבל אם נסגור את הקונסולה הראשית, תהליך השרת יופסק. לכן, בואו ניצור קונסולה נוספת:
screenבואו נתחיל את השרת במסוף הזה:
sudo java -Xms512M -Xmx1024M -jar <название_файла_сервера>.jar --noguiהשרת מתחיל בעוד כ-45 שניות, אל תפריע לתהליך. כאשר השרת מאותחל ופועל, תראה משהו כמו:

מזל טוב! זה עתה הפעלת את שרת המיינקראפט שלך. כעת חשוב לצאת נכון מהקונסולה השנייה כך שהיא תמשיך לעבוד עם השרת הפועל. כדי לעשות זאת, לחץ Ctrl+Aאז D. אתה צריך להיות במסוף הראשי ולראות הודעה כמו [detached from 1551.pts-0.ip-172-31-37-146]. אם אתה צריך לחזור למסוף שבו השרת פועל, השתמש screen -r
כעת תוכל להתנתק מה-VM שלך. השרת שלך יהיה נגיש דרך כתובת ה-IP הסטטית שקיבלנו קודם לכן, ביציאה 25565.

מסתבר שהכתובת לכניסה לשרת תהיה <ваш_статический_IP>:25565.
מסקנה
באמצעות הוראות אלה, אתה יכול בקלות להגדיר שרת minecraft בחינם עם IP ייעודי. המאמר נכתב בשפה הפשוטה ביותר האפשרית ומיועד ללא מומחים. בעניין זה, מעניין לשמוע את הערותיהם של העסוקים, כי כאשר מפשטים את החומר, ניתן לעשות טעויות עובדתיות בטרמינולוגיה.
מקור: www.habr.com
