Terraria serververeisten

Een Terraria dedicated server behoort tot de lichtste van het genre: het hele geheel draait op minder geheugen dan de meeste games nodig hebben voor een menu. Er zijn twee vragen te beantwoorden, niet één: hoeveel mensen er tegelijk zullen zijn, wat het abonnement bepaalt, en hoe groot de wereld zal worden, wat het geheugen bepaalt.

De onderstaande cijfers gelden alleen voor de dedicated server. Spelers draaien het spel op hun eigen machine en hebben van de host niets meer nodig dan een bereikbaar adres, ook als je plugins draait.

Geheugen

1 GB for a small group, 2–4 GB for a busy large world

Terraria is opvallend licht, en hier doen de meeste mensen te veel aankopen. Een TShock 6-server draait stil op ongeveer 420 MB op een nieuwe middelgrote wereld en 530 MB op een grote, dus een paar vrienden hebben genoeg aan 1 GB. Wat het omhoog drijft is niet het aantal mensen maar de wereld: een grote kaart die veel is verkend, zwaar is bebouwd en vol kisten en NPC's zit, neemt meer in het geheugen dan een nieuwe, en dat zakt niet weer. Plugins komen daar bovenop in plaats van die kosten te vervangen.

Processor

1–2 cores, clock speed over core count

Wereldsimulatie is single-threaded, dus één snelle core verslaat vier trage en extra cores kopen bijna niets. Daarom draait een goedkope VPS die veel zwakke vCores adverteert vaak een Terraria-wereld slechter dan een kleinere machine met een moderne processor.

Schijf

2 GB, plus room for backups

Verrassend klein naar moderne maatstaven. De server is een paar honderd megabyte en zelfs een groot wereldbestand is enkele megabytes. De reden om extra ruimte te vragen zijn backups: de rollende backups van TShock plus een bewaarperiode van een paar dagen stapelen zich op, en schijf is het goedkoopste van de drie om over te dimensioneren.

Spelers

~8, ~16 or ~32 — sizing, not a cap

Het eigen plafond van Terraria is 255 spelers, en dat is waarmee elke server hier start, dus niets weigert de negende speler op het kleinste abonnement. Het getal bij een niveau is wat de CPU en het geheugen ervan comfortabel bedienen. In de praktijk is het voorbij ongeveer 16 de bandbreedte en hoeveel van de kaart tegelijk geladen is die de beperking vormt.

Netwerk

TCP 7777, en dat is echt alles

Eén TCP-poort voor het spel, zonder aparte queryport en zonder UDP, wat Terraria een van de eenvoudigste games maakt om door te sturen. TCP 7878 is optioneel en alleen nodig als je de REST API van TShock draait, waarmee een paneel de live spelerslijst kan lezen. Bandbreedte is bescheiden; latentie naar je spelers is wat zij voelen.

Besturingssysteem

Linux of Windows, 64-bit, plus een .NET-runtime

Re-Logic levert de dedicated server voor beide. Linux is de gebruikelijke keuze voor een gehoste server omdat het goedkoper is om te draaien en de containerimages beter onderhouden worden. TShock heeft een .NET-runtime nodig naast zich. Er is niets aan een wereldbestand dat platformspecifiek is, dus een .wld verhuist ongewijzigd tussen beide.

Bepaal de grootte op basis van de groep, controleer daarna het geheugen

Begin met de groep, omdat die het is waarvoor de CPU en het geheugen van een niveau gekozen zijn. Het is geen poort: elke server hier start met -maxplayers 255, Terraria's eigen maximum, dus niets weigert de negende speler op het 1GB-abonnement. Kies het niveau dat je groep comfortabel past, niet het niveau dat ze er net in laat.

Geheugen is een aparte as, en het beweegt mee met de wereld in plaats van het aantal mensen. De server simuleert wat er gebouwd is, wat verkend is en wat er in kisten ligt, of de groep nu online is of niet. Een duo op een grote wereld waar ze al een jaar in graven kan meer RAM nodig hebben dan een volledige groep op een wereld die vanochtend is gegenereerd.

De volgorde is dus: kies het niveau op basis van de groep, kijk dan wat dat niveau je aan geheugen geeft en vraag je af of de wereld die je voor ogen hebt bescheiden is of een langlopend project. Als het het laatste is, ga dan één niveau omhoog voor het RAM in plaats van voor het aantal spelers.

De poort, enkelvoud

Terraria is hier verfrissend eenvoudig vergeleken met de rest van het genre. Er is geen queryport, geen UDP en geen poortbereik, gewoon één TCP-poort.

TCP 7777 is de gamepoort, degene die spelers invullen bij 'Join via IP', en dat is alles wat een normale server nodig heeft. TCP 7878 is optioneel: het is de REST API van TShock, waarmee een extern paneel de live spelerslijst kan lezen en commando's kan geven. Die is beveiligd met een token en standaard uit, dus open hem niet zonder eerst een token in te stellen.

Als je server draait maar niemand kan joinen, werkt de troubleshootingpagina de oorzaken af in de volgorde die het snelst werkt.

Wat plugins veranderen

Minder dan je op die hardware zou verwachten, en niets voor je spelers. TShock-plugins draaien alleen server-side, dus iedereen die joint gebruikt het onaangepaste spel: er is geen versie-afstemming nodig en niemand wordt gekickt omdat die de verkeerde build heeft. Dat is het stille voordeel dat Terraria heeft ten opzichte van client-side modding.

Wat geheugen betreft is een handvol kwaliteit-van-leven-plugins bijna gratis; een groot economie- of regiosysteem op een volwassen wereld is het geval dat het kleinste niveau ontgroeit. Wat echt bijt is versie-afwijking: een plugin die voor een oudere TShock is gebouwd kan bij het laden crashen en de server meenemen. Een TShock-server draaien behandelt wat je moet controleren en wanneer.

Elk abonnement hier voldoet aan de eisen hierboven

Alle drie de niveaus publiceren de gamepoort, installeren TShock met de pluginmap op je volume, maken uurlijkse wereldbackups, en laten je bij het deployen de wereldgrootte, moeilijkheid, evil en seed kiezen. Ze verschillen in geheugen, processor en schijf, de dingen die echt bepalen hoe een Terraria-wereld draait.

Bekijk de abonnementen