饥荒服务器搭建教程【云服务器】
流程
- 安装环境库
- 安装steam
- 手动建立游戏(饥荒)文件夹
- 配置游戏设置文件,服务器可以运行了!
- 配置mod文件
-
安装环境库
这边建议系统是ubuntu 32位
先输入以下命令:
sudo dpkg --add-architecture i386 sudo apt-get update
执行安装:
sudo apt-get install libcurl4-gnutls-dev:i386
-
下载、安装steam
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -zxvf steamcmd_linux.tar.gz
运行steamcad
./steamcmd.sh
进入steam命令模式,>steam
匿名登陆
login anonymous
指定安装文件夹 DSTserver
force_install_dir DSTserver
安装游戏
app_update 343050 validate
-
创建游戏(饥荒)文件夹
mkdir -p ~/.klei/DoNotStarveTogether/Documents
在Documents文件夹下,创建adminlist.txt文件和cluster_token.txt
adminlist.txt写入UserID,cluster_token.txt写入cluster_token,(UserID和cluster_token在官网获得。)
在Documents文件夹下,再创建一个配置文件cluster.ini。
写入配置如下:
[GAMEPLAY] max_players = 6 pvp = false game_mode = endless pause_when_empty = true vote_kick_enabled = true [NETWORK] cluster_description = 服务器描述 cluster_name = 服务器名称 cluster_password = 服务器密码 cluster_intention = cooperative [MISC] max_snapshots = 6 console_enabled = true [SHARD] shard_enabled = true bind_ip = 127.0.0.1 master_ip = 127.0.0.1 master_port = 10889 cluster_key = supersecretkey
在Documents文件夹下,创建Master文件夹。进入Master文件夹,创建server.ini和worldgenoverride.lua。
写入server.ini如下
[NETWORK] server_port = 11000 [SHARD] is_master = true [STEAM] master_server_port = 27018 authentication_port = 8768 [ACCOUNT] encode_user_path = true
注意配置的完整性。
写入worldgenoverride.lua如下
return { override_enabled = true, preset = "SURVIVAL_TOGETHER", }
这里就不弄地下世界Caves了。
cd ~,回到在主目录,创建启动脚本startDST.sh
写入配置如下:
#!/bin/bash steamcmd_dir="$HOME/steamcmd" install_dir="$HOME/DSTserver" cluster_name="Documents" cd "$install_dir/bin" run_shared=(./dontstarve_dedicated_server_nullrenderer) run_shared+=(-console) run_shared+=(-cluster "$cluster_name") run_shared+=(-monitor_parent_process $$) #如果主机只有1g内存,必须删除 & 后面的caves的内容,因为带不动地下世界 "${run_shared[@]}" -shard Master | sed 's/^/Master: /' & "${run_shared[@]}" -shard Caves | sed 's/^/Caves: /'
给脚本权限
chmod 777 startDST.sh
检查一下环境
ldd ~/DSTserver/bin/dontstarve_dedicated_server_nullrenderer
有时候DSTserver文件夹是其他的名字,比如dontstarve_dedicated_server,注意要改回DSTserver。
最后的安装个screen,方便查看内存和性能,还能后台。
screen -S dst #开启,需要退出可以ctrl + a + d screen -r dst #恢复screen
启动服务器
./startDST.sh
-
配置mod
修改DSTserver/mods/目录下的dedicated_server_mods_setup.lua
先开启mod的配置:
ServerModSetup("mod代号,看上面注释的默认的") --用于安装mod ServerModCollectionSetup("mod代号,同理") --用于更新mod
再写入mod,如:
ServerModSetup("362175979") -- Wormhole Marks 标记相联通的虫洞 ServerModSetup("378160973") -- Global Positions 小地图显示玩家位置 共享地图发现 ServerModSetup("385006082") -- DST Path Lights 路径灯在黄昏时开启,在黎明时关闭 ServerModSetup("396822875") -- Spike Trap 增加两个陷阱 ServerModSetup("444235588") -- Deluxe Campfires 豪华营火 增加燃烧时间 ServerModSetup("458587300") -- Fast Travel 快速旅行 ServerModSetup("458940297") -- FFood Values 显示食物价值 ServerModSetup("462372013") -- Always fresh 冰箱里物品永远不坏 ServerModSetup("462434129") -- Restart #重生 #复活 #自杀 Y:公聊 U:私聊 ServerModSetup("604761020") -- Multi Rocks 持久挖矿 让卵石更耐挖 ServerModSetup("623286817") -- Free transplant 移植无需施肥 ServerModSetup("661253977") -- Don't Drop Everything 死亡不掉落 ServerModSetup("666155465") -- Show Me 鼠标显示更多信息 ServerModSetup("785295023") -- Super Wall DST 超级墙DST 无敌的超级墙、自动门、栅栏和栅栏门 ServerModSetup("786556008") -- 45 Inventory Slots 45个格子 ServerModSetup("831523966") -- 999 Stack Size 叠加物品到 999 个 ServerModSetup("1301033176") -- Chinese Language 中文语言包 汉化了人物台词
在.klei/DoNotStarveTogether/Documents/Master/文件夹下创建modoverrides.lua。
写入格式为:
return { ["workshop-371920345"]={ configuration_options={ }, enabled=true }, ... }
参考下面吧:
return { ["workshop-1200745268"]={ configuration_options={ Animal=true, BuildRepair=true, ChopTime=1, CookTime=0, FishTime=0, HSHU=true, MineTime=1, Others=true, Pick=true, QuickDry=true, QuickGrow=0 }, enabled=true }, ["workshop-1301033176"]={ configuration_options={ LANG="auto" }, enabled=true }, ["workshop-1673729468"]={ configuration_options={ [""]=0, light_colour="white", light_radius="medium" }, enabled=true }, ["workshop-356930882"]={ configuration_options={ uses=10000000, uses2=10000000 }, enabled=true }, ["workshop-361994110"]={ configuration_options={ HAT_DECAY=false, RELEASE_BEES=false, SPRING_BEES=true }, enabled=true }, ["workshop-362175979"]={ configuration_options={ ["Draw over FoW"]="disabled" }, enabled=true }, ["workshop-371920345"]={ configuration_options={ }, enabled=true }, ["workshop-375850593"]={ configuration_options={ }, enabled=true }, ["workshop-375859599"]={ configuration_options={ divider=5, random_health_value=0, random_range=0, show_type=0, unknwon_prefabs=1, use_blacklist=true }, enabled=true }, ["workshop-378160973"]={ configuration_options={ ENABLEPINGS=true, FIREOPTIONS=2, OVERRIDEMODE=false, SHAREMINIMAPPROGRESS=true, SHOWFIREICONS=true, SHOWPLAYERICONS=true, SHOWPLAYERSOPTIONS=2 }, enabled=true }, ["workshop-386087632"]={ configuration_options={ }, enabled=true }, ["workshop-396026892"]={ configuration_options={ OPT_DIFFICULTY=1 }, enabled=true }, ["workshop-444235588"]={ configuration_options={ deluxeEndoFirepitBurnRate=0.75, deluxeFirepitBurnRate=0.75, dropLoot="yes", endoDropLoot="yes", heatStarBurnRate=0.9, heatStarDropLoot="yes", iceStarBurnRate=0.9, iceStarDropLoot="yes", recipeCost="standard", starsSpawnHounds="no" }, enabled=true }, ["workshop-458587300"]={ configuration_options={ Ownership=false, Travel_Cost=32 }, enabled=true }, ["workshop-458940297"]={ configuration_options={ DFV_ClientPrediction="default", DFV_FueledSettings="default", DFV_Language="EN", DFV_MinimalMode="default", DFV_PercentReplace="default", DFV_ShowACondition="default", DFV_ShowADefence="default", DFV_ShowAType="default", DFV_ShowDamage="default", DFV_ShowFireTime="default", DFV_ShowInsulation="default", DFV_ShowTemperature="default", DFV_ShowUses="default" }, enabled=true }, ["workshop-462372013"]={ configuration_options={ }, enabled=true }, ["workshop-462434129"]={ configuration_options={ MOD_RESTART_ALLOW_KILL=true, MOD_RESTART_ALLOW_RESTART=true, MOD_RESTART_ALLOW_RESURRECT=true, MOD_RESTART_CD_BONUS=0, MOD_RESTART_CD_KILL=3, MOD_RESTART_CD_MAX=0, MOD_RESTART_CD_RESTART=5, MOD_RESTART_CD_RESURRECT=7, MOD_RESTART_FORCE_DROP_MODE=0, MOD_RESTART_IGNORING_ADMIN=true, MOD_RESTART_MAP_SAVE=2, MOD_RESTART_RESURRECT_HEALTH=0, MOD_RESTART_TRIGGER_MODE=1, MOD_RESTART_WELCOME_TIPS=true, MOD_RESTART_WELCOME_TIPS_TIME=6 }, enabled=true }, ["workshop-478005098"]={ configuration_options={ }, enabled=true }, ["workshop-604761020"]={ configuration_options={ RUOYINXIAN=false, SHENGDANSHI=false, baoshibaolv=1, blue_baoshi=1, er_shuoming=0, green_baoshi=1, huangjinbaolv=1, marble_suipian=1, orange_baoshi=1, purple_baoshi=1, red_baoshi=1, shishengzhang=0, shitoubaolv=1, thulecite_xiukuang=1, wajuecishu=2, yellow_baoshi=1, yi_shuoming=0 }, enabled=true }, ["workshop-623286817"]={ configuration_options={ NOFERTILIZE=false }, enabled=true }, ["workshop-661253977"]={ configuration_options={ amudiao=true, baodiao=1, kong=0, rendiao=2, zbdiao=true }, enabled=true }, ["workshop-666155465"]={ configuration_options={ food_estimation=-1, food_order=0, food_style=0, lang="auto", show_food_units=-1 }, enabled=true }, ["workshop-670918115"]={ configuration_options={ }, enabled=true }, ["workshop-785295023"]={ configuration_options={ bossres=true, companion=true, dist=2.5, healthmul=-1, language="AUTO", minimapicon=false, ownership=0, rebounddmg=0, recipe="normal", recipe_door=true, recipe_fence=true, recipe_tool=true, recipe_vanilla=false, recipe_wall=true }, enabled=true }, ["workshop-786556008"]={ configuration_options={ ENABLEBACKPACK=false, EXTRASLOT=0, INVENTORYSIZE=45 }, enabled=true }, ["workshop-831523966"]={ configuration_options={ }, enabled=true }, ["workshop-856487758"]={ configuration_options={ }, enabled=true }, ["workshop-922251350"]={ configuration_options={ auto_stack=true, auto_stack_range=10 }, enabled=true } }
数字就是mod的代码,对应写入。
游戏的更新
配置好mod后就是更新游戏了。
启动steam
在steamcmd文件夹下:
./steamcmd.sh
匿名登陆并更新游戏
login anonymous app_update 343050 validate
清空swap缓存
sync echo 3 > /proc/sys/vm/drop_caches
重启你的Linux服务器,启动脚本,后台,就ok了
建议少量修改&保存你的cluster.ini(比如服务器名字加个字)