RE:NODE

Server RimWorld Together: stažení, konfigurace a módy

Text: Tým RE:NODE
16 min čtení


Server RimWorld Together je jeden malý program na .NET, jeden TCP port (výchozí 25555) a složka se soubory JSON. Build serveru pro svůj operační systém stáhneš z GitHub releases projektu, jednou ho spustíš, aby si zapsal konfiguraci, a první hráč, který se připojí s odpovídajícím klientským módem, vygeneruje planetu a automaticky se stane adminem. Módy se nenastavují ručně v souboru: admin nahraje seznam přímo ze hry a každý další hráč se při přihlášení proti němu kontroluje. Dvě věci, na kterých lidé nejčastěji narazí, jsou obě přísné kontroly shody - verze klienta a serveru se musí shodovat přesně, stejně tak seznam módů - a pak jedna bezpečnostní zvláštnost, která je důležitější: kdo se připojí na prázdný server první, ten ho vlastní.

Tento návod prochází nastavení od začátku do konce. Pokud se teprve rozhoduješ mezi RimWorld Together a módem Multiplayer od Zetritha, nebo chceš kompletní přehled konzolových příkazů a rotaci záloh, najdeš to v průvodci multiplayerem pro RimWorld. Tento článek jde víc do hloubky v tom, jak server Together postavit, nakonfigurovat, zveřejnit a připojit se k němu.

Jak se RimWorld Together liší od módu Multiplayer#

Stručně, protože tahle volba rozhoduje o všem ostatním:

RimWorld TogetherMultiplayer (Zetrith / rwmt)
KolonieKaždý jednu, sdílená planetaJedna, sdílená všemi
ServerSamostatný konzolový programŽádný - hráč hostuje ve hře
Pravidlo pro módySeznam na serveru, kontrola při přihlášeníShodné na každém počítači

Mód Multiplayer spouští stejnou simulaci na počítači každého hráče synchronně, takže server nemá co dělat a není co hostovat. RimWorld Together dělá pravý opak. Každý hráč provozuje svou kolonii lokálně vlastním tempem a server drží to, co je sdílené: mapu světa, osady, savy, trh, gildy, lokality, cesty a frontu událostí, které si hráči posílají navzájem. Žádného pawna nikdy nesimuluje. Proto potřebuje tak málo hardwaru a proto běží dál, i když není nikdo online.

Cenou je, že interakce je ve výchozím stavu asynchronní. S kolóniemi ostatních hráčů obchoduješ, posíláš jim dary, špehuješ je a přepadáváš je, a nájezd na offline hráče se vede proti uložené kopii jeho mapy. Existují i návštěvy a nájezdy v reálném čase - klient tomu říká synchronní režim a hra se v něm neukládá - ale běžný rytmus jsou oddělené kolonie, které se navzájem ovlivňují, ne jedna kolonie hraná společně. Pokud chce vaše parta sedět ve stejné základně, chcete ten druhý mód.

Klientský mód je RimWorld Together na Steam Workshopu (package id nova.rimworldtogether). V době psaní cílí na RimWorld 1.6, závisí na Harmony a deklaruje nekompatibilitu s RimSaves.

Stažení správného buildu serveru#

Soubory serveru jsou na stránce GitHub releases projektu, ne na Steamu. Každý release obsahuje dvě rodiny archivů a výběr špatné je první snadno se vyhnutelný problém.

ArchivCo to je
Server-<os>-<arch>.zipSamostatný, asi 30 MB. Běží kdekoli
Slim-<os>-<arch>.zipPod 1 MB. Vyžaduje nainstalovaný runtime .NET 8

Buildy existují pro win-x64, win-x86, linux-x64, linux-arm a linux-arm64. Server pro macOS neexistuje. Pokud na počítači nespravuješ .NET 8 sám, vezmi build Server-: runtime má zabalený v jediném spustitelném souboru RTServer (na Windows RTServer.exe), takže není nic dalšího k instalaci a nic, co by pod ním zastarávalo. Raspberry Pi nebo ARM instance v cloudu je pro malý svět naprosto rozumný domov, k čemuž ARM buildy slouží.

