שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

שלום, הבר! ליתר דיוק, נוכלים שמחפשים איך להגדיר שרת מיינקראפט לשחק עם חברים.

המאמר מיועד לא-מתכנתים, לא-sysadmins, באופן כללי, לא לקהל הראשי של Habr. המאמר מכיל הוראות שלב אחר שלב ליצירת שרת מיינקראפט עם IP ייעודי, המותאם לאנשים רחוקים מ-IT. אם זה לא קשור אליכם, עדיף לדלג על המאמר.

מה זה שרת?

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

ברור שהשרת חייב לפעול על המחשב (המכונה). אתה יכול להגדיר שרת במחשב הביתי שלך, אבל במקרה זה:

  • אתה מסכן את האבטחה של המחשב שלך על ידי פתיחת יציאות בו
  • השרת יעשה עומס על המחשב שלך, מה שעלול להפריע לך לעבוד איתו
  • אתה לא יכול לשמור על המחשב הביתי שלך פועל 24/7: לפעמים אתה מכבה אותו, לפעמים המחשב מאבד את החיבור לאינטרנט וכו'.
  • כדי לגשת לשרת שלך מהעולם החיצון, תצטרך לגשת למחשב שלך דרך כתובת ה - IP, אשר עבור ספקי אינטרנט "ביתיים" הוא דינמי, כלומר, זה יכול להשתנות כל 2-3 ימים מסיבות שאינן בשליטתך.

ואיך פותרים את הבעיות הללו?

הפתרון לכל הבעיות הללו הוא להשתמש מכונה וירטואלית עם סטָטִי, כלומר, כתובת IP בלתי ניתנת לשינוי.

טרמינולוגיה מורכבת? בוא נבין את זה.
בואו נפנה לויקיפדיה.

Виртуальная машина (VM, от англ. virtual machine) — программная и/или аппаратная система, эмулирующая аппаратное обеспечение некоторой платформы...

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

איפה אנחנו יכולים להשיג את זה?

התשובה פשוטה - AWS. זוהי פלטפורמה המספקת שירותי ענן רבים ושונים שמועילים לכל מי שעובד עם האינטרנט ולא רק. כדי ליצור שרת מיינקראפט, אחד ממוצרי AWS מושלם - אמזון - מכונה וירטואלית בענן הזמינה 24/7. AWS מציעה מינימום מכונה וירטואלית (10GB SSD, 1GB RAM) חינם למשך שנה, בנוסף, מאפשר לאגד כתובת IP ייעודית (סטטית) בחינם לגישה קבועה ל-VM שלך (מכונה וירטואלית) באותה כתובת.

אנו יוצרים ומגדירים VM

Перейдите на сайт AWS ולהירשם. לאחר מכן עבור אל מסוף הניהול.

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

במסוף, בין השירותים, מצא EC2 וללכת אליו.

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

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

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

הגיע הזמן ליצור מכונה וירטואלית. כדי לעשות זאת, עבור אל הכרטיסייה הפעל מופע

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

בואו נתחיל להגדיר את ה-VM.

1) בחר את תמונת מערכת ההפעלה. לינוקס מאוד נוחה להעלאת שרתים; אנו נשתמש בערכת ההפצה CentOS7

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

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

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

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

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

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

כאן עלינו להגדיר גישה ליציאות עבור שרת minecraft.

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

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

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

אנו עוברים לחלון להשלמת יצירת ה-VM על ידי לחיצה על הכפתור סקור והפעל

הגדרת זוג מפתחות SSH עבור VM

אז, החיבור למכונה יתבצע באמצעות פרוטוקול SSH.

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

לחץ על הכפתור לשגר. החלון הבא יופיע לפניכם:

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

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

מקבל IP סטטי

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

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

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

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

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

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

בוצע!

אנחנו הולכים ל-VM

כעת, כשה-VM מוגדר וכתובת ה-IP מוקצית, בואו נתחבר אליו ונתקין את שרת המיינקראפט שלנו.

כדי להתחבר ל-VM דרך SSH נשתמש בתוכנית מרק. התקן את PuTTYgen מיד מדף זה

לאחר התקנת PuTTY, פתח אותו. כעת עליך להגדיר את החיבור.

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

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

שם משתמש AWS עבור CentOS כברירת מחדל - centos. ניתן לצפות ב-DNS הציבורי שלך כאן:

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

קיבלתי את הקו centos@ec2-54-246-186-12.eu-west-1.compute.amazonaws.com

  1. בכרטיסייה SSH -> Auth הזן את מפתח ה-SSH הפרטי שלך. זה מאוחסן בקובץ .pem, שהורדנו קודם לכן. אבל PuTTY לא יכול לעבוד עם קבצים .pem, הוא צריך פורמט .ppk. להמרה נשתמש ב-PuTTYgen. הוראות המרה מאתר PuTTYgen. קובץ שהתקבל .ppk נשמור ונציין כאן:

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

  1. אנו מתחברים ל-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, שומר את השינויים.

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

עכשיו בואו נפעיל את חומת האש ונאפשר אותה בהפעלה:

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, ודא שהקבצים יורדים.

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

בואו נפעיל את קובץ השרת. כעת השרת לא יעבוד: הוא יצור את כל הקבצים הדרושים לעבודה, ויתלונן שלא הסכמת לתנאי רישיון EULA. קבל את התנאים על ידי פתיחת הקובץ eula.txt

sudo mcedit eula.txt

אשר את הסכמתך על ידי שינוי הערך ל:

eula=true

פתח את הקובץ server.properties: זהו קובץ תצורת השרת שלך. עוד על הגדרות שרת

יש לבצע בו את השינוי הבא:

online-mode=false

שאר ההגדרות נתונות לשיקולך.

הפעלת השרת

הגיע הזמן להפעיל את השרת. כפי שכבר אמרתי, השרת מתחיל ישירות מהמסוף, אבל אם נסגור את הקונסולה הראשית, תהליך השרת יופסק. לכן, בואו ניצור קונסולה נוספת:

screen

בואו נתחיל את השרת במסוף הזה:

 sudo java -Xms512M -Xmx1024M -jar <название_файла_сервера>.jar --nogui

השרת מתחיל בעוד כ-45 שניות, אל תפריע לתהליך. כאשר השרת מאותחל ופועל, תראה משהו כמו:

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

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

כעת תוכל להתנתק מה-VM שלך. השרת שלך יהיה נגיש דרך כתובת ה-IP הסטטית שקיבלנו קודם לכן, ביציאה 25565.

שרת minecraft בחינם ב-AWS עם אפס ידע בלינוקס

מסתבר שהכתובת לכניסה לשרת תהיה <ваш_статический_IP>:25565.

מסקנה

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

מקור: www.habr.com

קנה אירוח אמין לאתרים עם הגנת DDoS, שרתי VPS VDS 🔥 קנה אחסון אתרים אמין עם הגנת DDoS, שרתי VPS VDS | ProHoster