Krak Server
Krak Server-ը Krak Multiplayer-ի սերվերային գործակալն է՝ փոքր ծրագիր առանձնացված սերվերի կամ VPS-ի համար, որը շուրջօրյա հոսթ է անում այնտեղ աշխատող Minecraft սերվերները Krak Multiplayer-ի միջոցով։ Դու կառավարում ես այն քո հեռախոսի կամ համակարգչի հավելվածից։
Կարգավորիր 6 քայլով
Քեզ պետք է մեքենան, որում աշխատում է քո Minecraft սերվերը (VPS, առանձնացված սերվեր կամ տնային համակարգիչ), և Krak Multiplayer-ը քո հեռախոսում կամ համակարգչում։ Մեքենայում մուտքագրում ես մեկ հրաման, մնացած ամեն ինչ կատարվում է հավելվածում։
- Գործարկիր քո Minecraft սերվերն այդ մեքենայում, ինչպես միշտ՝ Bedrock Dedicated Server, Java սերվեր կամ Java՝ Geyser-ով։
- Բացիր տերմինալն այդ մեքենայում ադմինիստրատորի անունից։ Windows՝ աջ սեղմիր «Սկիզբ» կոճակի վրա և ընտրիր «Տերմինալ (ադմինիստրատոր)» կամ «Windows PowerShell (ադմինիստրատոր)»։ Linux՝ բացիր տերմինալը կամ միացիր SSH-ով։
- Պատճենիր քո համակարգի տեղադրման հրամանը ստորև («Պատճենել» կոճակով), կպցրու այն տերմինալում և սեղմիր Enter։ Linux-ում մուտքագրիր քո գաղտնաբառը, եթե sudo-ն այն խնդրի։
- Սպասիր մինչև մեկ րոպե։ Հրամանը ներբեռնում է Krak Server-ը, ստուգում է այն, տեղադրում և ցույց է տալիս մեծ կապման կոդ, օրինակ՝ 7Q4M-X2PA, և հղում։ Այնտեղ այլևս ոչինչ մուտքագրել պետք չէ։
- Քո հեռախոսում կամ համակարգչում բացիր Krak Multiplayer-ը, սեղմիր + կոճակը, ապա «Հոսթ անել հեռավոր սերվեր» և մուտքագրիր կոդը (կամ բացիր հղումը)։ Ստուգիր սերվերի անունն և հաստատիր։
- Ընտրիր, թե մեքենայի որ Minecraft սերվերով կիսվել և որպես որ աշխարհ, ապա «Պահել»։ Քո աշխարհն առցանց է ընկերներիդ համար, երբ մեքենան աշխատում է։
Տեղադրում Linux-ում
Կպցրու սա տերմինալում և սեղմիր Enter (sudo-ն կարող է խնդրել քո գաղտնաբառը):
curl -fsSL https://krak-mp.cc/download/server/install.sh | sudo sh
Սկրիպտն ընտրում է քո պրոցեսորի համար կառուցվածքը, ստուգում է դրա SHA-256-ը, տեղադրում է Krak Server-ն որպես krak-server համակարգային ծառայություն, գործարկում է այն և ցույց է տալիս կապման կոդը։ Հետագայում sudo krak-server status-ը նորից ցույց կտա այն։ Ձեռքով՝ ներբեռնիր քո պրոցեսորի արխիվը ներբեռնման էջից, համեմատիր դրա SHA-256-ը, բացիր այն tar xzf-ով և գործարկիր sudo ./krak-server install։ Տեղադրիչի կրկնակի գործարկումը թարմացնում է Krak Server-ը։
Տեղադրում Windows-ում
Բացիր PowerShell-ն ադմինիստրատորի անունից (աջ սեղմիր «Սկիզբ» կոճակի վրա, «Տերմինալ (ադմինիստրատոր)»), կպցրու սա և սեղմիր Enter:
irm https://krak-mp.cc/download/server/install.ps1 | iex
Սա տեղադրում է Krak Server Windows ծառայությունը, որը գործարկվում է Windows-ի հետ և վերագործարկվում խափանումից հետո, ավելացնում է krak-server.exe-ն PATH-ում և ցույց է տալիս կապման կոդը։ Հետագայում krak-server.exe status-ն ադմինիստրատորի ցանկացած նոր տերմինալում նորից ցույց կտա այն։ Ծրագիրը գտնվում է C:\Program Files\Krak Server-ում։
Նախ առանց տեղադրման փորձելու համար ներբեռնիր zip-ը, բացիր այն և գործարկիր krak-server.exe-ն կոնսոլում։ Այն կապվում է և հոսթ է անում, մինչև փակես այն։
Ինչ է այն անում
Krak Server-ը մուտք է գործում կապման կոդով, երբեք քո գաղտնաբառով։ Այն գտնում է նույն մեքենայի Bedrock և Java սերվերներն և կիսվում է նրանցով, որոնք դու ընտրում ես հավելվածում, որպես Krak աշխարհներ։ Խաղացողները միանում են դրանց Krak Multiplayer-ից, ինչպես ցանկացած այլ աշխարհի։ Սերվերն երևում է Minecraft-ի սեփական LAN ցանկում։
Խաղային տրաֆիկը գնում է Krak-ի ռելեով։ Խաղացողներն երբեք չեն տեսնում սերվերի IP հասցեն, և սերվերն երբեք չի տեսնում նրանցը։ Krak Server-ը պորտեր չի բացում և պորտերի վերահասցեավորում չի պահանջում։ Այն միայն ինքն է միանում krak-mp.cc-ին։
Դու կառավարում ես սերվերը հավելվածում՝ սեղմիր +, ապա «Հոսթ անել հեռավոր սերվեր», կամ բացիր «Իմ աշխարհները», որտեղ նշված են քո սերվերները։ Այնտեղ ընտրում ես, թե ինչ հոսթ անել, գործարկում և կանգնեցնում ես այն, տեսնում ես դրա խաղացողներին, միանալու հայտերը, հեռացումներն ու արգելքները և դրա վիճակը։ Այդ էկրանին գրված է «Հեռակառավարում», որպեսզի այն երբեք չշփոթվի քո սեփական սարքում հոսթինգի հետ։
Պահանջներ
- Linux՝ x86_64 կամ ARM64 (systemd՝ անընդհատ աշխատող ծառայության համար), կամ Windows 10, 11 կամ Server 2019 և ավելի նոր՝ x64-ի վրա։
- Bedrock Dedicated Server, Java սերվեր (Paper, Fabric և այլն) կամ Java սերվեր՝ Geyser-ով, նույն մեքենայում։
- Krak Multiplayer հաշիվ՝ հաստատված էլ. փոստով կամ Google մուտքով, և 0.8.5 կամ ավելի նոր հավելված՝ սերվերը կապելու և կառավարելու համար (+ կոճակը՝ 0.8.6-ից)։
- Մոտ 15 ՄԲ սկավառակ և 40 ՄԲ հիշողություն։ Խաղային սերվերի կողքին Krak Server-ը շատ քիչ պրոցեսոր է օգտագործում։
Կապիր այն քո հաշվին
- Տեղադրման հրամանը վերջում ցույց է տալիս կապման կոդը։ Հետագայում, կամ երբ կոդի ժամկետն անցել է, մեքենայում գործարկիր sudo krak-server status (Windows-ում՝ krak-server.exe status ադմինիստրատորի տերմինալում)։
- Krak Multiplayer-ում սեղմիր +, ապա «Հոսթ անել հեռավոր սերվեր» և մուտքագրիր կոդը, կամ բացիր հղումը հեռախոսում։ 0.8.5 հավելվածում՝ «Պրոֆիլ», «Իմ սերվերները», «Ավելացնել սերվեր»։
- Ստուգիր սերվերի անունը, համակարգն և ցանցը, ապա հաստատիր։ Կոդը գործում է 10 րոպե, հետո սերվերը ցույց է տալիս նորը։
Հաստատիր միայն այն կոդը, որը ցույց է տվել քո վերահսկողության տակ գտնվող սերվերը։ Ով քեզնից կոդ է խնդրում, ուզում է հոսթ անել քո անունից։
Ընտրիր, թե ինչ հոսթ անել
Բացիր սերվերը («Իմ աշխարհները» բաժնում կամ +, ապա «Հոսթ անել հեռավոր սերվեր») և սեղմիր «Հոսթ անել այս սերվերում»։ Ընտրիր մեքենայում գտնված սերվերը, ապա քո տեղային աշխարհներից մեկը կամ նորը։ Անունը, նկարագրությունը, պատկերակը, հասանելիությունն և աշխարհի մյուս կարգավորումները խմբագրվում են հավելվածում, ինչպես միշտ։
Մեկ հաշիվը միաժամանակ հոսթ է անում մեկ աշխարհ՝ Krak Plus-ով թե առանց դրա՝ քո հեռախոսի կամ համակարգչի աշխարհ, հավելվածով հոսթ արվող սերվեր կամ Krak Server-ի աշխարհ։ Միջպլատֆորմային սերվերը (Paper՝ Geyser-ով) մեկ աշխարհ է՝ երկու տարբերակներով։ Կարող ես կապել մինչև 2 սերվեր, Krak Plus-ով՝ մինչև 7, և յուրաքանչյուրում պահել աշխարհ։ Միացրու հոսթինգն այն սերվերի համար, որն այժմ պետք է։ Krak Plus-ով քո արտաքին սերվերը կարող է այդ ընթացքում մնալ կատալոգում, եթե դա նույն սերվերը չէ։
Միանալու հաստատումն աշխատում է, բայց հայտերը չեղարկվում են 2 րոպե անց։ Այն սերվերի համար, որն աշխատում է, մինչ դու քնած ես, անջատիր հաստատումն և դրա փոխարեն օգտագործիր աշխարհի հասանելիության կարգավորումներն և արգելքները։
Bedrock Dedicated Server-ի կարգավորումներ
Krak-ի խաղացողները միանում են LAN ցանկի միջոցով, ուստի սերվերը պետք է ընդունի LAN խաղացողներին։ server.properties-ում սահմանիր:
enable-lan-visibility=true
online-mode=false
allow-list=false
online-mode=false-ի դեպքում սերվերը չի ստուգում Xbox մուտքը։ Եթե սերվերի սեփական պորտը նույնպես բաց է ինտերնետի համար, անմիջապես դրան միացող խաղացողները կարող են մտնել ցանկացած անունով, այդ թվում՝ օպերատորի։ Bedrock պորտը փակ պահիր ինտերնետի համար կամ համակերպվիր չստուգված անմիջական խաղացողների հետ։
Մեկ մեքենայում LAN-ում կարող է տեսանելի լինել միայն մեկ Bedrock սերվեր՝ այն զբաղեցնում է UDP 7551 պորտը։ Minecraft 1.26.52-ն և ավելի նոր տարբերակները Krak-ի խաղացողներին ներս են թողնում միայն այդ կերպ, ուստի նույն մեքենայի երկրորդ Bedrock սերվերով հնարավոր չէ կիսվել։ Krak Server-ն այն հոսթ չի անում, և հավելվածը բացատրում է պատճառը։ Կանգնեցրու մյուս սերվերը կամ միացրու RakNet-ն երկրորդի վրա։ Այս կարգավորումները փոխելուց հետո վերագործարկիր սերվերը։
Java սերվերներ
Java սերվերին հատուկ ոչինչ պետք չէ։ Krak Server-ը միանում է սերվերի պորտին նույն մեքենայում։ online-mode սերվերում խաղացողներին, ինչպես միշտ, պետք է Minecraft: Java Edition։
Geyser՝ Bedrock խաղացողներ Java սերվերում
Paper-ի, Spigot-ի կամ պրոքսիի վրա Geyser-ի դեպքում Bedrock խաղացողները մտնում են Geyser-ի Bedrock պորտով, և Krak Server-ը կիսվում է այդ պորտով որպես Bedrock սերվեր։ Լռելյայն Geyser-ը մերժում է Krak-ով եկող յուրաքանչյուր Bedrock խաղացողի։ Նրանք տեսնում են «Please log into Xbox», որովհետև միանում են որպես LAN խաղ՝ առանց Xbox մուտքի ստուգման, որը Geyser-ն ակնկալում է։ Krak Server-ը չի տեսնում այս մերժումը, ուստի հավելվածը չի կարող քեզ տեղեկացնել դրա մասին։ Geyser-ի config.yml-ում (Paper-ում և Spigot-ում՝ plugins/Geyser-Spigot/config.yml) սահմանիր:
validate-bedrock-login: false
Հետո վերագործարկիր սերվերը։ Geyser-ն այլևս չի ստուգում Bedrock խաղացողների Xbox մուտքը։ Դրա Bedrock պորտը (լռելյայն՝ 19132) փակ պահիր ինտերնետի համար, այլապես անմիջապես դրան միացող խաղացողները կկարողանան մտնել ցանկացած Bedrock անունով։ Krak-ին բաց պորտ պետք չէ։
Java խաղացողների վրա դա չի ազդում, և Java սերվերը կարող է շարունակել աշխատել online-mode=true-ով։ Floodgate-ով Bedrock խաղացողները մտնում են առանց Java հաշվի, առանց Floodgate-ի Geyser-ը յուրաքանչյուր Bedrock խաղացողից պահանջում է մուտք գործել Java հաշիվ։
Krak-ը միանում է Geyser-ին RakNet-ի միջոցով։ Սպասվում է, որ Minecraft 26.60-ը կդադարեցնի RakNet-ով մուտքերը, ուստի 26.60-ով Bedrock խաղացողները հնարավոր է՝ չկարողանան մտնել Krak-ով, մինչև Geyser-ը չաջակցի նրանց։
Docker
Խաղային սերվերի կոնտեյները գործարկիր հոսթի ցանցով (--network host), որպեսզի հոսթում տեղադրված Krak Server-ը տեսնի դրա LAN հայտնաբերումն և պորտերը։
Կարգավորումներ
Krak Server-ը կարդում է /etc/krak-server/config.json ֆայլը Linux-ում և %ProgramData%\Krak Server\config.json ֆայլը Windows-ում։ Յուրաքանչյուր բանալի ոչ պարտադիր է, իսկ անհայտ բանալիները մերժվում են։ Ստուգիր ֆայլը krak-server config check հրամանով և փոփոխությունից հետո վերագործարկիր ծառայությունը։
Թարմացումներ
Krak Server-ը ստուգում է ստորագրված թարմացումները յուրաքանչյուր 6 ժամը մեկ և տեղադրում դրանք ինքնուրույն՝ թարմացման պատուհանում, կամ հենց որ ոչ ոք չի խաղում, կամ թարմացումը պարտադիր է։ Հոսթ արվող աշխարհը վերագործարկվում է, և խաղացողները նորից միանում են LAN ցանկից։ Հավելվածում «Թարմացնել հիմա» կոճակն անմիջապես տեղադրում է թարմացումը։
Linux-ում ծառայությունը տեղադրում է թարմացումը վերագործարկվելիս, մի քանի վայրկյանում։ Windows-ում այն 15 րոպեի ընթացքում տեղադրում է Krak Server\Apply update պլանավորված առաջադրանքը։ Այն աշխատում է SYSTEM-ի անունից, կանգնեցնում է ծառայությունը, փոխարինում ծրագիրը, նորից գործարկում այն և ստուգում, որ նոր տարբերակն աշխատում է։ Եթե նոր տարբերակը չի գործարկվում, նախորդը վերադառնում է։ krak-server status-ը ցույց է տալիս սպասող թարմացումն և թե երբ է առաջադրանքը վերջին անգամ աշխատել։
Linux-ում թարմացումն անմիջապես տեղադրելու համար:
sudo krak-server update
Windows-ում՝ PowerShell-ում ադմինիստրատորի անունից (ամբողջական ուղով այն աշխատում է ցանկացած պատուհանում):
& "C:\Program Files\Krak Server\krak-server.exe" update
Տեղադրման հրամանի կրկնակի գործարկումը նույնպես թարմացնում է Krak Server-ը։ Այն պահում է կապումն և կարգավորումներն և նորից ստեղծում Windows-ի թարմացման առաջադրանքը, օրինակ՝ --no-auto-update-ով տեղադրումից հետո։
Վիճակ և մատյաններ
krak-server status-ը ցույց է տալիս, թե ում հաշվին է կապված սերվերը, կապման կոդը, քանի դեռ այն սպասում է, միացումը, յուրաքանչյուր հոսթ արվող աշխարհ և դրա խաղացողներին։ Linux-ում մատյանները համակարգային ժուռնալում են:
sudo krak-server status
journalctl -u krak-server -f
Windows-ում դրանք %ProgramData%\Krak Server\logs-ում են։ Մատյաններն երբեք չեն պարունակում թոքեններ, բանալիներ կամ խաղացողների հասցեներ։
Հեռացնել սերվերը
Հավելվածում՝ բացիր սերվերը («Իմ աշխարհները»), դրա ընտրացանկը, «Հեռացնել սերվերը»։ Սերվերն անմիջապես դադարում է հոսթ անել և այլևս չի կարող մուտք գործել։ Հետո այն ինքն է ցույց տալիս նոր կապման կոդ՝ այս կամ մեկ այլ հաշվի համար։
Մեքենայում՝ sudo krak-server unpair-ը հեռացնում է կապումը, sudo krak-server uninstall-ը հեռացնում է ծառայությունը, իսկ --purge-ով՝ նաև դրա կարգավորումներն ու տվյալները։
Գաղտնաբառի փոփոխությունը կամ վերականգնումը, ամենուր դուրս գալն և արգելափակումը նույնպես անջատում են հաշվի բոլոր սերվերները։
Խնդիրների լուծում
Կոդի ժամկետն անցել է
Կոդը գործում է 10 րոպե։ Սերվերն ինքը ցույց է տալիս նորը։ Նորից գործարկիր krak-server status։
Ժամը սխալ է (clock skew)
Krak Server-ը մուտք է գործում մեքենայի ժամով։ Միացրու ժամի համաժամեցումը՝ timedatectl set-ntp true Linux-ում, Windows-ի ժամի ծառայությունը Windows-ում։
Խաղային սերվերը չի գտնվել
Նախ գործարկիր խաղային սերվերն և ստուգիր, որ այն պատասխանում է մեքենայում (Bedrock-ի համար՝ enable-lan-visibility=true)։ Հետո հավելվածում սեղմիր «Որոնել նորից»։
Պորտը թույլատրված չէ
Խաղային սերվերն աշխատում է allow-ից դուրս պորտում։ Ավելացրու պորտը allow-ում մեքենայի կարգավորումների ֆայլում և վերագործարկիր Krak Server-ը։
Խաղացողները մերժվում են
Ստուգիր online-mode-ն և allow-list-ը server.properties-ում։ Հավելվածում սերվերի վիճակը ցույց է տալիս մերժումներն և դրանց պատճառը։
Bedrock խաղացողները տեսնում են «Please log into Xbox»
Դա Geyser-ն է, որ մերժում է Krak-ով եկող խաղացողներին։ Geyser-ի config.yml-ում սահմանիր validate-bedrock-login: false և վերագործարկիր սերվերը (տես «Geyser» վերևում)։ Հավելվածը չի կարող ցույց տալ այս մերժումը։
krak-server.exe-ն չի ճանաչվում
Krak Server-ը տեղադրվելիս իր թղթապանակն ավելացնում է PATH-ում։ Բացիր նոր տերմինալ։ Կամ գործարկիր այն ամբողջական ուղով՝ "C:\Program Files\Krak Server\krak-server.exe" status (PowerShell-ում դիր & առջևում)։ Տեղադրե՞լ ես այն 0.8.6-ից առաջ։ Նորից գործարկիր տեղադրման հրամանը։
Ոչ ոք չի կարողանում միանալ երկրորդ Bedrock սերվերին
Մեկ մեքենայում աշխատում են երկու Bedrock սերվեր, և LAN տեսանելիությունը (UDP 7551 պորտ) մյուսինն է։ Minecraft 1.26.52-ից սկսած Bedrock սերվերը Krak-ի խաղացողներին ընդունում է միայն LAN տեսանելիության միջոցով, ուստի հավելվածը ցույց է տալիս այս սերվերն որպես կանգնեցված։ Կիսվիր մեկ մեքենայի մեկ Bedrock սերվերով՝ կանգնեցրու մյուսն և վերագործարկիր այս մեկը, կամ միացրու RakNet-ն այս մեկի վրա։
Հավելվածը գրում է, որ մեկ այլ աշխարհ արդեն հոսթ է արվում
Մեկ հաշիվը միաժամանակ հոսթ է անում մեկ աշխարհ՝ Krak Plus-ով թե առանց դրա։ Քանի դեռ աշխարհն աշխատում է քո հեռախոսում, համակարգչում կամ մեկ այլ Krak Server-ում, այս սերվերը սպասում է և ինքնուրույն մեկնարկում է այդ աշխարհի կանգ առնելուց մի քանի վայրկյան անց։ Փոխելու համար կանգնեցրու մյուս աշխարհը (հավելվածն առաջարկում է «Կանգնեցնել այն») կամ հավելվածում անջատիր այս սերվերի աշխարհի հոսթինգը։
Տեղադրումը գրում է, որ սերվերն արդեն կապված է
Krak Server-ը մնում է կապված այն հաշվին, որը հաստատել է դրա կոդը, նաև երբ տեղադրման հրամանը նորից է գործարկվում։ Սերվերը մեկ այլ հաշվի փոխանցելու համար դրա տերը հեռացնում է այն հավելվածում («Իմ աշխարհները» կամ դրա հեռակառավարումը, «Հեռացնել սերվերը»)։ Այդ ժամանակ սերվերն ինքը ցույց է տալիս նոր կապման կոդ, տես այն krak-server status-ով։ Կամ մեքենայում՝ sudo krak-server unpair (Windows-ում՝ krak-server.exe unpair ադմինիստրատորի տերմինալում)։
Թարմացումը ներբեռնված է, բայց տեղադրված չէ
Windows-ում թարմացումները տեղադրում է պլանավորված առաջադրանքը, բայց Krak Server-ը մինչև 0.8.9.1 երբեք չէր դիմում դրան, ուստի Windows սերվերը մնում էր այն տարբերակի վրա, որով տեղադրվել էր։ Տեղադրիր թարմացումը մեկ անգամ PowerShell-ում ադմինիստրատորի անունից՝ & "C:\Program Files\Krak Server\krak-server.exe" update (կամ նորից գործարկիր տեղադրման հրամանը), հետագա թարմացումները կտեղադրվեն ինքնուրույն։ Եթե թարմացումը սպասում է 30 րոպեից ավելի, krak-server status-ը գրում է պատճառն և թե որ հրամանն է այն տեղադրում։ Linux-ում՝ sudo krak-server update։
Krak Server-ը կանգնեցված է (NOT RUNNING)
Գործարկիր այն՝ PowerShell-ում ադմինիստրատորի անունից sc.exe start KrakServer (պարզապես sc-ն PowerShell-ում այլ հրաման է), Linux-ում՝ sudo systemctl start krak-server։ Մեկ րոպե անց krak-server status-ը պետք է ցույց տա online։ Եթե այն նորից կանգ է առնում, պատճառն երևում է մատյանում՝ %ProgramData%\Krak Server\logs Windows-ում, journalctl -u krak-server Linux-ում։ 0.8.9.1-ից սկսած, եթե թարմացման նոր տարբերակը չի գործարկվում, նախորդն ինքնուրույն վերադառնում է։
Minecraft-ը Mojang Synergies AB-ի ապրանքային նշանն է։ Krak Multiplayer-ը Minecraft-ի պաշտոնական արտադրանք չէ, հաստատված չէ Mojang-ի կամ Microsoft-ի կողմից և կապված չէ նրանց հետ։