Att driva en ARMA 3 Exile-server - Del 2

Medlem
Att driva en ARMA 3 Exile-server - Del 2
Citat:

Att starta en ARMA 3 Exile-server är en resa i frustration och misslyckande, bara riktigt masochistiska personer sysslar med det, och jag är en av dem.

Jag vet inte hur många tusen timmar jag har spelat Operation Flashpoint, ARMA, ARMA 2 och ARMA 3, det är nog kanske fem tusen timmar, utan tvekan är det spel jag spelat mest, men sedan ARMA 2 så har det inte varit mycket spelande av själva grundspelet, utan DayZmod och Epoch, och nu Exile. Det började under den tid jag administrerade en server som hette SE5, driven av Zombies.nu, jag fick tidigt tillgång till allt som skedde back-end, servern hade oftast 40-50 spelare online och det var en hel del arbete för att hålla allt flytande. ARMA är byggd på en av de mest bandbreddskrävande multiplayermotorerna därute och att smälla upp en server för många spelare kräver en pålitlig server. Den vi använde oss av stod hemma hos Tansien (skaparen av arma2-modden DayZero) med en riktigt fet pipa (1Gbit) så prestanda var inte några problem på den tiden. En sådan server använde (precis som ARMA 3) vi någon form av Remote Desktop för att ansluta till och konfigurera. ARMA bryr sig inte så mycket om multi-threading eller flera kärnor utan vill mest av allt ha klockhastighet (3.5GHz och uppåt för spelarantal över 50), som mest brände vår server runt 60Mbit bandbredd, tills vi stötte på problemet med konkurrens.

Det är en hård värld i ARMA 2 (Preludium)

Genom att vara en av de mer populära Arma 2:Epoch-servrarna därute så blev vi snabbt måltavlor för DDoS-attacker. Konkurrensen mellan topp 10-20 var hård och gissningsvis var det någon/några av våra konkurrenter som försökte dumpa vår server. Dessvärre drabbade det här även DayZero-servrarna som även de var väldigt populära. När sånt här händer så uppstår frustration i communityn och man tappar spelare, på två veckors tid så förlorade vi ungefär 300 aktiva spelare och gick från ett genomsnitt med 50 till ett runt 25, en effektiv halvering av spelarantalet på grund av detta. Andra servrar (MGT framför allt) gagnades mycket av detta. Vi bestämde oss för att flytta vår server från Tansiens lägenhet till den tyska serverleverantören Hetzner, det gick riktigt bra ett tag men förlorat är förlorat, har en server en gång fått ett rykte om att ha problem med uppkopplingen så är det svårt att ändra på det. Dessvärre var detta början på slutet för SE5, vi var ett kärnteam på 6 utvecklare och administratörer, när spelarantalet sjunker så tappar många intresset, till sist så var det bara jag och en engelsman, Ben Yarwood.

Efter att vi förlorat vår topposition som server så blödde vi spelare och det blev tuffare och tuffare att stå sig i konkurrensen. Att driva en egen Epoch-server blev populärt, och vi såg antalet servrar växa från runt hundratalet till en början till drygt tusen servrar. Alla ville köra sin egen server, precis likadan som alla andra. När jag och Yarwood till sist kom fram till att det var dags att lägga ner (vi var vid det här taget goda vänner med utvecklarna för Epoch-modden) så fick vi reda på att vi hade möjligheten att få vara bland de första att driva en Epoch server för Arma 3. Yarwood jobbade som nätverkstekniker i England och hade tillgång (via jobbet) till två riktigt fina servrar som de hyrde av det stora företaget OVH (som har den kanske bästa anti-DDoS-tekniken som finns), nu var vi i business igen, eller?

Att driva en ARMA 3 Epoch-server (preludium 2)

