A Don’t Starve játék számomra mindig is egy Minecraft klón volt. Olyan aminek lenyűgözően szépen rajzolt grafikája van. A kicsit melankolikus stílus új elemeket hoz be a jól ismert “gyűjts nyersanyagot, majd kombináld össze azt valami új dologgá” formulán. Karaktereknek ugyanis három fontos eleme is van. Élet, Mentális állapot, Gyomor telítettsége. Ha gyomrunk összeszűkül és éhezünk elkezdünk sebeződni, ha pedig mentális állapotunk leromlik, akkor szellemeket kezdünk látni akik ránk támadnak és sebződünk. Ha elfogy az életünk, akkor meghalunk. A cél, hogy minél tovább túléljünk!

A játék maga

Eszméletlenül heversz a fűben. A sötétség jótékonyan ringatna még, és valahol elhomályosult tudatod mélyén te is tudod, hogy ez jó volna így. Egy kaján hangra azonban magadhoz térsz. „Ejnye, pajtás, keress valami ennivalót, mielőtt leszáll az éj!” Erőnek erejével feszíted fel a szemhéjaidat, de a rejtélyes idegen már köddé vált. Tagjaid mintha ólomból lennének, valahogy mégis talpra állsz. A zsebeid üresek; semmid sincs, csak a régi gönceid. Körbenézel hát, és felméred a szigetet, ami így vagy úgy, de a sírod lesz.

Miután mindenféle magyarázat és instrukció nélkül felébredtél a szigeten, látszólag egyetlen célod van a játékban: a túlélés. Mivel pedig a teljes nincstelenségből kell viszonylag hamar biztos egzisztenciát teremtened, jó lesz azonnal hozzálátni a fejetlen gyűjtögetéshez.

Bemutató video Kritpon Youtbe csatorjájáról

Az igazat megvallva a Don’t Starve pusztán ennyiről is szólhatna, hiszen a néhány naponta visszanövő termésekből és a sziget végtelenített nyúlpopulációjából kiválóan el lehet éldegélni határozatlan ideig – de határozottan unalmasan. A játék ugyanakkor a hatalmas térkép és az életveszélyes élővilág felfedezéséről, illetve a sziget titkainak feltárásáról szól, eközben pedig rettentő nehéz ellenállni a gondos bázisépítéssel és a szédítően sokrétű craftolással járó szöszmötölés csábításának.

A Don’t Starve alapvető mozgatórugója tehát a kíváncsiság, ami gyakran halálos is lehet. Mi lenne például, ha bemennél abba a bizalomgerjesztő mocsárba, hogy megnézd, mi adja ki azokat a fura, szörcsögő hangokat? Vagy hová jutnál, ha belevetnéd magad a földön tátongó, borotvaéles fogakkal szegélyezett féreglyukba? Esetleg elcsenhetnél egy pöttyös tojást az egyszemű, gólyalábú rémmadarak fészkéből. Általában azonban még ilyesféle akciókra sem lesz szükség, hogy sikeresen bajba keveredj, a vadonban leselkedő számtalan veszély miatt pedig — hangzatos cím ide vagy oda — az éhhaláltól kell a legkevésbé tartanod.

Már ha gondoskodtál róla, hogy minden nap biztos kajához juss. Ahogy az ember is rájött néhány ezer év alatt, erre a célra a földművelés a legmegfelelőbb módszer. A szóban forgó földön kívül ráadásul nem is kell hozzá más, csak néhány mag és pár taligányi gané. Utóbbi felleléséhez azért szükségeltetik némi szerencse, de ha megtaláltad a kifogyhatatlan trágyaforrást, már csak az egyre rövidülő nappalok szabhatnak határt az önfeledt szüretelésnek. A tél ugyanis valóban közeleg: ha az éjszakánként előmerészkedő pókokkal, és a vissza-visszatérő vérebekkel folytatott örök küzdelem nem lett volna elég, most már a faggyal és az azzal járó szűkösséggel is meg kell birkóznod. A húsznaponta beköszöntő hideg évszakban ráadásul nemcsak babér, hanem répa, saláta és padlizsán sem terem, így ha nem spájzoltál be jobb időkben, bizony alaposan felkopik majd az állad.

