איך מפעילים מצב אופליין בשרת Minecraft (שחקנים ללא חשבון / cracked)
בעמוד הזה
חבר לא קונה כלום, מפעיל את Minecraft, מקליד את הכתובת שלכם — ומועף. זה לא באג בשרת שלכם. כברירת מחדל, שרת Minecraft בודק כל התחברות מול שרתי החשבונות של Mojang, ושחקן בלי חשבון קנוי פשוט נכשל בבדיקה הזו.
מצב אופליין הוא ההגדרה הרשמית של השרת שמכבה את הבדיקה. היא מגיעה עם Minecraft ה-vanilla, מסתכמת בשורה אחת בקובץ הגדרות, וזו בדיוק אותה הגדרה שמשמשת למסיבות LAN, לרשתות בלי גישה לאינטרנט ולשרתים שיושבים מאחורי proxy. המדריך הזה מראה בדיוק איך מפעילים אותה, מה משתנה עבור השחקנים שלכם, ו — החלק שרוב המדריכים מדלגים עליו — איך לא לאבד את השליטה על השרת אחרי שעשיתם את זה.
התשובה הקצרה: שלושה צעדים למצב אופליין
החברים שלכם בלי חשבון Minecraft יוכלו להתחבר ברגע שהשרת יפסיק לאמת התחברויות מול Mojang. שלושה צעדים, בערך דקה:
- עצרו את השרת. עצירה מלאה, לא הפעלה מחדש — שרת שרץ כותב בכיבוי את העותק שלו של ההגדרות מעל שלכם.
- פתחו את
server.propertiesוהגדירו שתי שורות. הקובץ יושב בתיקיית השורש של השרת, באותו מקום שבו נמצא קובץ ה-jar של השרת:online-mode=false enforce-secure-profile=false
שתיהן חשובות. ב-Minecraft 1.19 ומעלה, שינוי הראשונה בלבד לא מספיק. - שמרו, ואז הפעילו את השרת. שחקנים ללא חשבון קנוי מתחברים עכשיו לאותה כתובת כמו כולם.
מה מצב אופליין באמת עושה
כששחקן מתחבר לשרת רגיל, השרת שואל את שרתי ה-session של Mojang: "האם זה באמת החשבון שמאחורי שם המשתמש הזה?" Mojang עונה, ההתחברות מאושרת, וזהות השחקן מוכחת. זהו מצב אונליין, וזו ברירת המחדל.
מצב אופליין מוותר על השאלה הזו. השרת מקבל כל שם משתמש שהלקוח שולח ולא פונה ל-Mojang בכלל. שום דבר לא עובר patch, פריצה או שינוי — אתם מדליקים מתג ש-Mojang שמה בשרת ה-vanilla בכוונה, כי יש לא מעט הגדרות לגיטימיות שזקוקות לו:
- שרתי LAN ואירועים שרצים בלי חיבור לאינטרנט בכלל, שם בדיקת Mojang הייתה נכשלת לכולם.
- רשתות מאחורי proxy, שבהן BungeeCord או Velocity מבצעים את האימות פעם אחת בכניסה, והשרתים שמאחוריהם לא אמורים לחזור עליו.
- סביבות מבודדות או מאחורי חומת אש — שרתי בדיקות, רשתות בתי ספר ומשרדים, מכונות מנותקות מהרשת.
- לשחק עם חברים שעדיין לא קנו את המשחק, וזו הסיבה שרוב האנשים הגיעו לכאן.
מה שזה לא עושה זה להפוך את ההגדרה לחסרת השלכות. התחברויות מאומתות הן הדבר היחיד שעומד בין השרת שלכם לבין מישהו שמקליד את שם המשתמש של המנהל שלכם, ולכן ברירת המחדל online-mode=true קיימת מסיבה טובה ונשארת ההחלטה הנכונה לשרת ציבורי רגיל — ראו למה ברירת המחדל הזו קיימת. המדריך הזה מיועד למקרה שבו החלטתם שאתם צריכים לכבות אותה, וכל השאר עוסק בלעשות את זה בלי למסור את השרת למישהו אחר.
server.properties לא יכניס אותם לשרת Java. מה שאתם צריכים זה גשר ל-Bedrock: ראו משחק משותף בין Java ל-Bedrock עם Geyser.איך מפעילים את זה בפאנל של HytHost, שלב אחר שלב
אין לזה מתג בלשונית Startup של הפאנל — מצב אופליין חי בקובץ ההגדרות של השרת עצמו, אז עורכים אותו ישירות. כל העבודה לוקחת דקה:
- עצרו את השרת. השתמשו ב-Stop, לא ב-Restart. שרת Minecraft פעיל מחזיק את ההגדרות שלו בזיכרון וכותב אותן חזרה לדיסק בכיבוי, כך ששינוי שנעשה בזמן שהוא רץ נדרס בשקט. זו הסיבה הנפוצה ביותר לכך שאנשים חושבים שהשינוי "לא נשמר".
- פתחו את לשונית Files. אתם נוחתים ישר בתיקיית השורש של השרת — באותו מקום שבו נמצאים
server.properties, תיקייתpluginsותיקיית העולם. - לחצו על
server.propertiesכדי לערוך אותו. הוא נפתח בעורך הטקסט המובנה של הפאנל — רשימה פשוטה של הגדרות, אחת בכל שורה, בסדר אלפביתי. - מצאו את
online-modeוהגדירו אותו ל-false. שנו אתonline-mode=trueל-online-mode=false. בלי מרכאות, בלי רווחים סביב סימן השוויון, ובלי עותק שני של השורה. - מצאו את
enforce-secure-profileוהגדירו גם אותו ל-false. אם השורה בכלל לא קיימת בקובץ שלכם — דבר נפוץ בעולמות ישנים שנוצרו לפני Minecraft 1.19 — פשוט הוסיפוenforce-secure-profile=falseבשורה נפרדת בסוף. - שמרו, ואז הפעילו את השרת. עקבו אחרי הקונסולה בזמן העלייה. שורה שמציינת שהשרת רץ במצב אופליין היא האישור שלכם שזה תפס.
enforce-secure-profile. Minecraft 1.19 הוסיפה חתימה על הצ'אט, וההגדרה הזו קובעת אם השרת דורש מכל שחקן פרופיל חתום על ידי Mojang. ברירת המחדל שלה היא true, והיא נבדקת בנפרד מ-online-mode — כך ששרת עם online-mode=false שעדיין אוכף פרופילים מאובטחים יעלה בצורה מושלמת, ייראה תקין, ואז ידחה כל שחקן ללא חשבון קנוי בהתחברות. זו בפער גדול הסיבה הנפוצה ביותר לכך שמצב אופליין "לא עובד".server.properties יושב ליד ה-server.jar שלכם — עצרו את השרת, ערכו בכל עורך טקסט, שמרו, והפעילו שוב.שנו כל הגדרה שתרצו: שרת Minecraft של HytHost נותן לכם מנהל קבצים מלא, קונסולה חיה וגיבויים בלחיצה אחת כדי לבטל הכול.
לצפייה בחבילות Minecraftאבטחה: במצב אופליין, כל אחד יכול להיות כל אחד
זה הפרק שכדאי לקרוא פעמיים. כל שאר המדריך הוא שינוי הגדרות; זה החלק שקובע אם השרת שלכם ישרוד להיות ציבורי.
מה באמת משתנה
כשהאימות כבוי, שם משתמש כבר לא מוכיח כלום — הוא סתם מחרוזת שהלקוח שולח. כל מי שמכיר את הכתובת שלכם יכול להתחבר ולטעון שהוא אתם, או השותף שלכם, או המנהל הראשי. ומכיוון שרוב מערכות ההרשאות מעניקות זכויות לפי שם, מתחזה בכלל לא צריך לפרוץ: השרת מוסר לו את הזכויות ברגע שהוא נכנס. אם נתתם לעצמכם op לפי שם משתמש, מישהו אחר שיקליד את השם הזה יגיע עם op.
זו לא תיאוריה. כתובת ציבורית במצב אופליין בלי תוסף אימות היא אחד השרתים הכי קלים להשתלטות באינטרנט, והתוצאה הרגילה היא עולם מחוק וכל הדרגות מחולקות מחדש. הפתרון לא מסובך, אבל הוא גם לא אופציונלי.
התקינו את AuthMe Reloaded
תוסף אימות מציב סיסמה לפני כל שם משתמש. השחקנים נרשמים פעם אחת, מתחברים בכל סשן, והשם באמת הופך לשלהם — התחזות מפסיקה לעבוד כי ידיעת השם כבר לא מספיקה. AuthMe Reloaded הוא הסטנדרט הוותיק לזה ועובד על Paper ועל Spigot.
- הורידו את קובץ ה-JAR מהעמוד הרשמי והעלו אותו לתיקיית
pluginsשל השרת — בדיוק כמו כל תוסף אחר, שלב אחר שלב באיך מתקינים תוספים ב-Minecraft. - הפעילו מחדש את השרת כדי שהתוסף ייטען ויכתוב את קובץ ההגדרות שלו.
- פתחו את
plugins/AuthMe/config.ymlוהדקו את ברירות המחדל. אלה ארבע ההגדרות החשובות ביותר:settings: restrictions: timeout: 30 maxRegPerIp: 2 allowChat: false security: minPasswordLength: 8זה נותן לשחקנים 30 שניות להתחבר לפני שהם מועפים, מגביל כמה חשבונות אפשר ליצור מאותה כתובת, מונע משחקנים לא מאומתים לדבר בצ'אט, ופוסל סיסמאות קצרות מדי. - לימדו את השחקנים שתי פקודות. בכניסה הראשונה:
/registerעם הסיסמה שבחרו, פעמיים. בכל כניסה אחריה:/loginעם אותה סיסמה. עד שיעשו זאת הם לא יכולים לזוז, לבנות או לכתוב בצ'אט.
תנו הרשאות לפי קבוצה, לא לפי שם
op הוא מתג הכול-או-כלום שקשור לשם משתמש, וזו בדיוק הצורה הלא נכונה לשרת במצב אופליין. השתמשו בתוסף הרשאות ותנו דרגות לקבוצות, כך שגם התחזות מוצלחת לא תגיע עם כוח ברמת קונסולה. המדריך שלנו על דרגות צוות אמיתיות מעבר ל-op מסביר איך מקימים את זה.
מה השחקנים שלכם ירגישו: UUID חדשים וסקינים חסרים
שני דברים משתנים לכל מי שנמצא בשרת ברגע המעבר, ושניהם הרבה יותר קלים לטיפול לפני שמשנים את ההגדרה מאשר אחרי.
כל שחקן מקבל זהות חדשה
Minecraft מזהה שחקנים לפי UUID, לא לפי השם. במצב אונליין ה-UUID מונפק על ידי Mojang ושייך לחשבון. במצב אופליין אין חשבון לשאול, ולכן השרת מייצר אותו מתוך שם המשתמש — כלומר אותו שחקן מקבל UUID שונה לגמרי בהתאם למצב שבו השרת נמצא.
מבחינת השרת שלכם זה לא אותו אדם. כל מה שהיה קשור ל-UUID הישן נותר יתום: מלאי, תיבות ender, הישגים, נקודות spawn, יתרות של תוספים, בתים, תביעות קרקע ושיוך לקבוצות הרשאה. העולם עצמו בסדר גמור ושום דבר לא נמחק — הנתונים פשוט מחוברים לזהות שאף אחד כבר לא מתחבר איתה.
יש כאן השלכה שנייה שכדאי להבין: מכיוון שה-UUID נגזר מהשם, מי שמקליד את השם מחזיק בנתונים שקשורים אליו. זו אותה בעיית התחזות מהפרק הקודם, במבט מהצד השני, וזו הסיבה הנוספת לכך שתוסף אימות אינו אופציונלי.
סקינים מפסיקים להיטען
סקינים מגיעים משרתי Mojang וקשורים לחשבון מאומת. בלי אימות אין סקין, ולכן כולם מופיעים כ-Steve או Alex המוגדרים כברירת מחדל. SkinsRestorer פותר את זה: התקינו כמו כל תוסף אחר, הפעילו מחדש, והשחקנים בוחרים סקין בעצמם עם /skin set ואחריו שם משתמש. ברשת עם proxy התקינו אותו על ה-proxy ולא על כל שרת שמאחוריו.
רשתות proxy: BungeeCord ו-Velocity
אם אתם מריצים רשת — לובי, ועוד שרת הישרדות, ועוד שרת מיני-משחקים, הכול מאחורי כתובת אחת — התמונה משתנה, וכדאי לדייק, כי כאן מצב אופליין מוגדר לא נכון לעתים קרובות במיוחד.
ברשת, השרתים שמאחורי ה-proxy רצים בדרך כלל עם online-mode=false גם כשהרשת כולה פתוחה רק לחשבונות קנויים. כך זה תוכנן: ה-proxy מבצע את בדיקת Mojang פעם אחת בכניסה ואז מעביר הלאה שחקן שכבר אומת. חזרה על הבדיקה בכל שרת אחורי הייתה נכשלת. לכן שרת אחורי שמוגדר online-mode=false אינו רשת במצב אופליין — הוא רשת רגילה ומוגדרת נכון.
השאלה אם הרשת שלכם פתוחה רק לחשבונות קנויים או גם לשחקנים ללא חשבון נקבעת ב-proxy, בקובץ ההגדרות של ה-proxy עצמו: config.yml עבור BungeeCord, velocity.toml עבור Velocity. ב-HytHost, proxy שמותקן מלשונית Version של הפאנל נכתב עם מצב אונליין מופעל ברמת ה-proxy, כך שזה הקובץ שצריך לערוך — לא השרתים האחוריים.
online-mode=false בוטח בכל זהות שמגיעה אליו, כך שאם שחקן מצליח להגיע אליו בלי לעבור דרך ה-proxy, הוא מגיע בתור מי שבא לו. ההגנה איננה הסתרה — היא ה-forwarding secret. ה-modern forwarding של Velocity חותם על נתוני השחקן שה-proxy שולח, והשרת האחורי דוחה כל דבר לא חתום; הגדירו את אותו secret בשני הצדדים והתחברויות ישירות יפסיקו לעבוד. ל-legacy forwarding של BungeeCord אין חתימה כזו, ולכן רשתות שמריצות אותו מוסיפות תוסף כמו BungeeGuard כדי לקבל שקילות.עוד פרט אחד ב-Velocity אם אתם מריצים רשת פתוחה לשחקנים ללא חשבון: ל-enforce-secure-profile יש תאום בצד ה-proxy בשם force-key-authentication בתוך velocity.toml. כיבוי ההגדרה בשרת האחורי בזמן שהגדרת ה-proxy נשארת דלוקה מייצר בדיוק את אותה תופעה — שחקנים נדחים בהתחברות מסיבה שהלוגים של השרת מתארים כבעיית פרופיל.
לבדוק, ולתקן את מה שנשבר
הבדיקה היחידה שנחשבת היא בדיקה אמיתית: בקשו מחבר בלי חשבון קנוי להתחבר לכתובת שלכם. אם הקונסולה מדפיסה שורה עם שמו כשהוא נכנס, זה עובד. כל מה שלמטה הוא מה לבדוק כשזה לא קורה.
| מה השחקן רואה | מה זה אומר | פתרון |
|---|---|---|
| אימות שם המשתמש נכשל | השרת עדיין בודק מול Mojang | online-mode עדיין true, או שהעריכה לא נשמרה — בדקו את הקובץ שוב כשהשרת עצור |
| הודעה על מפתח פרופיל חסר או לא תקין, או על שרת שדורש פרופילים מאובטחים | מצב אופליין דלוק, אבל חתימת הצ'אט עדיין נאכפת | הגדירו enforce-secure-profile=false — הוסיפו את השורה אם היא לא קיימת בקובץ |
| השרת לא מופיע או שהחיבור נכשל בזמן | לא קשור למצב אופליין | בעיית חיבור או כתובת — השרת פשוט לא נגיש |
| כולם Steve או Alex | צפוי במצב אופליין | התקינו SkinsRestorer |
| פריטים ודרגות ישנים נעלמו | ה-UUID השתנו יחד עם המצב | שחזרו את הגיבוי שמלפני המעבר, או חלקו דרגות מחדש והשלימו עם האיפוס |
השינוי לא נשמר
כמעט תמיד אחד משלושה דברים. ערכתם את הקובץ בזמן שהשרת רץ, והוא דרס את השינוי בכיבוי — עצרו קודם, ואז ערכו. או שהתקנה מחדש, החלפת גרסה או התקנת modpack הניחו server.properties חדש, ואז פשוט הגדירו שוב את שתי השורות. או שערכתם עותק אחר של הקובץ מזה שהשרת באמת קורא, מה שקורה בהגדרות עם יותר מתיקיית שרת אחת. למען הסדר: הפאנל עצמו לא כותב מחדש את שתי השורות האלה בעלייה — הוא מנהל רק את רשומות ה-IP והפורט של השרת, כך ששינוי שנשמר בשרת עצור נשאר שמור.
תוסף מסרב להיטען
קומץ תוספים — בעיקר כאלה שעוסקים בחשבונות, בדרגות או בכלכלה — בודקים את מצב השרת בעלייה ומסרבים להיטען במצב אופליין, או מתריעים על כך בקול רם. קראו את ההודעה בקונסולה במקום לנחש: חלקם רק צריכים אפשרות בהגדרות שמאשרת מצב אופליין, אחרים באמת תלויים ב-UUID של Mojang ויש להם חלופה שמתאימה לאופליין. כל דבר ששומר נתונים פר-שחקן ירצה שתוסף האימות שלכם ייטען קודם, אז שמרו על AuthMe בראש רשימת ההתקנה במקום להוסיף אותו אחרון.
מצב אופליין הוא הגדרה נתמכת בשרת Minecraft של HytHost, והפאנל נותן לכם מנהל קבצים, קונסולה וגיבויים בלחיצה אחת כדי לשנות אותה בבטחה ולחזור אחורה אם התוצאה לא מוצאת חן בעיניכם. אם Minecraft הוא משחק שאתם חוזרים אליו שוב ושוב, הרכישה היא מה שממשיכה לממן את הפיתוח שלו — אבל זו החלטה שלכם, לא הטפה שלנו.
שאלות נפוצות
עצרו את השרת, פתחו את server.properties בתיקיית השורש של השרת, הגדירו online-mode=false ו-enforce-secure-profile=false, שמרו והפעילו אותו שוב. שחקנים ללא חשבון Minecraft קנוי יוכלו אז להתחבר לכתובת הרגילה שלכם. לפני שאתם פותחים את השרת לציבור, התקינו תוסף אימות — במצב אופליין שמות משתמש אינם מאומתים, כך שכל אחד יכול להתחבר בתור כל אחד.
כמעט תמיד בגלל ש-enforce-secure-profile עדיין מוגדר true. Minecraft 1.19 הוסיפה חתימה על הצ'אט, וההגדרה הזו נבדקת בנפרד מ-online-mode — כך שהשרת עולה ונראה תקין, אבל עדיין דוחה שחקנים בלי פרופיל חתום על ידי Mojang. הגדירו גם אותה ל-false, והוסיפו את השורה בעצמכם אם היא לא קיימת בקובץ. הסיבה הנפוצה השנייה היא עריכת הקובץ בזמן שהשרת רץ, מה שדורס את השינוי כשהוא נכבה.
AuthMe Reloaded מוסיף סיסמה לכל שם משתמש: השחקנים עושים /register פעם אחת ו-/login בכל סשן, ולא יכולים לזוז, לבנות או לכתוב בצ'אט עד שיעשו זאת. בשרת במצב אופליין הוא אינו אופציונלי. בלעדיו שם משתמש הוא רק טקסט שהלקוח שולח, ולכן כל מי שמכיר את הכתובת שלכם יכול להיכנס בתור בעל השרת או בתור מנהל — ואם הדרגות ניתנות לפי שם, הוא מגיע עם ההרשאות האלה כבר בכיס. התקינו אותו לפני שאתם מפיצים את הכתובת.
כן, בשרת שכבר שיחקו בו. Minecraft עוקב אחרי שחקנים לפי UUID, ו-UUID במצב אופליין נוצר משם המשתמש במקום להיות מונפק על ידי Mojang, כך שכל שחקן הופך למעשה לאדם חדש. מלאי, תיבות ender, הישגים, בתים, יתרות, תביעות קרקע וקבוצות הרשאה נשארים בעולם אבל מחוברים לזהות שאף אחד כבר לא מתחבר איתה. שום דבר לא נמחק, וחזרה אחורה משחזרת את הנתונים הישנים — אבל עשו גיבוי לפני שאתם משנים את ההגדרה.
כן. online-mode היא שורה רגילה לגמרי ב-server.properties שלכם, ויש לכם גישה מלאה למנהל הקבצים ולקונסולה של השרת, כך שההגדרה הזו נתונה לשינוי כמו כל אחת אחרת. הפאנל לא דורס אותה — הוא מנהל רק את רשומות ה-IP והפורט של השרת — וגיבויים בלחיצה אחת מאפשרים לכם לחזור אחורה אם זה לא מתאים לכם.
סקינים שמורים אצל Mojang ומוגשים מול חשבון מאומת. כשהאימות כבוי אין לשרת חשבון לחפש, ולכן כולם מופיעים כ-Steve או Alex המוגדרים כברירת מחדל. התקנת SkinsRestorer פותרת זאת — השחקנים בוחרים סקין בעצמם עם /skin set ושם משתמש. ברשת עם proxy התקינו אותו על ה-proxy ולא על כל שרת אחורי.
השרת שלכם, ההגדרות שלכם
שרת Minecraft עם גישה מלאה לקבצים, קונסולה חיה וגיבויים בלחיצה אחת — שינוי כזה לוקח דקה ותמיד אפשר לבטל אותו. הגנת DDoS של Voxility וגיבויים יומיים כלולים, עם יעד זמינות של 99.9%.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours