Serwer Rust konfiguruje się w dwóch miejscach: w parametrach startowych i w pliku server.cfg. Ten poradnik wyjaśnia, co gdzie należy, co robi każde częste ustawienie i jaką wartość wybrać. Opisuje też rozmiar mapy i seed, własne mapy oraz jak umieścić serwer w przeglądarce serwerów z właściwymi tagami.
Czego potrzebujesz
- Serwer Rust i dostęp do jego plików
- Możliwość edycji parametrów startowych (skrypt startowy na własnym VPS, ustawienia uruchamiania na hostingu gier)
- Około 25 minut
Rust w StormHost
Serwery Rust wciąż przygotowujemy. Ten poradnik dotyczy także serwera Rust na własnym VPS (poradnik instalacji).
Co gdzie się ustawia#
| Miejsce | Co tam należy | Kto to edytuje |
|---|---|---|
Parametry startowe (+server.port 28015 …) | Porty, RCON, identity serwera, mapa (typ, seed, rozmiar lub URL własnej mapy), ewentualnie liczba slotów. Rzeczy, które muszą być znane przy starcie. | Ty (na hostingu gier przez ustawienia uruchamiania). |
server/ | Cała reszta: nazwa, opis, obrazy, tagi, sloty, reguły rozgrywki. | Ty. Serwer nigdy go nie zmienia. |
server/ | Wartości, które serwer zapisuje sam (przy wyłączeniu lub poleceniem server.writecfg). | Serwer. Nie edytuj go. |
server/ | Admini i moderatorzy. Zobacz Admin i RCON. | Zarówno serwer, jak i Ty. |
Identity (server.identity) to nazwa folderu, w którym serwer przechowuje świat, konfigurację i graczy. Dzięki temu z tych samych plików gry może działać kilka serwerów. Jeśli zmienisz identity, serwer wystartuje z nowym, pustym światem w innym folderze. Domyślne identity to my_server_identity.
W server.cfg zmienne zapisuje się bez początkowego +, każdą w osobnej linii. W parametrach startowych zapisuje się je z +, jedną za drugą w jednej linii.
Każde ustawienie tylko w jednym miejscu
Wiki Facepunch mówi, że server.cfg ma pierwszeństwo przed parametrami wiersza poleceń, a dokumentacja Oxide twierdzi odwrotnie. Aby nie zależeć od przypadku, ustawiaj każdą zmienną tylko w jednym miejscu. Facepunch zaleca umieszczać w parametrach startowych tylko niezbędne rzeczy (porty, RCON), a wszystko inne w server.cfg.
Zmienne zmienione w konsoli przy działającym serwerze obowiązują tylko do restartu (chyba że serwer sam zapisze je do serverauto.cfg). Wszystko, co ma zostać na stałe, trafia do server.cfg.
Parametry startowe#
Przykład dla Linuxa (w Windows linia jest taka sama, tylko program nazywa się RustDedicated.exe):
./RustDedicated -batchmode \
+server.identity "rust" \
+server.port 28015 \
+server.queryport 28017 \
+server.level "Procedural Map" \
+server.seed 12345 \
+server.worldsize 3000 \
+server.maxplayers 50 \
+rcon.port 28016 \
+rcon.password "<SILNE_HASLO>" \
+rcon.web 1 \
+app.port 28082 \
-logfile "rust.log"Ukośnik odwrotny na końcu linii oznacza tylko, że polecenie jest kontynuowane w następnej linii.
| Parametr | Co robi | Zalecana wartość | Kiedy zmieniać |
|---|---|---|---|
-batchmode | Uruchamia serwer bez okna graficznego. | zawsze | – |
+server.identity | Nazwa folderu ze światem i konfiguracją (server/<IDENTITY>/). | krótka nazwa bez spacji, np. rust | Tylko gdy chcesz nowy świat w nowym folderze albo kilka serwerów. |
+server.port | Port, do którego łączą się gracze. UDP. | 28015 | Gdy na jednym IP działa kilka serwerów albo hosting przydzielił inny. |
+server.queryport | Port zapytań przeglądarki serwerów (Steam). Jeśli nie jest otwarty w firewallu, nie zobaczysz serwera w przeglądarce. UDP. Nie może być taki sam jak server.port. | 28017 | Razem z server.port. Jeśli go nie ustawisz, jest o 1 wyższy od wyższego z portów gry i RCON. |
+server.level | Typ mapy. | "Procedural Map" | Nieużywany przy własnej mapie (ustawiasz server.levelurl). |
+server.seed | Liczba, z której generowana jest mapa. Ten sam seed i rozmiar = ta sama mapa. | dowolna liczba 0–2147483647 | Przy wipe, gdy chcesz nową mapę. |
+server.worldsize | Rozmiar mapy (długość boku w metrach). | 2000–4500 zależnie od liczby graczy (tabela niżej) | Zobacz sekcję Rozmiar mapy i seed. |
+server.maxplayers | Liczba slotów. | zależnie od wydajności serwera | Więcej graczy = większe wymagania CPU. |
+rcon.port | Port zdalnej konsoli. TCP. | 28016 | Zobacz Admin i RCON. |
+rcon.password | Hasło zdalnej konsoli. | silne losowe hasło | Zawsze je zmień. |
+rcon.web | WebSocket RCON (1) zamiast przestarzałego Source RCON. | 1 | – |
+app.port | Port aplikacji mobilnej Rust+. TCP, musi wynosić co najmniej 10000. +app.port 1- wyłącza Rust+. Jeśli go nie ustawisz, jest o 67 wyższy od wyższego z portów gry i RCON (z RCON na 28016 to 28083), dlatego ustawiamy go jawnie. Polecenie app.info wypisuje używany port. | 28082 | Gdy nie chcesz Rust+ albo port koliduje. |
-logfile | Plik, do którego zapisywane jest wyjście konsoli. | "rust.log" | – |
+server.levelurl | URL pobierania własnej mapy (zamiast server.level, seed i worldsize). | – | Zobacz sekcję Własna mapa. |
Zamiast <SILNE_HASLO> wstaw własne hasło (bez nawiasów ostrych), najlepiej złożone tylko z liter i cyfr.
Na hostingu gier porty przydziela dostawca. W StormHost zobaczysz je w strefie klienta w zakładce Sieć; u innego hostingu w jego zarządzaniu serwerem. Pozostałe parametry ustaw w ustawieniach uruchamiania serwera.
server.cfg#
Utwórz plik server.cfg w folderze server/<IDENTITY>/cfg/ (jeśli nie istnieje). Serwer czyta go przy starcie.
server.hostname "[EU] Moj serwer Rust | Monthly | Vanilla"
server.description "Serwer Rust w EU. Wipe w pierwszy czwartek kazdego miesiaca. Discord: example.cz/discord"
server.url "https://example.cz"
server.headerimage "https://example.cz/rust/header.png"
server.logoimage "https://example.cz/rust/logo.png"
server.tags monthly,vanilla,EU
server.saveinterval 600
server.idlekick 30
decay.scale 1| Ustawienie | Co robi | Zalecana wartość | Kiedy zmieniać |
|---|---|---|---|
server.hostname | Nazwa serwera w przeglądarce serwerów. | Krótka i konkretna, z krajem i harmonogramem wipe'ów | W dowolnej chwili; obowiązuje po restarcie. |
server.description | Opis w szczegółach serwera (zasady, wipe, link do Discorda). | Kilka zdań | W dowolnej chwili. |
server.url | Link do strony WWW serwera w szczegółach. | Twoja strona albo puste | Jeśli nie masz strony, pomiń linię. |
server.headerimage | Bezpośredni link do obrazu nagłówka w szczegółach serwera (PNG lub JPG). | Obraz dostępny publicznie bez logowania | Obraz się nie załaduje, jeśli link nie prowadzi bezpośrednio do pliku. |
server.logoimage | Bezpośredni link do logo serwera (przeglądarka serwerów i aplikacja Rust+). | PNG lub JPG, 256 × 256 px | Logo jest pokazywane w kole, a rogi są przycinane – trzymaj motyw na środku. |
server.tags | Tagi oddzielone przecinkami do filtrowania w przeglądarce serwerów. | Harmonogram wipe'ów + trudność + region, np. monthly,vanilla,EU | Zobacz sekcję Serwer w przeglądarce serwerów. |
server.maxplayers | Liczba slotów (jeśli nie ma jej w parametrach startowych). | zależnie od wydajności | – |
server.saveinterval | Jak często serwer automatycznie zapisuje świat, w sekundach. | 600 (domyślnie, 10 minut) | Krótszy interwał = mniejsza strata po awarii, ale częstsze krótkie skoki obciążenia przy zapisie. |
server.idlekick | Po ilu minutach bezczynności serwer rozłącza gracza; 0 wyłącza. | 30 (domyślnie) | Krócej na pełnym serwerze, aby zwalniać sloty. |
server.pve | Tryb PvE: gracze nie mogą się ranić. Serwer dostaje tag PvE. | false (domyślnie) | Dla czysto PvE serwera. |
decay.scale | Mnożnik rozpadu budowli. 1 = normalny, 0 = brak rozpadu. | 1 | Niżej na serwerach z małą liczbą graczy; 0 pozwala opuszczonym budowlom się piętrzyć i obciąża serwer. |
relationshipmanager. | Maksymalny rozmiar drużyny. | domyślna wartość gry | Dla serwerów „solo/duo/trio” ustaw 1, 2 lub 3. |
server.favoritesEndpoint | Domena, pod którą gracze zapisują serwer w ulubionych. | Twoja domena (rekord A) | Tylko jeśli masz rekordy DNS dla serwera (zobacz niżej). |
Aktualną wartość dowolnej zmiennej zobaczysz, wpisując w konsoli samą jej nazwę (na przykład server.maxplayers). Przy zmiennych, których nazwy nie pamiętasz, użyj polecenia find, na przykład find decay.
Wymiary nagłówka
Dla server.headerimage społeczność używa zwykle obrazu 512 × 256 px.
Rozmiar mapy i seed#
- Zakres rozmiaru: Facepunch podaje dla
server.worldsizezakres od 1000 do 6000. Domyślna wartość gry to 4500. - Pamięć: według Facepunch serwer ze standardową mapą potrzebuje około 12 GB wolnego RAM-u, a mapa 6000 więcej. Większa mapa = więcej pamięci, więcej miejsca na dysku i dłuższe generowanie przy starcie.
- Orientacyjna wskazówka (zależy od stylu serwera):
| Jednocześnie graczy | Rozmiar mapy |
|---|---|
| do 50 | 2000–3000 |
| 50–150 | 3000–4000 |
| 150 i więcej | 4000–4500 |
- Seed to dowolna liczba od 0 do 2147483647. Ten sam seed z tym samym rozmiarem daje zawsze tę samą mapę, więc możesz przywrócić mapę, która Ci się podobała. Społecznościowe strony z mapami Rusta oferują podglądy map według seeda i rozmiaru.
- Niektóre elementy potrzebują większej mapy – na przykład według wiki Facepunch naziemna kolej generuje się dopiero od rozmiaru 4250.
- Zmiana seeda lub rozmiaru działa tylko na nowym świecie. Na działającym świecie nowa mapa tworzy niezgodność, więc zmieniaj je tylko przy wipe (poradnik).
Dla zaawansowanych: generowanie mapy można dostroić plikiem ustawień (+world.configfile), na przykład wyłączyć ścieżki lub niektóre monumenty. Jak to zrobić, opisuje wiki Facepunch (otwiera się w nowym oknie).
Własna mapa#
Własne mapy tworzy się w edytorach (najszerzej używany jest RustEdit) jako plik .map.
Prześlij plik
.mapna stronę WWW, która udostępnia go przez bezpośredni link i jest dostępna całą dobę. Gracze pobierają mapę z tego adresu, nie z serwera.Przetestuj link: po otwarciu w przeglądarce plik powinien od razu zacząć się pobierać, a nie pokazać stronę.
Usuń z parametrów startowych
+server.seed,+server.worldsizei+server.level.Dodaj parametr z linkiem:
text +server.levelurl "https://example.cz/mapy/mojamapa-v1.map"Jeśli mapa potrzebuje rozszerzenia RustEdit (własne obwody elektryczne, trasy łodzi i czołgów, NPC), zainstaluj je jako rozszerzenie frameworka według instrukcji autora mapy (rozszerzenia i zależności).
Uruchom serwer.
Każda wersja mapy potrzebuje nowej nazwy pliku
Gracze trzymają pobraną mapę na komputerze. Jeśli prześlesz zmienioną mapę pod tą samą nazwą, gra załaduje ich starą kopię i połączenie nie powiedzie się z błędem niezgodności. Zmieniaj nazwę mapy przy każdej zmianie (na przykład mojamapa-v2.map).
Linki, które nie działają: link do wiadomości na Discordzie, udostępnione foldery pokazujące stronę, Dropbox bez dl=1 na końcu. Działa na przykład release na GitHubie albo własny serwer WWW.
Wydajność#
- Rozmiar mapy i liczba graczy mają największy wpływ na wydajność. Nie podnoś ich ponad to, co serwer udźwignie.
- Liczba budowli i przedmiotów (obiektów) rośnie z czasem. Rozpad (
decay.scale) pomaga sprzątać opuszczone budowle. - Pluginy: lista
oxide.pluginspokazuje łączny czas, jaki każdy plugin spędził w hookach. Plugin z czasem znacznie wyższym niż inne jest kandydatem do wymiany. Carbon ma wbudowany profiler. - Bieżąca wydajność serwera: sprawdź ją poleceniem
server.fps(klatki serwera na sekundę). Znaczny, trwały spadek oznacza przeciążenie serwera. server.tickratei podobne zmienne zostaw na wartościach domyślnych, chyba że dokładnie wiesz, po co je zmieniasz.
Serwer w przeglądarce serwerów#
Aby serwer pojawił się w przeglądarce:
- Otwórz port zapytań (
server.queryport, UDP) w firewallu. Bez niego serwer nie pojawi się w przeglądarce, choć da się z nim połączyć bezpośrednio. - Ustaw tagi w
server.cfg, na przykładserver.tags monthly,vanilla,EU. Przeglądarka pokazuje najwyżej cztery. - Po starcie poczekaj kilka minut, aż serwer pojawi się w przeglądarce.
Tagi według wiki Facepunch:
| Grupa | Tagi | Uwaga |
|---|---|---|
| Harmonogram wipe'ów | monthly, biweekly, weekly | Tylko jeden. Steruje też odliczaniem wipe'u w grze, zobacz Wipe. |
| Trudność | vanilla, hardcore, softcore | Tylko jeden. |
| Region | EU, NA, SA, WA, EA, OC, AF | Dla Polski i Czech EU. |
| Inne | pve, roleplay, creative, minigame, training, battlefield, broyale, builds | Zależnie od typu serwera. |
Nie łącz tagów z tej samej grupy (na przykład monthly i weekly): przeglądarka pokazuje tylko jeden i serwer nie pojawi się, gdy gracze filtrują. Tagi Modded, Oxide i Carbon framework dodaje sam. server.pve true ustawia też tag PvE.
Kraj serwera jest ustalany z jego adresu IP przez MaxMind. Jeśli w przeglądarce jest błędny, zgłoś korektę przez formularz MaxMind (GeoIP Data Correction).
Łączenie przez domenę: Rust potrafi znaleźć serwer przez DNS. Potrzebujesz rekordu A z adresem IP serwera i rekordu SRV dla usługi _rust i protokołu _udp z portem gry. Następnie ustaw domenę także w server.favoritesEndpoint. Typy rekordów wyjaśnia artykuł Rekordy DNS wyjaśnione.
Rozwiązywanie problemów#
Zmiany w server.cfg nie działają#
- Plik jest w innym folderze identity niż ten, którego używa serwer. Sprawdź
+server.identityw parametrach startowych i ścieżkęserver/.<IDENTITY>/ cfg/ server. cfg - Plik faktycznie nazywa się
server.cfg.txt(Windows ukrywa rozszerzenia). - Ta sama zmienna jest też w parametrach startowych. Trzymaj ją tylko w jednym miejscu.
- Serwer nie został zrestartowany po edycji.
server.cfgjest czytany przy starcie; przy działającym serwerze możesz też wpisać wartość w konsoli.
Serwera nie widać w przeglądarce serwerów#
- Port zapytań nie jest dozwolony w firewallu (UDP) albo jest taki sam jak port gry.
- Szukasz w złej zakładce: serwer z frameworkiem jest w Modded.
- Tagi z tej samej grupy się wykluczają.
- Serwer działa dopiero kilka minut. Poczekaj.
Gracze dostają Couldn't Download Level#
Gra nie mogła pobrać własnej mapy. Sprawdź, czy server.levelurl jest bezpośrednim linkiem i czy strona hostująca mapę działa. Facepunch radzi graczom otworzyć w konsoli F1 linię „Download map file…” i pobrać mapę ręcznie do folderu maps gry.
Błąd World cache version mismatch lub World File Outdated#
Gracz ma pobraną starszą wersję mapy o tej samej nazwie. Zmień nazwę mapy i server.levelurl.
Serwer zawiesza się przy ładowaniu własnej mapy#
Mapa nie ma dość oceanu na trasę statku towarowego. Według wiki Facepunch pomaga dodanie do parametrów startowych +cargoship.event_enabled false +baseboat.generate_paths false +ai. (wyłącza statek towarowy i trasy patroli oceanicznych) albo edycja mapy.
Obraz nagłówka lub logo się nie wyświetla#
Link nie prowadzi bezpośrednio do pliku obrazu, obraz nie jest publicznie dostępny albo jest w nieodpowiednim formacie. Otwórz link w prywatnym oknie przeglądarki: powinien pokazać wyłącznie sam obraz.
Podsumowanie
- Porty, RCON, identity i mapa należą do parametrów startowych, cała reszta do
server/.<IDENTITY>/ cfg/ server. cfg - Każdą zmienną ustawiaj tylko w jednym miejscu; nie edytuj
serverauto.cfg. - Rozmiar mapy 1000–6000; większa mapa potrzebuje więcej RAM-u. Seed i rozmiar zmieniaj tylko przy wipe.
- Własna mapa: bezpośredni link w
server.levelurli nowa nazwa pliku przy każdej wersji. - Aby pojawić się w przeglądarce serwerów, potrzebujesz otwartego portu zapytań (UDP) i tagów bez konfliktów.
Dalsza lektura#
- Facepunch: Creating a server (otwiera się w nowym oknie)
- Facepunch: tagi w przeglądarce serwerów (otwiera się w nowym oknie)
- Facepunch: hostowanie własnej mapy (otwiera się w nowym oknie)
- Facepunch: częste błędy własnych map (otwiera się w nowym oknie)
- Facepunch: ikona serwera (otwiera się w nowym oknie)
- Facepunch: rekordy DNS dla serwera (otwiera się w nowym oknie)