Az éhség pedig sosem jó dolog: aki nem talál rendes ételt, hamarosan ráfanyalodik a romlott gyümölcsökre, vagy épp a tápláló, de nem túl egészséges szörnyhúsra. Utóbbi fogyasztása az instant rosszullét mellett egy másik kellemetlen hatással is jár – konkrétan megőrülsz tőle. Az éjszakák egyre sötétebbek lesznek; egyre több villódzó szempár mered rád a tábortűz fénykörén túl, a rémképeket pedig idővel a felkelő nap sem oszlatja már el, míg elméd teljes megbomlásával gyilkos valósággá nem válnak.

A játék maga annyira sikeres lett, hogy rengeteg kiegészítő érhető el hozzá. Ezekkel új helyszín vagy épp új dolgok érhetőek el. Ha valakinek megtetszett már ez is, akkor mindenképp próbálja ki a többit is.

Én a továbbiakban a Don’t Strave Together verzióról fogok beszélni. Ez a több játékos verziója a Don’t Starve alap játéknak, ahol lehetőség lesz egymással együtt játszani és éhezni.

Tippek a kezdéshez

A következő tipp Csonti Gaming oldaláról származik.

Bár a játék akár a végtelenségig is tarthat, a siker kulcsa mégis az első néhány napon múlik, hogy hatékonyan használjuk fel az időnket. A random faktor persze játszik némi szerepet, de ha követed ezt a leírást, azzal együtt is egy sikeres karaktert tudsz majd kreálni magadnak, aki remélhetőleg sokáig életben marad.

1-3 nap

Az első 1-2 nap a leginkább kritikus. Ekkor kell a nulláról elindulni a túlélés rögös ösvényein. Szedjünk össze mindent, amit csak tudunk, elsősorban gallyakat, szalmát, köveket. Amint lehet, csináljunk eszközöket, baltát és csákányt. Ha van balta, aprítsunk fát, így lesz tüzelőnk. Táplálék gyanánt az első napokban a bogyókra, magokra és répákra leszünk utalva, ezekből mindig tartsunk magunknál annyit, amennyit csak találunk, és ha csökken az éhségérzetünk, együnk, de fontos, hogy ne pocsékoljunk, és ha maximumon, vagy ahhoz közel van a gyomrunk, ne habzsoljunk feleslegesen. Ha tudjuk, süssük meg ezeket, mert akkor jobban telítenek.

Az első este érdemes egy kisebb tábortüzet rakni, de bátrabbak a fáklya mellett is dönthetnek. A nagy tábortűzre valószínűleg még nem lesz anyagunk, de ez nem baj. A tűznél süssünk, és ott együnk, addigra már biztos éhesek leszünk. Érdemes este is tevékenykedni, és úgy tűzet rakni, hogy világítson fákat, amiket este kivághatunk, vagy más tárgyakat, amiket még összeszedhetünk. Szerencsére nem hosszú az este.

Ami nagyon fontos, hogy maradjunk mozgásban, és próbáljunk minél több területet felfedezni, amíg megtaláljuk az ideális helyet a tábornak. Mire célszerű figyelni a keresés közben?

  • kerüljük az ellenséges lényekkel való konfliktust mert csúnya végünk lesz
  • keressünk méhkasokat és aranybányát, hogy tudjuk hova kell érte menni
  • keressünk bölényeket, és tőlük nem messze érdemes tábort verni.
  • ha esetleg utunkba akad valamilyen speciális felszerelés vagy hely, azt jegyezzük meg a térképen, de nem kell első nap kockáztatni miattuk

Ha megvan a fentebb felsoroltak alapján az ideális hely, valószínűleg már lesz elég kövünk és talán még aranyunk is, hogy lehelyezzük a nagy tábortüzünket és egy Science machine-t (kutató állomást), amivel megalapoztuk első bázisunkat.