Názvy releasů jsou data: 26.10.4.1 je build ze 4. října 2026 a koncovka _(1) označuje opětovné vydání téže verze. Právě tento řetězec verze server porovnává s každým klientem znak po znaku, proto záleží na tom, který stáhneš. Pravidlo je jednoduché: server i všichni hráči musí používat stejný release.

Archiv rozbal do vlastní složky. Server si při prvním startu vedle sebe zapíše tucet podsložek a projekt varuje před umístěním všude tam, kde jsou potřeba administrátorská práva - Program Files je špatný nápad a stejně tak spouštění pod rootem na Linuxu.

bash
$ mkdir -p ~/rwt && cd ~/rwt$ unzip ~/Downloads/Server-linux-x64.zip$ chmod 755 RTServer$ ./RTServer

Oficiální image kontejneru se při každém releasu sestavuje ze stejných zdrojů a je označen jak latest, tak verzí releasu. Připni tag s verzí místo latest, aby restart kontejneru nikdy neaktualizoval server hráčům za zády:

bash
$ mkdir -p RWTData$ docker run -it -v "$PWD/RWTData:/Data" -p 25555:25555 \    ghcr.io/rimworld-together/rimworld-together:26.10.4.1

Na -it záleží. Server čte admin příkazy ze standardního vstupu a bez připojeného terminálu máš běžící server, se kterým si nepopovídáš. Ukázkový compose soubor projektu z téhož důvodu nastavuje stdin_open: true a tty: true, takže konzoli získáš přes docker attach.

První spuštění a první připojení#

První start vytvoří strom složek, zapíše každý konfigurační soubor s výchozími hodnotami a pak čeká na připojení a vstup z konzole. Čerstvý server ještě nemá žádný svět. To je záměr: planetu generuje herní klient hráče, ne server.

  1. Zastav server a uprav Configs/ServerConfig.json a Configs/PasswordConfig.json (obojí je popsáno níže). Nastav alespoň název a heslo.
  2. Spusť ho znovu.
  3. V RimWorldu zapni Harmony a RimWorld Together, plus všechny módy, které bude svět používat, a restartuj hru.
  4. V hlavním menu otevři RimWorld Together a použij Direct Connect s adresou a portem serveru. Na stejném počítači je to 127.0.0.1 a 25555.
  5. Zvol si uživatelské jméno a heslo. Žádná samostatná registrace neexistuje: první přihlášení s novým jménem účet vytvoří.
  6. Server zjistí, že neexistuje svět, a vyžádá si ho od tvého klienta. Vytvoř planetu stejně jako v singleplayeru - seed, pokrytí, srážky, teplota, frakce - a usaď se.
  7. Server planetu uloží a udělá z tebe admina. Konzole vypíše řádek, že uživateli s tvým jménem uděluje oprávnění admina při prvním připojení.

Z tohoto návrhu plynou ještě dvě věci. Nastavení planety je pevně dané prvním připojením, takže pokrytí a seznam módů rozhodni před vytvořením světa, ne po něm - rada samotného projektu je mít při vytvoření zapnuté všechny plánované módy. Storyteller, obtížnost a scénář lze měnit i později. A když se svět zakládá, každý další, kdo se připojí, je odmítnut se zprávou, aby to zkusil později.

Účty jsou uživatelské jméno a heslo uložené na serveru, ne identita na Steamu. Pokud hráč heslo zapomene, jeho kolonie je stále na disku, ale žádné resetování neexistuje - musí to řešit admin, což obvykle znamená resetplayer a nový začátek. Řekni hráčům, ať s heslem zacházejí jako s jakýmkoli jiným.

Konfigurační soubory, na kterých záleží#

