Een officiële walkthrough voor het opzetten van een dedicated server voor NEBULOUS: Fleet Command.
Ermee beginnen
Serverselectie
Zonder de weergave-aspecten zijn de prestatie-eisen voor N:FC redelijk bescheiden. Mijn eerste tests van de dedicated server-build gebruikten een vreselijke Hostwinds VPS van $ 15 met 1 core en 2 GB RAM. We konden een paar 3v3-testgames spelen met deze server zonder noemenswaardige problemen, maar als je wilt dat je spelers zich vermaken, moet je voor iets beters gaan.
U wilt minimaal 2 CPU-cores. De game is meestal single-threaded vanwege Unity-beperkingen, maar sommige van onze langlopende processen, zoals pathfinding, worden op een aparte thread uitgevoerd, aangezien elke pathfinding-taak enkele seconden kan duren om te voltooien op de meer complexe kaarten. Met slechts één kern ervaar je tijdelijke bevriezingen wanneer een padzoekende taak aan de gang is, bijvoorbeeld wanneer elke reddingsboot wordt gelanceerd en een ontsnappingsroute berekent.
We konden genoegen nemen met 2 GB RAM in een eerste test, maar ik raad je aan om er minstens 4 te hebben voor de server.
Om u te helpen uw behoeften met een voorbeeld te berekenen, draaien de officiële servers op een VPS met een 6-core Ryzen 5900X met 16 GB RAM. We hebben twee van deze servers en elk draait 3 instanties van het spel. Netwerkverkeer kan een piek bereiken van 10 Mbps uitgaand, met verwaarloosbaar inkomend verkeer.
De binaire bestanden ophalen
Momenteel is de serverbuild NIET op een handige manier beschikbaar. We zijn nog steeds bezig om de servertool anoniem te downloaden via Steam, en we werken samen met hostingproviders om "één-klik"-hosting beschikbaar te maken. Zodra deze beschikbaar zijn, wordt deze sectie bijgewerkt.
Neem in de tussentijd contact met mij op via de ModMail-bot op onze officiële onenigheid om toegang te krijgen tot de serverbuild.
Host-setup
In dit gedeelte wordt de configuratie van uw nieuwe server behandeld.
Als je eenmaal een VPS-provider hebt gevonden die je wilt gebruiken en je server hebt gekocht (of er een hebt ingesteld op een reservecomputer die je om de een of andere reden nog hebt liggen), moet je deze configureren. De server is momenteel alleen Linux om te besparen op serverkosten, aangezien een Windows-besturingssysteem maar liefst $ 10 per maand kan toevoegen aan een serverhuur. Ik draai de officiële servers op CentOS, maar je kunt elke gewenste smaak gebruiken.
Als uw provider geen eenvoudige FTP-interface biedt, moet u een FTP-service op uw server instellen. Als je hebt besloten om CentOS te gebruiken, kan dat volg deze gids voor eenvoudige installatie.
Ik raad u ook ten zeerste aan een firewall te configureren als de installatie van het besturingssysteem deze niet standaard had. Ik zal de poorten behandelen die je later moet openen. Voor degenen onder u die nog nooit een server hebben gebruikt die op het openbare internet is gericht, u zult versteld staan hoe vaak uw server wordt gehamerd door kwaadwillende actoren die uw spelserver in een bitcoin-mijnwerker willen veranderen. U kunt deze handleiding volgen hier.
Als u uw server vanuit uw huis of een ander NAT-netwerk gebruikt, moet u eraan denken om port forwarding op uw router in te stellen voor de poorten die we later zullen bespreken.
Ten slotte wordt het om veiligheidsredenen niet aanbevolen om het spel als root uit te voeren, dus u moet een nieuwe gebruiker met beperkte machtigingen maken die als uitvoerende gebruiker zal dienen.
Serverconfiguratie
In dit gedeelte wordt het instellen van de speciale N:FC-serverinstantie beschreven. Houd er rekening mee dat u meerdere instanties op één server kunt uitvoeren als de specificaties hoog genoeg zijn.
De build uploaden
Zodra u de binaire bestanden van de server heeft, moet u deze uploaden naar uw server. Zodra de anonieme download van de Steam-tool is ingeschakeld, kunt u deze stap overslaan.
De gemakkelijkste manier om dit te doen, als je eenmaal je FTP-service hebt geconfigureerd, is door FileZilla te downloaden en de hele build-map naar de gedeelde map te uploaden. Nadat de build is geüpload, kopieert u deze naar een installatiemap naar keuze:
cp -r /home/ftpuser/shared/Build_Server /installation/directory/you/want/ chown -R gameuser /installation/directory/you/want/ chmod +x /installation/directory/you/want/NebulousDedicatedServer
Configuratiebestand
Er is een volledig becommentarieerde voorbeeldserverconfiguratie geleverd bij de serverbuild om u op weg te helpen. Houd er rekening mee dat zodra automatisch downloaden met Steam beschikbaar is, dit bestand door Steam wordt gevolgd en bijgewerkt als u het wijzigt, dus het wordt aanbevolen om een kopie te maken.
Wanneer de server start, zoekt deze naar DedicatedServerConfig.xml in de installatiemap. U kunt ook een ander configuratiebestand opgeven met de vlag -serverConfig. Deze optie bestaat om het mogelijk te maken dat meerdere exemplaren worden uitgevoerd zonder dat er meerdere afzonderlijke installaties nodig zijn. Ik raad u aan uw configuratiebestand buiten de installatiemap te bewaren, zodat het bijwerken van de server het niet wist.
Het configuratiebestand kan worden opgesplitst in een paar logische secties:
- Server Basics – Dingen zoals de naam, MOTD, aantal spelers, poorten en admins.
- Spelinstellingen – Scenario, tijdslimiet en andere spelregels.
- Kaartrotatie – Beschikbare kaarten en hoe de rotatie werkt.
- Bots – Voor PVE-servers.
- Mods – Beschikbare mods en of gemodificeerde wagenparken zijn toegestaan.
U kunt het Admin-gedeelte blanco laten, maar als u uw server wilt kunnen beheren wanneer u zich in de lobby bevindt, moet u zich hier registreren. Gebruik je 64-bit Steam ID.
Poortfiltering
Als u een firewall hebt ingesteld (zoals u zou moeten hebben), moet u de juiste poorten openen zodat externe computers verbinding kunnen maken met uw server. Er zijn twee primaire poorten die moeten worden geopend. De standaard gamepoort is 7777 TCP, waar al het gameverkeer doorheen stroomt. De standaard Steam-querypoort is 27016 UDP, wat nodig is om uw server te laten opvragen door de serverbrowser. Gebruik de poorten die u in uw configuratiebestand hebt geplaatst.
Deblokkeer deze poorten als volgt:
firewall-cmd --permanent --add-port 7777/tcp firewall-cmd --permanent --add-port 26017/udp systemctl herstart firewalld
Vergeet niet om deze poorten op uw router door te sturen als u de server binnen uw thuisnetwerk gebruikt.
Uw server uitvoeren
Ervan uitgaande dat alles hierboven correct is gedaan, zou u uw server nu moeten kunnen starten! U kunt de server uitvoeren met de volgende opdracht:
OPMERKING: wanneer u uw server start, krijgt u absoluut spam met een muur van fouten over ontbrekende shaders. Dit is blijkbaar een "functie" van Unity en ze hebben herhaaldelijk op hun forums gezegd dat het niet zal worden opgelost. U kunt ze gerust negeren, hoewel het erg moeilijk wordt om daadwerkelijke legitieme fouten te ontdekken die ervoor kunnen zorgen dat uw server niet correct opstart.
/installatie/directory/u/want/NebulousDedicatedServer -nographics -batchmode -logFile /pad/naar/uw/log/server.log -serverConfig /pad/naar/uw/server/ServerConfig.xml
Dit zorgt er echter voor dat uw terminal bezig blijft met de draaiende server en het sluiten van uw terminal zal de server doden. U kunt een & achter het commando plaatsen om het op de achtergrond te laten draaien, of u kunt wat extra moeite doen in het volgende gedeelte om het beheer van uw server een fluitje van een cent te maken.
Een service configureren (optioneel)
Services zijn processen die worden aangestuurd via de systemctl-daemon. U kunt een proces maken voor elk gewenst binair bestand met een speciaal configuratiebestand. Als u dit doet, kunt u eenvoudig de status van uw gameserver starten, aanvullen en controleren.
Service-bestand
Services worden gedefinieerd door .service-bestanden en worden op veel locaties opgeslagen. Voor deze tutorial plaatsen we het in /etc/systemd/system/.
Dit bestand maakt een eenvoudige service voor onze N:FC-server. Sla dit bestand op als neb-server.service
[Unit] Beschrijving=Nebulous Dedicated Server After=network.target [Install] WantedBy=multi-user.target [Service] Type=simple ExecStart=/installation/directory/you/want/NebulousDedicatedServer -nographics -batchmode -logFile /path/ to/your/log/server.log -serverConfig /path/to/your/server/ServerConfig.xml WorkingDirectory=/installation/directory/you/want/ User=gameuser Group=gameuser Restart=altijd RestartSec=30
Zorg ervoor dat u alle paden vervangt door de juiste die u wilt gebruiken.
Nadat je dit bestand hebt geschreven en naar de juiste map hebt gekopieerd, moet je de systemctl-daemon opnieuw laden:
systemctl daemon-reload
U kunt vervolgens deze opdrachten gebruiken om uw service te beheren:
systemctl start neb-server systemctl status neb-server systemctl stop neb-server
U kunt uw spelserver ook zo instellen dat deze automatisch start wanneer de server voor het eerst opstart met deze opdracht:
systemctl enable --nu neb-server
Een opmerking over mods
Mods zijn een precair onderwerp voor dedicated servers vanwege hun lange uptime en het feit dat Workshop-mods automatisch worden bijgewerkt voor spelers. Als een werkplaatsmod wordt bijgewerkt en een client heeft de up-to-date mod, maar de server draait al een week en heeft de update dus niet ontvangen, dan kan er ongebruikelijk gedrag optreden. Zoals altijd worden mods op eigen risico gebruikt.
Er zijn weinig details waarmee u rekening moet houden als u ervoor kiest om mods te gebruiken.
Mod downloaden
Er is momenteel een probleem met de dedicated server-build waarbij het soms niet mogelijk is om mods te downloaden. Het schijnt per computer te verschillen. Het uitvoeren van de server voor testen op mijn eigen computer resulteerde in het downloaden van de mods, maar bij het uitvoeren op de officiële servermachines deden ze dat niet. Ik moest alle mods handmatig naar de server kopiëren. Voor anonieme aanmeldingen bij Steam, wat de server gebruikt, worden je mods gedownload naar de installatiemap onder steamapps/workshop/content/887570/ .
Gemodificeerde kaarten
Kaarten waren de meest geteste mods tijdens het ontwikkelen van de dedicated servers en ze werken prima. Het enige dat u hier moet onthouden, is dat u het ID-nummer van de mod in de gedeelte van uw configuratiebestand, anders wordt het niet geladen en kan de kaart dus niet worden gebruikt.
Romp- en componentmodificaties
Om veiligheidsredenen zullen de dedicated servers geen mods laden die niet in de mod-lijst van het configuratiebestand staan. Als u van plan bent om aangepaste wagenparken op uw server toe te staan, moet u elke wagen die u autoriseert expliciet vermelden in uw lijst met mods, en de instelling AllowModdedFleets instellen op True.
Dat is alles wat we hiervoor vandaag delen NEBULOUS: Vloot Commando gids. Deze handleiding is oorspronkelijk gemaakt en geschreven door Martelaar_van_Kharak. Als we deze handleiding niet kunnen bijwerken, kunt u de laatste update vinden door deze te volgen link.