4-10 nap

Megvan a bázisod, egy viszonylag optimális helyen, nem messze a fontosabb nyersanyagoktól (vagy legalább is tudod, merre keresd őket) és vannak a közelben bölények is, akik megvédenek ha kell.

A következő napokban fontos teendők várnak rád:

  • gyűjtögetés
  • új tárgyak felfedezése
  • környék felfedezése
  • saját élelemforrások megteremtése

Továbbra is a bogyók és répák lesznek a főbb táplálékaid, amiket süss meg most már mindig. Készíts egy ásót, amivel túrj ki minden gallyat, szénát és bogyó bokrot, majd azokat telepítsd le a bázisod környékére, hogy ne kelljen messze menned később értük. Ha korábban volt ásód, akár az első 3 napban is összeszedheted ezeket utad során. A gallyak kivételével mindet trágyázni kell az elültetés után, amit a bölények fognak szolgáltatni, ezért is fontos a közelségük.

Ahogy telnek a napok, fedezd fel a bázisod környékét, mi merre van, hol vannak fontosabb lelőhelyek, féregjáratok, ellenségek stb… közben gyűjts be mindent, amit csak tudsz továbbra is, hogy legyen anyagod kutatni. Estére mindig térj vissza a bázisodhoz, és legyen nálad legalább 1 farönk a tűzre, hogy ne maradj sötétben.

Kezd el felfedezni alap felszereléseket. Javaslom, először a kötelet, fadeszkát, majd hátizsák. Ami még NAGYON fontos az a védelem. Ezért amint lehet, fedezd fel a faruhát és egy lándzsát is. Ha ügyes vagy, akár 1-2 farmot is tudsz majd csinálni az első 10 napon ill. a saját ültetésű bogyó bokrokkal már éhen sem fogsz halni. Esetleg ha van tó a közelben, tudunk horgászni is, csak figyeljünk a békákra. Ha pedig támadnának a kutyák, akkor rohanj a bocikhoz, akik megvédenek, de első napokon csak 1-2 kutya jön, akikkel csak akkor szállj szembe, ha van faruhád.

11-20 nap

A bázisod már kezd formát ölteni, és megvannak az alapvető túlélési feltételek. Ám hamarosan közelít a tél, így ideje felkészülnöd. A következő dolgokkal foglalkozz ezeken a napokon.

  • csinálj méhkaptárt, mert a méz sokat segít majd télen
  • csinálj egy kuktát a főzéshez, ami szintén megkönnyíti a táplálkozást majd, hiszen akár szörnyhúst is megsüthetsz benne probléma nélkül megfelelő körettel
  • TÉLI RUHA! Egyik este nyírd meg a bölényeket a borotvával, hogy legyen prémed, és csapj le pár pókot a hálóért, így tudsz majd varrni ruhát. Ha a 20. napra nincs legalább téli sapkád, nehéz dolgod lesz.
  • Érdemes akár már korábban is elég aranyat összeszedned (10-14 db), hogy csinálj egy alkímia masinát, ill. arany baltát, csákányt és lapátot.
  • Ha tudsz, fedezd fel és csinálj egy sátrat télre.
  • Továbbra is kerüld a felesleges konfliktusokat, és kezd el tartalékolni a felesleges kaját.

Don’t Starve Toghether Server készítése

A következőekben, azt fogom megmutatni, hogy egy Ubuntu 18.04-es Linux rendszerre, hogyan tudtok egy saját Don’t Starve Together Server-t telepíteni és azt beállítani.

Új felhasználó készítése

Érdemes egy új felhasználót létrehozni és majd annak a tárterületén és ennek a nevében futtatni a programot. A mi pédánkban dstserver lesz ez a név.

root@linux# useradd -r -md /home/dstserver dstserver

Steam Kliens letöltése és a játék server telepítése

Lépjünk át az új felhasználóba és töltsük le a steam scriptjét, majd annak a segítségével a dstserver könyvtárba installáljuk a játék file-jait.

root@linux# su - dstserver
dstserver@linux$ wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