Vše leží v Configs/ a každý soubor se při startu přepíše s doplněnými chybějícími klíči, takže starý soubor po aktualizaci získá nové volby. Edituj při zastaveném serveru: několik souborů server ukládá i za běhu a tvou změnu přepíše tím, co má v paměti.

Configs/ServerConfig.json
{  "Name": "RimWorld Together Server",  "Description": "",  "DiscordURL": "",  "SteamWorkshopURL": "",  "ServerImageURL": "",  "IP": "0.0.0.0",  "Port": 25555,  "MaxPlayers": 100,  "Verbosity": 0,  "DisplayChatInConsole": false,  "UseUPnP": false,  "UseClientSave": true,  "EnableServerBrowser": true,  "EnableServerTelemetry": true}

Name, Description, DiscordURL, SteamWorkshopURL a ServerImageURL zobrazuje prohlížeč serverů, takže je vyplň, pokud chceš, aby tě cizí lidé našli, a nech prázdné, pokud ne. Port musí být port, na který se hráči skutečně dostanou, protože je to také port, který server oznamuje prohlížeči. UseUPnP žádá domácí router, aby port otevřel za tebe; na hostovaném serveru nedělá nic a na domácí síti, na které ti záleží, je také lepší ho nechat vypnutý. UseClientSave rozhoduje, zda se kopii kolonie na počítači hráče věří, když se znovu přihlásí - nech výchozí hodnotu, pokud s pomocí projektu nehledáš konkrétní problém se savem.

Zbytek složky:

SouborCo obsahuje
PasswordConfig.jsonPassword - prázdné znamená bez hesla
BackupConfig.jsonAutomatické zálohy, interval, kolik se jich uchovává
ChatConfig.jsonZpráva dne, oznámení o připojení a odchodu
ModConfig.jsonSeznam módů, proti kterému se hráči kontrolují
DifficultyConfig.jsonVlastní hodnoty obtížnosti
StorytellerConfig.jsonVynucený storyteller
ScenarioConfig.jsonVynucený scénář

Configs/Actions/ obsahuje jeden soubor pro každou interakci hráčů - Raid.json, Trade.json, Caravan.json, Aid.json, Event.json, Market.json, Guild.json, Site.json, Road.json, River.json, Pollution.json, Scenario.json a několik dalších. Tady vypneš některou mechaniku nebo ji zdražíš a tady jsou také časovače ochrany, které brání tomu, aby byl jeden hráč opakovaně přepadáván nebo zahlcován událostmi. Přečti si je, než server otevřeš: výchozí hodnoty vyhovují přátelské partě a veřejný server obvykle chce delší ochranu a vyšší ceny.

Samotný svět v Configs/ není. Planeta je Assets/WorldValuesFile.json a sdílený stav leží vedle ní: Market.json, Roads.json, Rivers.json, Leaderboard.json, IPBans.json a složky pro uživatele, savy, mapy, osady, lokality, gildy a události. Právě složku Assets/ je potřeba zálohovat. Když přijdeš o Configs/, ztratíš odpoledne; když přijdeš o Assets/, ztratíš svět.

Porty, firewally a připojení#

PortProtokolSměr
25555TCPPříchozí, hráči se na něj připojují
Služba prohlížečeTCPOdchozí, jen když je zapnutá telemetrie

To je celý seznam. Neexistuje UDP, žádný query port ani RCON. Pokud potřebuješ, změň Port v ServerConfig.json a pak se ujisti, že firewall, mapování kontejneru i to, co hráči zadávají, říkají stejné číslo - vysvětlení portů herních serverů popisuje, proč jsou „proces běží“ a „port je dosažitelný“ dvě oddělená tvrzení, která je třeba ověřit.

Na domácím připojení potřebuješ přesměrování portu z routeru na počítač se serverem a potřebuješ veřejnou adresu, která je opravdu tvoje; carrier-grade NAT znemožňuje příchozí spojení bez ohledu na to, co přesměruješ. Přesměrování portů vs hostované servery je upřímné srovnání. Na Linuxu port otevři výslovně:

