Generator haseł RCON do Minecrafta
Wygeneruj bezpieczne hasło RCON dla swojego serwera Minecraft wraz z gotowymi do wklejenia liniami server.properties, komendą Docker (itzg/minecraft-server) oraz komendą mcrcon działającą przez tunel SSH. Wszystko generowane jest w Twojej przeglądarce.
Ludzie szukają „hasła serwera Minecraft”, oczekując pola, w którym gracze wpisują hasło, aby dołączyć. Vanilla Java Edition tego nie ma. Hasło RCON też nim nie jest. RCON to zdalna konsola administracyjna: port TCP, który przyjmuje komendy serwera (/op, /stop, /whitelist i wszystkie inne) od każdego, kto zna hasło. Pozwala uruchamiać komendy bez podłączania się do terminala serwera, a skrypty kopii zapasowych używają go do wstrzymywania zapisu. Nic nie robi, by uniemożliwić graczom dołączanie.
Mamy więc tutaj dwa osobne zadania:
- Kontroluj, kto może grać: biała lista plus online-mode.
- Chroń konsolę administracyjną: mocne hasło RCON oraz RCON niedostępny w publicznym internecie.
Biała lista to zamek. Oto ustawienia server.properties, które mają znaczenie:
| Właściwość | Co robi |
|---|---|
white-list=true | Dołączyć mogą tylko gracze z białej listy (oraz operatorzy). |
enforce-whitelist=true | Gdy biała lista się zmieni, gracze online, których już na niej nie ma, zostają wyrzuceni. |
online-mode=true | Gracze muszą zostać zweryfikowani względem serwerów kont Minecraft. To sprawia, że nazwy na białej liście cokolwiek znaczą. |
Następnie dodaj swoich graczy z konsoli serwera lub w grze jako op:
/whitelist on
/whitelist add SomePlayer
/whitelist remove SomePlayer
/whitelist list
/whitelist reload
/op YourName
Operatorzy zawsze mogą dołączyć, gdy biała lista jest włączona, nawet jeśli ich na niej nie ma, więc nie szafuj /op. Operatorzy mogą też uruchamiać każdą komendę, którą może RCON.
Strona server.properties to trzy linie:
enable-rcon=true
rcon.port=25575
rcon.password=YOUR_GENERATED_PASSWORD
Wartości domyślne: enable-rcon to false, rcon.port to 25575, a rcon.password jest puste. Jeśli RCON zostanie włączony z pustym hasłem, nie wystartuje.
Długie, losowe hasło radzi sobie ze zgadywaniem. Żadne hasło nie poradzi sobie z czystym tekstem. Więc:
- Nie przekierowuj 25575 na swoim routerze. Tylko port gry (domyślnie 25565) musi być osiągalny dla graczy.
- Ogranicz zaporą ogniową na serwerze VPS. Przy użyciu ufw:
sudo ufw allow 25565/tcpisudo ufw deny 25575/tcp. - W Dockerze publikuj tylko port gry lub opublikuj RCON na localhost przez
-p 127.0.0.1:25575:25575. Porty opublikowane przez Docker pomijają reguły ufw.
server.properties jest odczytywany jako plik właściwości Javy. Backslash rozpoczyna sekwencję ucieczki, a początkowe spacje są usuwane. Dwukropki, znaki równości, hash i wykrzykniki działają, ale Minecraft przepisuje je z backslashem z przodu. Dlatego ten generator domyślnie używa A-Z, a-z i 0-9.
| Zapisane w pliku | Hasło, które zadziałało | Lekcja |
|---|---|---|
ab\cd | abcd | Backslash escapuje następny znak i znika. |
x\ty | x, a tab, y | \t staje się prawdziwym tabem. |
end\\ | end\ | Napisz \\ dla jednego backslasha. |
ab:c=d#e!f | ab:c=d#e!f | Działa, a serwer przepisał linię na ab\:c\=d\#e\!f. |
Plik nie jest jedynym parserem w łańcuchu. Hasło przechodzi też przez twoją powłokę, może plik Compose, może plik .env, może skrypt kopii zapasowej. Każdy z nich ma własne zasady dotyczące $, cudzysłowów, ukośników odwrotnych i !. Jeśli wybierzesz tryb ze wszystkimi symbolami, generator pomija \ : = # ! w linii właściwości.
- RCON jest domyślnie włączone, ponieważ obraz używa go do czystego wyłączania oraz do koordynacji zapisów podczas kopii zapasowych.
- Jeśli nie ustawisz RCON_PASSWORD, generuje on losowe hasło przy każdym uruchomieniu. To bezpieczne, ale zewnętrzne narzędzia nie mogą go znać.
- Ustaw RCON_PASSWORD lub RCON_PASSWORD_FILE wskazujące na plik (przydatne z sekretami Docker).
- Kontener zawiera rcon-cli, już skonfigurowany z hasłem.
docker exec mc rcon-cli listpo prostu działa. - Zachowaj ostrożność przy mapowaniu portu RCON na zewnątrz.
- Brak RCON. Bedrock Dedicated Server nie ma ustawienia RCON w server.properties.
- Allowlist, a nie whitelist. Ustaw allow-list=true i zarządzaj allowlist.json komendą allowlist. W przeciwieństwie do Javy, bycie operatorem nie omija listy.
online-mode=truewymaga uwierzytelniania Xbox Live.
Zmień hasło RCON, gdy osoba mająca do niego dostęp odchodzi, gdy kiedykolwiek zostało wpisane na czacie lub na zrzucie ekranu, albo gdy odkryjesz, że port był wystawiony.
- Przekierowanie 25575 „żeby panel działał” – użyj tunelu lub umieść panel na tej samej maszynie.
- Używanie ponownie hasła z konta hostingowego lub czegokolwiek innego. RCON wysyła je w czystym tekście, więc załóż, że może wyciec.
- Umieszczanie go w git w pliku Compose. Użyj RCON_PASSWORD_FILE lub nieśledzonego pliku .env.
- Traktowanie hasła RCON jako hasła do gry. Gracze nadal wejdą bez białej listy.
- Wklejenie backslasha do server.properties i zastanawianie się, czemu hasło nie działa.