Med "foten i dörren" så hade jag och Yarwood möjligheten att få driva två europeiska officiella community-servers. Jag och Yarwood hjälptes åt med att konfigurera och administrera, men att sätta upp Arma 3 Epoch var annorlunda från den versionen för Arma 2, nytt var att vi nu inte använde oss av databassystemet MySQL (som vi var vana med) utan istället körde vi med ett snabbare system som kallas för redis. Att lära sig hantera redis var en del av utmaningen, att tampas med Arma 3 en annan, fördelen var att vi båda två var motiverade. Vi var närmast garanterade att få fulla servrar och en Arma 3 Epoch-server kunde maxas med runt 80-90 spelare. Vi insåg snabbt att vi förmodligen skulle vinna på att dra igång en egen community, ett eget varumärke. Med min bakgrund inom webb och marknadsföring och Yarwoods expertis inom nätverksteknik så kände vi oss väl lämpade för utmaningen, att konfigurera resten var i princip samma sak som för ARMA 2. Dels består det av en fil som klienterna laddar ner från servern, det är i princip i den filen som allt som är "unikt" för din server hamnar, det är också den här filen som man lägger all kod.

ARMA använder sitt eget programmeringsspråk som kallas för SQF, det påminner om C++ blandat med Java men har en hel del egenheter som bryter mot konventionell programmeringslogik (till och med på den mest grundläggande nivå såsom if/else-satser) - detta har varit en stor frustration bland många utvecklare, personligen är jag allt annat än en skicklig programmerare, jag har lärt mig varteftersom jag administrerat men ARMA-motorn är en stor källa för frustration, dels för att den har så uråldrig arkitektur (det finns delar som bygger på Operation Flashpoint kvar i ARMA 3) dels för att den är allt annat än optimerad, och dels för att den gör oberäkneliga saker. Detta har lett till att många utvecklare helt enkelt lagt ner och skippat arbeta med ARMA 3. Bara masochister fortsätter, och jag är väl en av dem.

För att göra en lång historia kort så drev jag och Yarwood två fullsmockade servrar i ungefär två månader, under den tiden var serverkoden för Epoch till ARMA 3 låst, det vill säga bara vi som utvalts av utvecklarna kunde driva egna servrar. Sedan släpptes koden fritt och därefter gick vi från 160 samtidiga spelare varje dag på våra två servrar till ett totalt antal spelare på 20. Yarwood tröttnade på hela spektaklet och bestämde sig för att sluta med detta, med detta stod jag själv utan server och nu var det dags att köra mitt eget race (jag provade ett samarbete med några tyskar mellan då och nu, vi drev en Exileserver som gick 'sådär' tyskarna la ner, jag fortsatte själv).

Edge of Sanity - Exile, Namalsk, här och nu

Så jag skaffade en egen server hos OVH, och kör nu mitt eget race. Det finns ett tusental Exilemod-servrar och det som finns på min server är i huvudsak konfigurerat och fixat av mig. Inklusive banners, grafik, reklamfilmer, med mera. Allt som allt har jag nog spenderat 300 timmar på att konfigurera den här servern, en bland över ett tusen Exile-servrar, med en nuvarande spelarbas med genomsnittliga 2 spelare.

Vi sitter på vår egen Discord-server (http://discord.gg/0l10N3mWPNnUr766 om du vill hoppa in och prata med oss) och snackar dagligen. Kanske frågar du dig varför jag gör det här? Vad driver mig att fortsätta med det här trots alla motgångar och brist på intresse? Om det kommer den tredje och sista delen handla om. Tack för att du läste!

#blogg


signatur

Rollspelsguru
Community Developer på Sharkmob
fd. Sr. Community Manager på Battlestate Games

Medlem
Att driva en ARMA 3 Exile-server - Del 2

Tobias gör ett underbart jobb,, har både en högt hållen vision samt lyssnar på oss spelare.
En tuff och rolig server med utmaningar samt där man lär känna folket, dels genom Discord.

Medlem
Skrivet av Gummii:

Tobias gör ett underbart jobb,, har både en högt hållen vision samt lyssnar på oss spelare.
En tuff och rolig server med utmaningar samt där man lär känna folket, dels genom Discord.

Tack! Jag uppskattar det.


signatur

Rollspelsguru
Community Developer på Sharkmob
fd. Sr. Community Manager på Battlestate Games

1
Skriv svar