bash
$ sudo ufw allow 25555/tcp

Hráči se připojují z menu RimWorld Together pomocí Direct Connect s adresou a portem, přes Server Browser nebo pomocí join kódu. Klient si pamatuje poslední server a při dalším spuštění nabídne opětovné připojení. Dialog připojení má samostatné pole pro heslo serveru, na které se klient ptá před přihlášením k účtu.

Na RE:NODE je součástí plánu pro RimWorld jedna alokace portu, což je přesně to, co tento server potřebuje: nastav Port na přidělený port a hráči se připojují na adresu, kterou zobrazuje panel. Starter má 1 GB paměti a 0,75 jádra, od 5 $ měsíčně, což pro tento server bohatě stačí - hru totiž nespouští. Zbytek nabídky najdeš v plánech pro server RimWorld.

Synchronizace módů: jak server kontroluje módy hráče#

Tady je RimWorld Together nejčastěji nepochopen, protože se to změnilo. Starší návody popisují tři sloupce v konfiguračním souboru - povinné, volitelné, zakázané. V aktuálních releasech ModConfig.json zapisuje hra, ne ty, a pravidla jsou tato:

  • Povinné (required) módy musí být na klientovi přítomné.
  • Volitelné (optional) módy přítomné být mohou, ale nemusí.
  • Cokoli, co není na seznamu, je odmítnuto. Samostatný zakázaný sloupec už neexistuje; mód, který server nezná, je ve výchozím stavu zakázaný.
  • Nastavení módů lze vynutit: když to admin zapne, nastavení každého povinného módu se porovnává pomocí hashe a hráč s odlišným nastavením je odmítnut.
  • Pořadí načítání lze vynutit stejným způsobem, hashem celého pořadí. Odmítnutému klientovi se nabídne pořadí serveru a zeptá se ho, zda ho chce použít.
  • Admini obcházejí všechny kontroly, což se hodí při testování a také tak admin skončí u „důkazu“, že rozbitý seznam funguje všem.
  • Dokud neexistuje svět, nic se nekontroluje, takže první připojení není kvůli módům nikdy odmítnuto.

Seznam se nastavuje zevnitř hry. Admin načte módy, které chce, aby server používal, otevře herní admin nástroje (dev mode, poté admin menu vpravo nahoře během připojení) a nahraje seznam; zvolí, které módy jsou povinné a které volitelné a zda se mají vynucovat konfigurace. Server ho uloží a rozešle všem online. Hráč, který není admin a pošle seznam módů poté, co svět existuje, je okamžitě zabanován.

Když je hráč odmítnut, jeho klient zobrazí „Your mod list conflicts with the server“ spolu se seznamem serveru a v novějších verzích mu dokáže chybějící módy ze Steam Workshopu přihlásit k odběru a stáhnout, pokud běží Steam. Toto automatické stahování je nové a poznámky k releasu ho stále označují za první implementaci, takže pro soukromou partu zůstává spolehlivá metoda stejná: publikuj jednu kolekci na Steam Workshopu, vlož její URL do SteamWorkshopURL a řekni všem, ať odebírají tu a nic jiného. Módy ze Steam Workshopu na dedikovaných serverech vysvětluje, proč je kolekce lepší než seznam ve zprávě.

Praktická pravidla, která zachraňují svět:

  1. Seznam dořeš před vytvořením planety. Módy, které přidávají biomy, frakce nebo prvky světa, mění generování a planeta se generuje jen jednou.
  2. Optional používej u věcí, které se týkají jen obrazovky samotného hráče - UI, řazení, pohodlí. Cokoli, co přidává předměty, pawny, frakce nebo události, patří do required, protože to putuje mezi koloniemi v obchodech, darech a nájezdech.
  3. Vynucuj pořadí načítání, jakmile je skupina větší než pár lidí. RimWorld je na pořadí velmi citlivý; vysvětlení pořadí načítání módů popisuje proč.
  4. Seznam měň uváženě. Přidání povinného módu vyřadí všechny, dokud neaktualizují; odebrání nechá jeho předměty v koloniích a na trhu. Oznam to, nejdřív zálohuj, pak nahraj.