dstserver@linux$ tar xf steamcmd_linux.tar.gz
dstserver@linux$ ./steamcmd.sh +force_install_dir ./dstserver +login anonymous +app_update 343050 validate +quit

Konfiguráció generálása és letöltése

Ezek után a játék file-jai elérhetőek. Probáljuk meg elindítani. Ehhez viszont egy konfigurációs file-re lesz szükségünk, illetve interneten elérhető serverként regisztrálni is tudnunk kell a programot.

Ehhez indítsd el a játékot a gépeden:

Majd a menüben válaszd az Account gombot. Ez egy weboldalt fog behozni a böngésződben, ahol a Keli accountodhoz visz.

A weboldalon kattints a fenti menüben a Game menüpontra.

Ha még nincs servered definiálva akkor kattints a ADD NEW SERVER gombra. Viszont ha már van, mert létrehoztál egyet akkor a zöld CONFIGURE gombra.

Itt látszódni fog a Server Token, illetve lehetőség lesz beállítani alap konfigurációkat. Miután megvagyunk vele a Download Settings-re kattintva letölthetjük egy ZIP-be a szükséges file-kat.

Az így letöltött zip file-t másoljuk a Linux serverünk dstserver felhasználó home folder-ébe és tömörítsük ki. Nálam minden a config folder-be került valahogy így:

dstserver@linux$ find config
config/
config/Cluster_1
config/Cluster_1/cluster.ini
config/Cluster_1/Caves
config/Cluster_1/Caves/worldgenoverride.lua
config/Cluster_1/Caves/server.ini
config/Cluster_1/Master
config/Cluster_1/Master/server.ini
config/Cluster_1/Master/server_log.txt
config/Cluster_1/Master/server_chat_log.txt
config/Cluster_1/cluster_token.txt

Az itt lévő file-okat már nem szükséges szerkeszteni. Minden előre beállított és kigenerált a Klei weboldala által.

Játék szerver kézi indítása

A konfiguráció a helyén, a játék letöltve. Most megpróbálhatjuk elindítani a szerverünket.

dstserver@linux$ cd dstserver/bin/
dstserver@linux$ ./dontstarve_dedicated_server_nullrenderer -persistent_storage_root /home/dst -conf_dir config

Ennek hatására megpróbál elindulni a játék szerver és ha minden jól megy, akkor már lehet is hozzá kapcsolódni, mert a kliensek a Browse alatt már meg is találják.

Linux Indító / Leállító / Frissítő script

Természetesen ahogy kilépünk a terminálból a kézzel indított játék szerver is le fog állni. Így jogos igény, hogy Linux service-ként lehessen futtatni, a mi beavatkozásunk nélkül. Bár sok féle ajánlás található a neten, de én a következő scriptet használom:

root@linux# vi /etc/init.d/dst 
#!/bin/bash
# set -x
# /etc/init.d/dst
 
### BEGIN INIT INFO
# Provides:   dst
# Required-Start: $local_fs $remote_fs
# Required-Stop:  $local_fs $remote_fs
# Should-Start:   $network
# Should-Stop:    $network
# Default-Start:  2 3 4 5
# Default-Stop:   0 1 6
# Short-Description:    dst server
# Description:    Starts the dst server
### END INIT INFO


# replace  with the user you created above
SRCDS_USER="dstserver"
 
# Do not change this path
PATH=/bin:/usr/bin:/sbin:/usr/sbin
 
# The path to the game you want to host. example = /home/newuser/dod
DIR=/home/dstserver/dstserver/bin
DAEMON=$DIR/dontstarve_dedicated_server_nullrenderer
 
# Change all PARAMS to your needs.
PARAMS="-persistent_storage_root /home/dstserver -conf_dir config"
NAME=dst
DESC="dst dedicated server"
 
