Deze gids is bedoeld om iemand te begeleiden bij het installeren van de V Rising dedicated server – momenteel een Windows-only applicatie – onder Linux en het opstarten zodat het bruikbaar is voor online spelen.
Stap 1: Vereisten (OS, ondersteunende apps)
Systeemvereisten voor Linux Dedicated Server
Allereerst - deze gids vereist dat je je eigen Linux-kennis naar de tafel brengt, IE hoe te installeren, netwerken te configureren, enz. - de basisdingen. Met dat als uitgangspunt (en met een beheersing van je eigen smaak van het besturingssysteem in gedachten als het verschilt van degene waar ik hier over schrijf), ga alsjeblieft verder.
Deze gids laat zien hoe ik de server voor mezelf en mijn vrienden heb laten draaien. Het is een samenraapsel van informatie die ik heb gevonden voor Conan Exiles (een andere schijnbaar op Windows gebaseerde dedicated server) en configuratie-informatie voor V Rising zelf.
Aangezien het spel via Windows-emulatie op Linux gaat draaien, wil je dit waarschijnlijk niet op een Raspberry Pi of iets pijnlijk ouds draaien; maar bijna elk relatief modern systeem met laten we zeggen 4 cores en 8GB geheugen zou in orde moeten zijn. Een voorbehoud is dat, hoewel het een dedicated server is, je hem waarschijnlijk minstens dagelijks wilt sluiten en opnieuw opstarten, indien mogelijk, omdat het lijkt alsof het emulatiegeheugen optelt. Ik voer dit uit op een machine met 32 GB en de Linux-emulatie-engine (niet het door wijn beheerde Windows-proces) begint in de loop van de tijd in geheugenverbruik te kruipen.
HEY DEVS: GEEF ME EEN JUISTE LINUX DEDICATED SERVER, IK WIL DIT NIET VOOR ALTIJD EMULEREN.
Verder gaan. Je hebt een Linux-systeem nodig, en bijna elk van hen zal het doen, maar de populaire kanshebbers krijgen natuurlijk de hoogste cijfers; CentOS, Ubuntu, OpenSuSE - wat dan ook. Ik gebruik Debian 10 (buster).
Opmerking: JE HEBT ROOT NODIG om de volgende stappen uit te voeren, of je ze nu allemaal sudo of gewoon een hele shell als root uitvoert, beide zullen werken.
Ten eerste moet je ervoor zorgen dat je de juiste pakketten hebt, wat betekent dat je de juiste repository-opties nodig hebt. Om al deze te krijgen heb je meer nodig dan alleen het 'hoofd' kanaal. Hier zijn mijn brongegevens uit het bestand / Etc / apt / sources.list
deb http://deb.debian.org/debian/ buster hoofdbijdrage niet-vrij deb-src http://deb.debian.org/debian/ buster hoofdbijdrage niet-vrij deb http://security.debian.org /debian-security buster/updates hoofdbijdrage niet-vrij deb-src http://security.debian.org/debian-security buster/updates hoofdbijdrage niet-vrij deb http://deb.debian.org/debian/ buster -updates hoofdbijdrage niet-vrij deb-src http://deb.debian.org/debian/ buster-updates hoofdbijdrage niet-vrij
Zorg ervoor dat u 'apt update' of 'apt-get update' uitvoert nadat u uw bronnenlijst hebt gewijzigd. Voer vanaf daar de volgende opdrachten uit:
dpkg --add-architecture i386 apt-get install wine wine32 wine64 xvfb mingw-w64 mingw-w32 scherm steamcmd
U krijgt een VEEL langere lijst met pakketten te zien die bij de bovenstaande lijst horen, zorg er gewoon voor dat u voldoende schijfruimte heeft en accepteer de vereiste/aanbevolen pakketten. Technisch gezien is niet alle lijst die ik in het commando heb nodig, maar als wijn begint en klaagt over ontbrekende dingen zoals gekko (mingw), haat ik zulke berichten, dus deze lijst zou dat allemaal moeten dekken. Mijn mening hierover is dat de enige fouten waar je aan wilt denken de fouten zijn die de serversoftware naar je gooit.
Maak vervolgens een niet-root-account waaronder u de software gaat gebruiken en stel er een wachtwoord voor in.
useradd -m -d /game/vrising vrising passwd vrising
Nu je een gebruiker hebt, gebeurt de rest onder dat account. Log er nu in.
Stap 2: V Rising downloaden met steamcmd
Zorg er met je glimmende nieuwe account voor dat je de volgende variabelen in je profiel hebt, of dat nu .bashrc, .bash_profile, .profile, wat dan ook is. Voeg ze toe, sla op/stop, log uit/log in en voer de volgende opdracht uit om te controleren of ze aanwezig zijn:
env|grep WIN
Maak vervolgens een map voor de steam-client om de gamebestanden in op te slaan. IE /game/vrising/vrising_files en voer de volgende opdracht uit om de game te downloaden.
OPMERKING: alles van 'steamcmd' tot '+exit' is een opdracht van één regel
steamcmd +@sSteamCmdForcePlatformType windows +force_install_dir /home/vrising/vrising_files +login anoniem +app_update 1829350 +exit
Dat is het!
Stap 3: Start de server de eerste keer
Nu je de game hebt gedownload, kun je hem voor het eerst uitvoeren. Je zult er nog NIET op spelen, dit is alleen maar om de bestanden uit te pakken, configuratiebestanden te laten genereren, enz. Voer de volgende opdracht uit en laat het een paar minuten zitten, totdat je herhaalde berichten ziet die aangeven dat de server is het doen van basisonderhoudsdingen, meestal zoiets als wat hieronder staat.
OPMERKING: Alles van 'xvfb-run' tot het einde van '-log' is een opdracht met één regel.
xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /game/vrising/vrising_files/VRisingServer.exe -log -- herhalende berichten hieronder-- [FileUserList] Geladen FileUserList van: Z :\home\vrising\vrising_files\VRisingServer_Data\StreamingAssets\Settings\adminlist.txt, Toegevoegd: 0 [FileUserList] FileUserList geladen van: C:\users\vrising\AppData\LocalLow\Stunlock Studios\VRisingServerlist.Settings\Settings\ad Toegevoegd: 1 [FileUserList] Geladen FileUserList van: Z:\home\vrising\vrising_files\VRisingServer_Data\StreamingAssets\Settings\banlist.txt, Toegevoegd: 0 [FileUserList] Geladen FileUserList van: C:\users\Loscal\AppData Stunlock Studios\VRisingServer\Settings\banlist.txt, Toegevoegd: 0
Zodra je een paar van deze berichten ziet stapelen, is het veilig om op CTRL-C te drukken om de app te sluiten. Nu is het tijd voor configuratie!
De belangrijkste bestanden waar je om geeft, zijn deze:
Spelinstellingen
/game/vrising/vrising_files/VRisingServer_Data/StreamingAssets/Settings/ServerGameSettings.json
Server instellingen
/game/vrising/vrising_files/VRisingServer_Data/StreamingAssets/Settings/ServerHostSettings.json
Beheerderslijst
/game/vrising/vrising_files/VRisingServer_Data/StreamingAssets/Settings/adminlist.txt
- Spelinstellingen is alles wat er IN het spel gebeurt. Dag-nachtcycli, oogstsnelheden, enz.
- Serverinstellingen zijn zaken als het wachtwoord voor deelname, servernaam/beschrijving, enz.
- Beheerderslijst is precies dat - ik heb mezelf toegevoegd aan mijn server, maar heb het eerlijk gezegd nog niet gebruikt, dus geen idee wat je ermee kunt doen.
Bewerk de eerste twee naar eigen inzicht om je spel plezierig te maken. Om jezelf in de adminlist.txt te krijgen, ga je gewoon naar steamid-dot-io, plug je je gebruikersnaam in en pak je de 'steamID64'-nummers. Zet dat alleen op een regel (één record per regel als je meerdere mensen hebt die admin-dingen doen) en sla op/stop.
Nu kun je het spel uitvoeren en er daadwerkelijk op spelen.
Stap 5: Hoe 'screen' te gebruiken om de server te laten draaien
Nu je het spel klaar hebt voor gebruik, als de doorgewinterde linux-persoon die je bent, weet je dat er één addertje onder het gras is. Zodra je terminal / putty / welke sessie dan ook wordt afgesloten, wordt het spel afgebroken en wil je duidelijk niet altijd een terminalvenster open laten. Dit is waar een van de andere apps die we hebben geïnstalleerd binnenkomt.
Voer deze opdracht uit:
scherm -t Linux
Het lijkt erop dat het niets deed, toch? Niet helemaal. De shell wordt nu uitgevoerd in een afneembare sessie - wat betekent dat zodra u de server start, u deze kunt loskoppelen, het terminalvenster kunt sluiten en er later op terug kunt komen. Om te zien wat ik bedoel, doe iets onschuldigs als 'top'. Nu je dat op het scherm hebt, druk je op 'CTRL-A', laat dan los en druk op 'D'. Let op het bericht 'los van'. Voer nu 'ps -ef|grep top' uit en kijk of het nog steeds actief is. Mooi toch? Om opnieuw verbinding te maken, voer je 'screen -x' uit en koppel je er dezelfde sessie opnieuw aan. Nu kunt u uit de top stoppen en als u zich afmeldt bij die sessie, ziet u 'scherm wordt beëindigd'.
Dus laten we dat allemaal samenvoegen om het spel te starten. Merk op dat de '-t Linux' het scherm alleen maar vertelt om een bepaalde TERM-instelling te gebruiken voor zaken als kleuren en speciale tekenopmaak, meer niet.
screen -t Linux xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine /game/vrising/vrising_files/VRisingServer.exe -log
Dit zal het spel starten en je kunt dit laten draaien, het uittesten door te proberen verbinding te maken vanaf een clientsysteem.
Ervan uitgaande dat u zich in hetzelfde LAN bevindt als de server en er geen firewall is geconfigureerd op de Linux-box, start u V Rising-game en doet u het volgende:
Spelen -> Online spelen -> Servers zoeken -> Alle servers en instellingen weergeven -> Directe verbinding
U wordt gevraagd om IP/poort-info in te voeren. Alleen het IP is goed. Als u een wachtwoord in de configuratiebestanden instelt, voert u dit hier in om door te gaan. Als het spel begint te laden, gefeliciteerd met je deelname!
U zou het verbindingsbericht op de serverterminal moeten kunnen zien verschijnen en voorbij kunnen scrollen. U kunt nu CTRL-A, D de sessie. Je spel wordt uitgevoerd
Stap 6: De server bijwerken wanneer nodig?
Wanneer u onderhoud aan het systeem moet doen; game-update, OS-update, wat dan ook. Log gewoon in op uw dedicated serveraccount, voer 'screen -x' uit om verbinding te maken met de sessie en vervolgens CTRL-C om het spel te sluiten. De opdracht die we eerder hebben uitgevoerd om de game te downloaden, wordt hier opnieuw uitgevoerd, deze wordt gevalideerd tegen de Steam-servers en alle updates worden opgehaald. Voer vervolgens de opdracht xvfb-run opnieuw uit om het spel te starten. Fluitje van een cent.
Voel je vrij om deze commando's in scriptbestanden te plaatsen, zodat je niet door de shellgeschiedenis of een opgeslagen txt-bestand of iets anders hoeft te graven om van te kopiëren/plakken. De wereld is jouw oester, geniet ervan.
Stap 7: Firewallregels & Port Forwarding
Het leven zou niet compleet zijn zonder de hoofdpijn van beveiliging, toch?
Gelukkig kan ik hier ook helpen, en gelukkig gebruikt de game niet een metrische ton poorten zoals sommige anderen die ik heb gespeeld. In ieder geval - het bestand ServerHostSettings.json geeft je hier de belangrijkste hint met de velden 'port' en 'queryport', maar het is niet alles wat je moet weten.
U moet het volgende accepteren/doorsturen/enz.:
- UDP: 9876
- UDP & TCP: 9877
Met deze twee poorten open en doorsturen van/naar je gameserver, kunnen vrienden van over de hele wereld zich bij je aansluiten en zullen ze zelfs je server kunnen vinden in het hoofdzoekgebied van de multiplayer-serverlijst - het gebruik van een unieke identificatie in de servernaam zal helpen ze veel daar 😉
Voor een GUI-gestuurde thuisrouter zou het vrij eenvoudig moeten zijn om de nummers in te pluggen en daarvoor moet je in je documentatie kijken. Als je een op Linux gebaseerde gateway hebt zoals ik en directe iptables-opdrachten nodig hebt, zouden deze je moeten helpen, indien nodig aanpassen voor je thuisnetwerk. Deze zijn geformatteerd vanuit een 'rules'-bestand voor een debian firewallservice, maar je kunt gewoon 'iptables' voor elke regel plaatsen en de rest van alles ('-A' en hoger) zal prima werken. 10.89.0.200 is de gameserver op mijn LAN.
-A INGANG -i eth0 -p udp -m udp --dport 9876 -j ACCEPT -A INGANG -i eth0 -p udp -m udp --dport 9877 -j ACCEPT -A INGANG -i eth0 -p tcp -m tcp --dport 9877 -j ACCEPTEREN -A VOORUIT -d 10.89.0.200/32 -i eth0 -p udp -m udp --dport 9876 -j ACCEPTEREN -A VOORUIT -d 10.89.0.200/32 -i eth0 -p udp - m udp --dport 9877 -j ACCEPTEREN -A VOORUIT -d 10.89.0.200/32 -i eth0 -p tcp -m tcp --dport 9877 -j ACCEPTEREN
OPMERKING: ik ga ervan uit dat als je iptables-regels gebruikt, je IP MASQ ook correct hebt geconfigureerd. UPNP zou een bonus zijn, maar niet vereist.
Dat is alles wat we hiervoor vandaag delen V stijgt gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door KriegTiger. Als we deze handleiding niet kunnen bijwerken, kunt u de laatste update vinden door deze te volgen link.