Pokud potřebuješ pustit všechny dovnitř, zatímco seznam dáváš do pořádku, togglemodbypass v konzoli vypne všechny kontroly módů a zase je zapne. Je to diagnostický přepínač, ne nastavení, které se nechává zapnuté.

Hledání veřejných serverů RimWorld Together#

Adresářem je herní Server Browser. Server se zapnutým EnableServerBrowser je v seznamu s názvem, popisem, obrázkem, odkazy na Discord a workshop, verzí, počtem hráčů vůči MaxPlayers, informací, zda má heslo, seznamem módů a jmény hráčů online. Nedávné releasy přidaly do výpisů skóre reputace a možnost server nahlásit.

Na co se podívat, než se k nějakému připojíš:

  • Verze. Musí se s tvým klientem shodovat přesně. Klient na Windows nabízí přepínač verzí, takže můžeš přejít na release serveru, místo abys čekal, až majitel aktualizuje.
  • Seznam módů. Je ve výpisu, takže vidíš, jestli se chystáš odebírat osmdesát módů.
  • Odkaz na workshop. Server, který publikuje kolekci, provozuje někdo, kdo o synchronizaci módů přemýšlel.
  • Discord. Veřejný svět je komunita a její pravidla o nájezdech, griefingu a wipech žijí tam, ne ve hře.

Mimo hru je Discord projektu místem, kde se většina komunit prezentuje, a seznamy serverů na webech hostingových firem jsou většinou jejich vlastní zákazníci. Oficiální webový seznam neexistuje.

Pro vlastní server má prohlížeč cenu, kterou stojí za to znát. Se zapnutým EnableServerTelemetry server naváže odchozí spojení se službou prohlížeče projektu, zjistí svou veřejnou IPv4 přes api.ipify.org a odešle tuto adresu a port spolu s výše uvedenými údaji, včetně jmen připojených hráčů. Při vypnutém EnableServerBrowser a zapnuté telemetrii stále hlásí, ale je označen jako soukromý a není v seznamu. Pokud nechceš, aby server odesílal jakákoli odchozí hlášení, vypni obojí; togglebrowser a toggletelemetry to provedou z konzole. Adresa, kterou prohlížeč dostane, je ta, kterou vidí ipify, takže server za VPN nebo proxy může oznamovat adresu, na kterou se hráči nedostanou.

Každodenní provoz#

Konzole je administrátorské rozhraní a úplný seznam příkazů je v průvodci multiplayerem. Pár novějších příkazů stojí za to znát:

PříkazCo dělá
banip <ip>Zabanuje adresu a vyhodí každého, kdo ji používá
pardonip <ip>Zruší ban na IP
getipVypíše veřejnou IPv4 serveru
togglebrowserZapne nebo vypne výpis v prohlížeči
toggletelemetryZapne nebo vypne hlášení prohlížeči
togglemodbypassZapne nebo vypne všechny kontroly módů
toggleclientsavePřepíná UseClientSave

Pokud chceš z někoho udělat admina, použij op <username>. Ve starších releasech to chtělo ID uživatele zjištěné přes deeplist; aktuální berou uživatelské jméno. Admini ve hře vidí admin tlačítko a přeskakují kontroly módů.

Zálohy jsou ve výchozím stavu každou hodinu, uchovává se šest, zapisují se jako archivy složek Assets/, Configs/ a Logs/ do Backups/Servers a po hráčích do Backups/Users. Leží na stejném disku jako svět, takže je kopíruj i jinam - zálohy, které se opravdu obnoví vysvětlují, proč na tom záleží. Na RE:NODE obsahuje každý plán pro RimWorld sloty záloh uložené mimo stroj a obnovované tlačítkem a konfigurační soubory se upravují ve správci souborů v prohlížeči nebo přes SFTP.