case "$1" in
    start)
        echo "Starting $DESC: $NAME"
        if [ -e $DIR ]; then
            cd $DIR
            su $SRCDS_USER -l -c "cd $DIR && screen -d -m -S $NAME $DAEMON $PARAMS"
        else
            echo "No such directory: $DIR!"
        fi
        ;;
 
    stop)
        if [ `ps auxf |grep $NAME|grep -ci screen` -gt 0 ]; then
            echo -n "Stopping $DESC: $NAME"
            kill `ps auxf|grep $NAME |grep -i screen |awk '{print $2}'`
            echo " ... done."
        else
            echo "Couldn't find a running $NAME"
        fi
        ;;
 
    restart)
        if [ `ps auxf |grep $NAME|grep -ci screen` -gt 0 ]; then
            echo -n "Stopping $DESC: $NAME"
            kill `ps auxf|grep $NAME |grep -i screen |awk '{print $2}'` 
            echo " ... done."
        else
            echo "Couldn't find a running $DESC"
        fi
        echo -n "Starting $DESC: $NAME"
if [ -e $DIR ]; then
            cd $DIR
            su $SRCDS_USER -l -c "cd $DIR && screen -d -m -S $NAME $DAEMON $PARAMS"
        else
            echo "No such directory: $DIR!"
        fi
        echo " ... done."
        ;;
 
    status)
        # Check whether there's a "srcds" process
        ps aux | grep -v grep | grep dontstarve | grep $NAME > /dev/null
        CHECK=$?
        [ $CHECK -eq 0 ] && echo "DST is UP" || echo "DST is DOWN"
        ;;


    update)
# Stop the DST screen
if [ `ps auxf |grep $NAME|grep -ci screen` -gt 0 ]; then
            echo -n "Stopping $DESC: $NAME"
            kill `ps auxf|grep $NAME |grep -i screen |awk '{print $2}'`
            echo " ... done."
        else
            echo "Couldn't find a running $DESC"
        fi 
# Update the DST
su $SRCDS_USER -l -c "cd ~ && ./steamcmd.sh +force_install_dir ./dstserver +login anonymous +app_update 343050 validate +quit"
# Start the DST screen
echo "Starting $DESC: $NAME"
        if [ -e $DIR ]; then
            cd $DIR
            su $SRCDS_USER -l -c "cd $DIR && screen -d -m -S $NAME $DAEMON $PARAMS"
        else
            echo "No such directory: $DIR!"
        fi
;;

    *)
        echo "Usage: $0 {start|stop|status|update|restart}"
        exit 1
        ;;
esac
 
exit 0

Ez a script a következőket teszi lehetővé:

Indítás: /etc/init.d/dst start

Leállítás: /etc/init.d/dst stop

Játék frissítése: /etc/init.d/dst update

Systemd script

Én erre az init.d script-re a következő, elég butácska systemd scriptet írtam:

root@linux# vi /etc/systemd/system/dst.service
[Unit]
Description=Dont Starve Together server


[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/etc/init.d/dst start
ExecStop=/etc/init.d/dst stop


[Install]
WantedBy=multi-user.target

Ezek után töltsük be a file-t engedélyezzük és indítsuk el. Ennek hála a szerverünk újraindulása esetén is a géppel együtt indul a Don’t Starve Together szerverünk.

root@linux# systemctl status dst
● dst.service - Dont Starve Together server
Loaded: loaded (/etc/systemd/system/dst.service; disabled; vendor preset: enabled)
Active: inactive (dead)

root@linux# ystemctl enable dst
Synchronizing state of dst.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable dst

root@linux# systemctl status dst
● dst.service - Dont Starve Together server
Loaded: loaded (/etc/systemd/system/dst.service; enabled; vendor preset: enabled)
Active: inactive (dead)


root@linux# systemctl start dst
root@linux# systemctl status dst ─╯
● dst.service - Dont Starve Together server
Loaded: loaded (/etc/systemd/system/dst.service; enabled; vendor preset: enabled)
Active: active (exited) since Thu 2020-07-09 11:46:34 CEST; 1s ago
Process: 71682 ExecStart=/etc/init.d/dst start (code=exited, status=0/SUCCESS)
Main PID: 71682 (code=exited, status=0/SUCCESS)