Poziomy uprawnień — skala, która liczy w drugą stronę
Na serwerze nie ma przełącznika „admin włączony”. Jest liczba od 0 do 1000 przypisana do konta, a przy każdej komendzie — liczba mówiąca, jakiego poziomu wymaga. Gracz uruchomi komendę, której wymagany poziom jest równy jego własnemu albo od niego wyższy liczbowo. Wychodzi z tego skala odwrotna do intuicji: im niższa liczba, tym większa władza.
| Poziom | Kto to zwykle | Co może uruchomić |
|---|---|---|
| 0 | Host i pełny administrator | Każdą komendę, jaką zna gra |
| 1–999 | Moderator z ograniczeniami | Komendy o wymaganym poziomie równym jego własnemu lub wyższym liczbowo |
| 1000 | Zwykły gracz; taki poziom dostaje każdy, kogo nie ma na liście | Tylko komendy wprost otwarte dla wszystkich |
Druga strona tego samego mechanizmu: komenda, której nikt nie wpisał na listę uprawnień, ma domyślnie poziom 0. Innymi słowy świeży serwer nie wymaga zamykania — wszystko poza garstką nieszkodliwych poleceń jest z założenia tylko dla admina, a listę uprawnień otwiera się świadomie, komenda po komendzie.
Jak nadać sobie uprawnienia admina
Ścieżka przez konsolę jest szybsza od edycji pliku i nie wymaga zatrzymywania serwera. Komendy wpisujesz w oknie terminala serwera, przez telnet albo w panelu WWW — wszędzie działają tak samo.
Nadanie uprawnień z konsoli serwera
Wejdź raz na serwer swoją postacią. Serwer musi zobaczyć konto, zanim będzie miało identyfikator, którym da się je wskazać.
Wypisz graczy komendą
lpi. Listę identyfikatorów podajelistplayerids; z niej bierzesz identyfikator swojego konta.Nadaj poziom:
admin add <identyfikator> 0. Zamiast identyfikatora zadziała też nazwa gracza. Zero to pełne uprawnienia — moderatorowi dajesz liczbę wyższą.Nie powtarzaj wpisu po restarcie. Komendy
admin,whitelistibanzarządzają tymi samymi listami, które trzyma plikserveradmin.xml, więc wpis zostaje.
Komendy admina — pełna lista
Poniżej polecenia, które ruszają serwer i graczy. Nawiasy ostre oznaczają
argument obowiązkowy, kwadratowe — opcjonalny; identyfikator gracza znajdziesz
komendą lpi.
| Komenda | Skrót | Co robi | Przykład |
|---|---|---|---|
| admin add <gracz> <poziom> | — | Dodaje gracza do listy adminów z podanym poziomem uprawnień | admin add 171 0 |
| admin remove <gracz> | — | Usuwa gracza z listy adminów | admin remove 171 |
| cp add <komenda> <poziom> | — | Ustawia poziom uprawnień wymagany do uruchomienia pojedynczej komendy | cp add gettime 0 |
| cp remove <komenda> | — | Zdejmuje komendę z listy uprawnień | cp remove gettime |
| cp list | — | Wypisuje bieżące uprawnienia do komend | cp list |
| kick <gracz> [powód] | — | Wyrzuca gracza z serwera; powód jest opcjonalny | kick 171 bye |
| kickall [powód] | — | Wyrzuca wszystkich graczy naraz — przydaje się przed restartem | kickall restart |
| ban add <gracz> <czas> <jednostka> [powód] | — | Banuje gracza na podany czas; jednostki to minutes, hours, days, weeks, months i years | ban add 171 10 hours |
| ban list | — | Wypisuje zbanowanych wraz z czasem trwania bana, identyfikatorem i powodem | ban list |
| ban remove <gracz> | — | Zdejmuje bana; identyfikatory zbanowanych pokazuje ban list | ban remove 171 |
| whitelist add <gracz> | — | Dopisuje gracza do białej listy | whitelist add 171 |
| whitelist remove <gracz> | — | Usuwa gracza z białej listy | whitelist remove 171 |
| whitelist list | — | Wypisuje wszystkich z białej listy | whitelist list |
| listplayers | lp | Wypisuje graczy z identyfikatorami, pozycją, zdrowiem, statystykami i adresem IP | lp |
| listplayerids | lpi | Wypisuje same nazwy graczy i ich identyfikatory — krótsza wersja listy | lpi |
| listlandclaim | llp | Wypisuje aktywne bloki roszczenia terenu z nazwą właściciela, stanem i współrzędnymi | llp |
| teleportplayer <gracz> <E/W> <y> <N/S> | tele | Przenosi wskazanego gracza pod współrzędne albo do innego gracza | tele 171 -200 77 300 |
| say <wiadomość> | — | Wysyła komunikat serwera do wszystkich podłączonych graczy | say Restart za 5 minut |
| saveworld | sa | Ręcznie zapisuje świat — pierwsza rzecz przed każdym restartem | saveworld |
| shutdown | — | Zamyka serwer w kontrolowany sposób | shutdown |
Kolejność przed każdym restartem jest zawsze ta sama: say z ostrzeżeniem,
potem saveworld, dopiero na końcu shutdown. Wyrzucanie graczy komendą
kickall ma sens tylko wtedy, gdy chcesz mieć pewność, że nikt nie wejdzie
w trakcie zapisu. Sama teleportacja graczy — z pełną składnią współrzędnych
i ujemnymi kierunkami — ma u nas osobną stronę.
serveradmin.xml — gdzie mieszkają listy
Wszystko, co ustawisz komendami, ląduje w jednym pliku. Jego nazwę podaje
ustawienie AdminFileName w serverconfig.xml — domyślnie serveradmin.xml,
a ścieżka liczy się względem katalogu zapisu serwera (SaveGameFolder). Plik
trzyma cztery listy: adminów wraz z ich poziomami, uprawnienia do poszczególnych
komend, białą listę i listę banów. Wpisywać można pojedyncze konta albo całe
grupy Steam.
Ręczna edycja pliku przydaje się w dwóch sytuacjach: gdy nadajesz uprawnienia komuś, kto jeszcze nigdy nie wszedł na serwer, i gdy chcesz przenieść gotowy zestaw uprawnień na nową instancję. W obu wypadkach zatrzymaj serwer przed edycją — inaczej zapis przy wyłączaniu nadpisze twoje zmiany. Sam plik ma w środku komentarze opisujące format identyfikatorów obowiązujący w twojej wersji gry; to pewniejsze źródło niż jakikolwiek poradnik.
Dostęp spoza gry — terminal, telnet i panel WWW
Serwer dedykowany nie wymaga siedzenia w grze, żeby nim zarządzać. Te same komendy przyjmuje okno terminala serwera, połączenie telnet i panel WWW, a od wersji 1.0 panel pozwala też ustawiać poziomy użytkowników i uprawnienia do komend bez dotykania pliku.
| Ustawienie | Domyślnie | Po co jest |
|---|---|---|
| AdminFileName | serveradmin.xml | Nazwa pliku z listami; ścieżka względem katalogu zapisu |
| ServerAdminSlots | 0 | Tylu adminów wejdzie na serwer nawet po zapełnieniu limitu miejsc |
| ServerAdminSlotsPermission | 0 | Poziom uprawnień wymagany, żeby skorzystać z miejsc admina |
| ControlPanelEnabled | false | Włącza panel WWW serwera |
| ControlPanelPort | 8080 | Port, na którym stoi panel WWW |
| ControlPanelPassword | CHANGEME | Hasło do panelu — do zmiany przed pierwszym uruchomieniem |
| TelnetEnabled | true | Włącza interfejs telnet |
| TelnetPort | 8081 | Port interfejsu telnet |
| TelnetPassword | puste | Bez hasła serwer nasłuchuje wyłącznie na pętli lokalnej |