Aktualizace je událost pro celou skupinu. Zastav server, zálohuj, nahraď RTServer novým buildem (Configs/ a Assets/ zůstanou, kde jsou), spusť ho a řekni všem, ať aktualizují klientský mód, protože dokud to neudělají, je každé přihlášení odmítnuto kvůli verzi.

Řešení chyb, na které lidé skutečně narážejí#

„This server requires version ...“ Releasy klienta a serveru se liší. Aktualizuj ten, který zaostává, nebo použij přepínač verzí v klientovi. Steam aktualizuje klientský mód podle vlastního rozvrhu, takže je to po každém releasu nejčastější chyba.

„Handshake failed! Verify client version“ Stejná rodina problémů, jen dřív v průběhu spojení. Zkontroluj verze dřív než cokoli jiného.

„Your mod list conflicts with the server“ Chybí povinný mód, nebo má hráč mód, který není povinný ani volitelný. Seznam serveru je zobrazen v dialogu; porovnej ho, včetně módů, na které hráči zapomínají, například lokální kopie módu z workshopu.

Odmítnutí kvůli konfiguracím nebo pořadí módů Vynucování je zapnuté a nastavení nebo pořadí hráče se liší. Když se nabídne pořadí serveru, použij ho. U nastavení potřebuje hráč stejné soubory nastavení povinných módů, což v praxi znamená, že je sdílí admin.

Vypršení časového limitu připojení Port není dosažitelný: proces je zastavený, firewall, špatný port, chybí přesměrování portu, nebo carrier-grade NAT. Vyzkoušej to zvenčí své sítě.

„Server is currently being set up! Join again later!“ První hráč se připojil a planeta ještě neexistuje. Počkej, až ji dokončí.

Admin je cizí člověk Připojil se první. Zastav server, smaž Assets/WorldValuesFile.json a vygenerované složky v Assets/ (nebo obnov zálohu z doby před jeho připojením), nastav heslo a spusť znovu.

FAQ#

Je hostování RimWorld Together zdarma?

Ano. Server je zdarma, jeho zdrojový kód je na GitHubu a nepotřebuje licenci ani přihlášení do Steamu. Každý hráč potřebuje vlastní kopii RimWorldu a klientský mód; počítač se serverem ne.

Můžu hrát RimWorld Together a mód Multiplayer současně?

Ne. Jsou to oddělené systémy s odlišnou síťovou vrstvou a připojuješ se k jednomu nebo druhému. Zapni jen ten, který vaše parta používá, protože oba upravují hodně částí hry.

Potřebuje server výkonný počítač?

Ne. Nespouští simulaci, takže malou skupinu pohodlně obslouží 1 GB paměti a zlomek jádra. Víc než CPU záleží na šířce pásma a disku pro savy a zálohy.

Můžu stávající svět RimWorld Together přesunout na jiný počítač?

Ano. Zastav server, zkopíruj celou složku - Assets/ a Configs/ dohromady - na nový počítač, spusť tam stejný release a nasměruj hráče na novou adresu. Účty a kolonie putují s Assets/.

Proč se můj server nezobrazuje v prohlížeči?

Buď je vypnuté EnableServerBrowser nebo EnableServerTelemetry, server nemůže navazovat odchozí spojení, nebo oznamovaný port není zvenčí dosažitelný. Konzole při startu říká, zda je vyhledávání zapnuté.

Potřebují hráči DLC, aby se mohli připojit?

Jen to, co vyžaduje svět serveru a jeho módy. Hráč s menším počtem rozšíření než hostitel může narazit na problémy s obsahem, který putuje mezi koloniemi, a klient při připojení upozorňuje na volitelná DLC. Sadu DLC dohodněte stejným způsobem jako seznam módů.

Pomohlo vám to?