Ulti85 Posted June 12 Share Posted June 12 (edited) Premessa: questa procedura è stata fatta su macchina linux a 64bit con OS Centos 7. ----------------------------------------------------- Punto 0 app e librerie Installiamo le app che non sono presenti di default nel OS e carichiamo le librerie che ci serviranno. Se usi altro OS devi modificare i comando yum con quello previsto dal tuo OS. Per info puoi vedere qui: dontstarve.fandom.com yum update yum install nano yum install wget yum install tmux screen -y yum install glibc libstdc++ yum -y install glibc.i686 yum install libcurl.so.4 yum install libstdc++.so.6 yum install glibc.i686 libstdc++.i686 ----------------------------------------------------- Punto 1 pre fase di installazione server Crea un utente e passiamo ad esso, questo utente ti serve per far eseguire steamcmd e dedicate server in modo sicuro. sudo useradd -m DSTs001 && sudo passwd DSTs001 su - DSTs001 le procedure che seguono le devi fare con l’utente creato DSTs001 Creiamo 2 file per l'esecuzione degli aggiornamenti e per la prima esecuzione ed avvio del dedicate server. Molte guide fanno fare la ricerca degli aggiornamenti ad ogni avvio del dedicate server, io ti consiglio di eseguire gli aggiornamenti in modo mirato e controllato, facendo prima un bkup dell'immagine attuale. touch dst_updata.sh && touch dst_start.sh chmod +x dst_updata.sh && chmod +x dst_start.sh sed -i -e 's/\r$//' dst_updata.sh && sed -i -e 's/\r$//' dst_start.sh apri i due file (comando nano nome-file) e copia: file dst_updata.sh questo file farà aggiornare steamcmd e il dedicate server #!/bin/sh steamcmd_dir=$HOME/steamcmd dst_server_dir=$HOME/DSTserver storage_name="DSTstorage" config_name="DSTconfig" storage_dir="$dst_server_dir/$storage_name" function fail() { echo Error: "$@" >&2 exit 1 } function check_for_file() { if [ ! -e "$1" ]; then fail "Missing file: $1" fi } check_for_file "$steamcmd_dir/steamcmd.sh" cd "$dst_server_dir" || fail "Missing $dst_server_dir directory!" cd "$dst_server_dir/$storage_name" || fail "Missing $dst_server_dir/$storage_name directory!" cd "$dst_server_dir/$storage_name/$config_name" || fail "Missing $dst_server_dir/$storage_name directory!" cd ~ $steamcmd_dir/steamcmd.sh +@ShutdownOnFailedCommand 1 +@NoPromptForPassword 1 +force_install_dir $dst_server_dir +login +app_update 343050 validate +quit $dst_server_dir/bin64/dontstarve_dedicated_server_nullrenderer_x64 -only_update_server_mods -persistent_storage_root $storage_dir -conf_dir $config_name #$dst_server_dir/bin64/dontstarve_dedicated_server_nullrenderer_x64 -only_update_server_mods file dst_start.sh farà avviare il dedicate server #!/bin/bash steamcmd_dir="$HOME/steamcmd" dst_server_dir="$HOME/DSTserver" cluster_name="Cluster_1" storage_name="DSTstorage" config_name="DSTconfig" storage_dir="$dst_server_dir/$storage_name" config_dir="$storage_dir/$config_name" #config_dir="$HOME/.klei/DoNotStarveTogether" function fail() { echo Error: "$@" >&2 exit 1 } function check_for_file() { if [ ! -e "$1" ]; then fail "Missing file: $1" fi } check_for_file "$steamcmd_dir/steamcmd.sh" check_for_file "$config_dir/$cluster_name/cluster.ini" check_for_file "$config_dir/$cluster_name/cluster_token.txt" check_for_file "$config_dir/$cluster_name/Master/server.ini" check_for_file "$config_dir/$cluster_name/Caves/server.ini" check_for_file "$dst_server_dir/bin64" cd "$config_dir" || fail "Missing $config_dir directory!" cd "$dst_server_dir/bin64" || fail "Missing $dst_server_dir/bin64 directory!" run_shared=(./dontstarve_dedicated_server_nullrenderer_x64) run_shared+=(-console) run_shared+=(-cluster "$cluster_name") run_shared+=(-persistent_storage_root "$storage_dir") run_shared+=(-conf_dir "$config_name" ) run_shared+=(-monitor_parent_process $$) "${run_shared[@]}" -shard Caves | sed 's/^/Caves: /' & "${run_shared[@]}" -shard Master | sed 's/^/Master: /' ----------------------------------------------------- Punto 2 installazione dei server Crea due cartelle per steamcmd e per dedicate server mkdir ~/steamcmd && mkdir ~/DSTserver Crea due cartelle cartelle annidate per le impostazione e salvataggio dati del dedicate server mkdir ~/DSTserver/DSTstorage && mkdir ~/DSTserver/DSTstorage/DSTconfig Passiamo alla cartella steamcmd per preinstallare steamcmd cd steamcmd wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz | tar xvzf - cd ~ Installato steamcmd nella cartella steamcmd non sarà necessario avviarlo singolarmente ma lo avviamo con dst_updata.sh che ci scaricherà anche il dedicate server ./dst_updata.sh Se da errore error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory Spoiler devi usare usare il comando: ln -s /usr/lib64/libcurl.so.4 /usr/lib64/libcurl-gnutls.so.4 oppure puoi modificare /bin/ invece di /bin64/ e dontstarve_dedicated_server_nullrenderer invece di dontstarve_dedicated_server_nullrenderer_x64 e rifare ./dst_updata.sh ----------------------------------------------------- Punto 3 (caricamento e/o generazione dei mondi) caso 3.1 (se stai generando un mondo nuovo) Punto 3.1.1 fai la procedura che trovi nel sito forums.kleientertainment.com spacchettiamo MyDediServer e il contenuto lo copi in ~/DSTserver/storage/config/Cluster_1 All'interno della carella, oltre alle cartelle Master e Cave, ci deve essere i file: cluster.ini cluster_token.txt [questo in caso di trasferimento può essere uguale ad altri server] Esempio del contenuto di cluster.ini Quote [GAMEPLAY] game_mode = max_players = pvp = pause_when_empty = [NETWORK] cluster_description = cluster_name = cluster_password = enable_vote_kick = enable_autosaver = tick_rate = connection_timeout = server_save_slot = cluster_intention = [ACCOUNT] token = [MISC] console_enabled = [STEAM] steam_group_id = steam_group_admins = steam_group_only = [SHARD] shard_enabled = bind_ip = 127.0.0.1 master_ip = 127.0.0.1 master_port = 10889 cluster_key = supersecretkey Punto 3.1.2 Nelle cartelle Master e Cave ci devono essere anche: leveldataoverride.lua [caratteristiche del mondo] modoverrides.lua [settaggi delle mod] worldgenoverride.lua [settaggi per la generazione del mod] server.ini [impostazioni per le impostazioni del server per Master e Cave] Esempio del contenuto di server.ini del Master Quote [ACCOUNT] encode_user_path = true [NETWORK] server_port = 11000 [SHARD] is_master = true [STEAM] master_server_port = 27018 authentication_port = 8768 [NETWORK] server_port = 11001 Esempio del contenuto di server.ini del Cave Quote [NETWORK] server_port = 11001 [SHARD] is_master = false name = Caves id = ########## [STEAM] master_server_port = 27019 authentication_port = 8769 Punto 3.1.3 per generare i file: leveldataoverride.lua [caratteristiche del mondo] modoverrides.lua [settaggi delle mod] worldgenoverride.lua [settaggi delle mod] sia per Master e Cave devi avviare il gioco in locale e creare una nuova istanza ed avviarla almeno una volta. Vai nella cartella di salvataggio dell’istanza direttamente dal gioco gestione mondo > apri la cartella dei mondi e copiali nelle rispettive cartelle del dedicate server in ~/DSTserver/storage/config/Cluster_1 caso 3.2 (se stai importando un modo già avviato) Punto 3.2.1 (Se vuoi esportare il mondo da un server esistente) Copia direttamente la cartella del cluster del server vecchio ad esempio: cluster_2. ricordati che nel file cached_userid si trova parte del token: questo parametro server per la codifica delle sessioni dei giocatori. Quindi puoi tranquillamente copiare il file cluster_token.txt, senza generare uno nuovo, insieme al resto della cartella cluster, puoi effettuare eventuali modifiche del file cluster.ini per riconoscere il nuovo server rispetto al vecchio. Se cambi token bisogna che tu proceda come al punto Punto 3.1.2 Punto 3.2.1 (se vuoi importando il mondo che stavi hostando) Devi generare un token secondo la guida dontstarve.fandom.com o forums.kleientertainment.com Se generiamo un token da un altro utente dovremmo far loggare uno ad uno i player e modificare i file nella cartelle per ogni giocatore .klei/DoNotStarveTogether/Cluster_1/Master/save/session/xxxxxxxxxxxx/ .klei/DoNotStarveTogether/Cluster_1/Cave/save/session/xxxxxxxxxxxx/ vedi qui: steamcommunity.com ----------------------------------------------------- Punto 4 aggiungere le mod Vai nella cartella DSTserver/mods modifica i file dedicated_server_mods_setup.lua e modsettings.lua dedicated_server_mods_setup.lua questo file server per far collegare il dedicate server al workshop di steam e scaricare le mod. Dopo il primo avvio ti consiglio di commentare i comandi: aggiungere -- davanti ai ServerModSetup modsettings.lua questo file forza l’uso delle mod al dedicate server Attenzione alcune mod potrebbero dare errori di ForceEnableMod se le mod non sono compatibili nelle versioni linux o non sono settati i file modoverrides.lua nelle cartelle [/i]Master[/i] e Cave; vedi anche forums.kleientertainment.com. Puoi fare uploading delle mod e vedere quali vanno e quali non vanno. Puoi guardare questa collezione se stai settando nitrado : don't starve nitrado mods ----------------------------------------------------- Punto 5 avvio e update ORA PUOI AVVIARE IL SERVER E DIVERTIRTI o morire male, chi lo sa… ricorda di avviare il server dall’utente DSTs001 su - DSTs001 ./dst_start.sh per fermare il server usa il comando c_shutdown() come detto prima puoi controllare quando avviare gli aggiornamenti usando il dst_update.sh sempre loggato dall’utente DSTs001 su - DSTs001 ./dst_update.sh Edited June 12 by Ulti85 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now