Steam饥荒
存档回滚
D:\Program Files (x86)\Steam\userdata\***\219740\remote
巨人国是survival_数字,海难是shipwreck_数字,哈姆雷特是porkland_数字。
先新建一个相同dll的文档,然后把备份覆盖进去改掉数字插槽位置,重新启动即可。
Lua脚本
steam单机版时分不清改哪个文件,嫌麻烦可以卸载掉另外两个dll。
dont_starve\data下面,DLC0001为巨人国,DLC0002为海难,DLC0003为Hamlet,其他为原版的素材及源码(其他三个dlc也会用一些公用的源码文件及素材)。
快速采集
首先进入饥荒单机版目录D:\Program Files (x86)\Steam\steamapps\common\dont_starve\
1.草:用记事本打开游戏目录\data\DLC0001\scripts\prefabs\grass.lua文件,在inst:AddComponent("pickable")的下一行插入inst.components.pickable.quickpick = true
2.树枝:用记事本打开游戏目录\data\DLC0001\scripts\prefabs\sapling.lua文件,在inst:AddComponent("pickable")的下一行插入inst.components.pickable.quickpick = true
3.浆果:用记事本打开游戏目录\data\DLC0001\scripts\prefabs\berrybush.lua文件,在inst:AddComponent("pickable")的下一行插入inst.components.pickable.quickpick = true
远程采集和拾起物品
用记事本打开游戏目录\data\DLC0001\scripts\actions.lua文件,将下列内容:
PICK = Action(),
PICKUP = Action(1),
替换为:
PICK = Action({},0, true, false, 20),
PICKUP = Action({},1, true, false, 20),
一斧砍倒一棵树、一镐开掉一块石
这两个文件是共用的,dll中没有此文件
\data\scripts\prefabs\axe.lua文件
inst.components.tool:SetAction(ACTIONS.CHOP)替换为inst.components.tool:SetAction(ACTIONS.CHOP, 15)
\data\scripts\prefabs\pickaxe.lua文件
inst.components.tool:SetAction(ACTIONS.MINE)替换为inst.components.tool:SetAction(ACTIONS.MINE, 15)
冰箱永久保鲜
scripts\tuning.lua文件,将PERISH_FRIDGE_MULT = .5,替换为PERISH_FRIDGE_MULT = 0,
如果将0改为负数比如-5,则可使不新鲜的食物回复新鲜度。
其他各种东西的属性也在tuning.lua里更改
旷工帽无限时间
\scripts\prefabs\hats.lua中更改
inst.components.fueled:StartConsuming() --开始消耗
inst.SoundEmitter:PlaySound("dontstarve/common/minerhatAddFuel")
改为
inst.components.fueled:StopConsuming() --停止消耗
inst.SoundEmitter:PlaySound("dontstarve/common/minerhatAddFuel")
或者在tuning.lua中调节
MINERHAT_LIGHTTIME = (night_time+dusk_time)*2.6*, -- 矿工帽时间延长十倍
LANTERN_LIGHTTIME = (night_time+dusk_time)*2.6*, -- 手提灯时间延长十倍
人物回血
scripts\prefabs\player_common.lua中
inst.components.health:SetMaxHealth(TUNING.WILSON_HEALTH)下面加如下代码
inst.components.health:StartRegen(, ) -- 每十秒恢复一滴血
墙壁永固(自己可砸,怪物无法破坏)
\scripts\prefabs\walls.lua文件,在inst:AddTag("noauradamage")的下一行插入以下内容:
inst.components.health:SetInvincible(true)
DST Dedicated Server
创建服务器目录
首先在联机版中新建一个存档,找到对应的位置D:\Users\Autumn\Documents\Klei\DoNotStarveTogether,对应的1-5插槽如下图。
生成Token
进入游戏后执行TheNet:GenereteClusterToken()会在指定Cluster插槽下面生成Token(服务器认证用)
TheNet:GenerateClusterToken()
bat配置服务器目录并启动
然后,找到steamapps\common\Don't Starve Together Dedicated Server\bin\scripts下的launch_preconfigured_servers.bat
复制一份并修改为。这里的Cluster_2用第二个插槽作为服务器目录,也可以复制为其他的名字(如MyDediServer)。
@ECHO OFF set SteamAppId=
set SteamGameId= cd ..
start "Don't Starve Together Overworld" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -cluster Cluster_2 -shard Master -console
start "Don't Starve Together Caves" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -cluster Cluster_2 -shard Caves -console
老版启动代码
D:\Program Files\steamcmd\steamcmd.exe +login anonymous +app_update validate +quit
cd "D:\Program Files (x86)\Steam\steamapps\common\Don't Starve Together Dedicated Server\bin"
start dontstarve_dedicated_server_nullrenderer -console -cluster publicDSTServer -shard Master
start dontstarve_dedicated_server_nullrenderer -console -cluster publicDSTServer -shard Caves
启动该bat文件
管理员列表
在cluster_token.txt同级新建一个文件adminlist.txt,每一行为keli的userID
修改服务器源码
首先关掉服务器和游戏(服务器的文件也是从本地游戏中获取),否则修改无法保存到zip中
\Steam\steamapps\common\Don't Starve Together\data\databundles\scripts.zip直接打开,像单机版修改即可。内容可能会有差异,但是大体相同(亲测)。
Linux下搭建DST Dedicate Server
运行库的安装
libstdc++6:i386(Cntos系统libstdc++.i686)
libgcc1:i386(Centos系统glibc.i686)
libcurl4-gnutls-dev:i386(Centos系统libcurl.i686)
steamcmd命令的安装
用yum命令安装libstdc++、libgcc、libcurl。如果安装失败可以挨个安装,如果存在Protected multilib versions,在后面加--setopt=protected_multilib=false。
yum install glibc.i686 libstdc++.i686 libcurl.i686 -y
新建用户并进入用户的根目录
useradd steam #添加用户
passwd steam #设置密码 su steam #切换用户
cd ~ #进入到用户主文件夹
# 或者
cd /home/steam #不切换用户直接进入steam用户根目录下面
下载steamcmd
网上下载steam官方提供的steamcmd命令安装包,并解压
wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz
运行steamcmd.sh文件,下载一些文件。
./steamcmd.sh
下载完成后如下图,继续操作。
登录Steam账号
输入Steam账户名密码
login 用户名 密码
登录过程中会发送一封邮件到你的邮箱,查看验证码并输入。
设置游戏目录
这里的目录为steam游戏的目录不是饥荒的专属目录。
force_install_dir <目录>
安装饥荒服务器程序,Steam游戏Appid查询网址http://steamdb.sinaapp.com/
app_update 游戏的steam appid (Steam Application ID ) [validate]
quit命令退出steam操作台
配置饥荒专用服务器
mkdir -p ~/.klei/DoNotStarveTogether/Documents #在用户主目录下创建存档文件夹,klei文件夹和DoNotStarveTogether文件夹是饥荒默认的不可更改,此处Document即为Cluster
cd ~/.klei/DoNotStarveTogether/Documents/ #这里注意一定要切换到steam用户
#创建adminlist.txt和cluster_token.txt用于存放之前获得的UserID和令牌号
vim adminlist.txt
vim cluster_token.txt
#创建服务器端的设置文件,cluster.ini注意此文件必须要用utf8(无bom)进行存储,否则部分设置无效,最好下个notepad++
vim cluster.ini
下面的这些步骤直接在DST中复制即可
配置cluster.ini文件
[GAMEPLAY]
max_players = 3 #最大人数
pvp = false #是否开启pvp
game_mode = survival #游戏模式(生存,荒野等)
pause_when_empty = true #服务器无人时,自动暂停
vote_kick_enabled = false #投票踢人 [NETWORK] cluster_description = #服务器介绍
cluster_name = #服务器名字
cluster_password = #服务器的密码
cluster_intention = cooperative ##游戏的意图(合作,竞争,无尽) [MISC]
max_snapshots = 6
console_enabled = true #是否开启控制台 #IP端口设置,一般不用改
[SHARD]
shard_enabled = true
bind_ip = 127.0.0.1
master_ip = 127.0.0.1
master_port = 10889
cluster_key = supersecretkey
创建主世界Master
mkdir Master
cd Master
创建server.ini和worldgenoverride.lua用于存储服务器信息和世界信息
server.ini
vim 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
vim worldgenoverride.lua #配置世界信息
return {
override_enabled = true,
preset = "SURVIVAL_TOGETHER",
misc = {
world_size = "huge",
},
monsters = {
walrus = "often",
},
}
创建地穴世界
cd ..
mkdir Caves
cd Caves
server.ini
[NETWORK]
server_port = 11001 [SHARD]
is_master = false
name = Caves
id = 1811570792 [STEAM]
master_server_port = 27019
authentication_port = 8769 [ACCOUNT]
encode_user_path = true
worldgenoverride.lua
return {
override_enabled = true,
preset = "DST_CAVE",
misc = {
world_size = "huge"
}
}
运行如下命令
cd /home/steam/DST_aeolian/bin
./dontstarve_dedicated_server_nullrenderer
运行出现如下即说明c依赖没有缺失。
运行时可能会出现问题
问题1、
报错./dontstarve_dedicated_server_nullrenderer: error while loading shared libraries: libcurl-gnutls.so.4: cannot open shared object file: No such file or directory
CentOS特有的错,Unbantu不存在
解决办法
$ cd /usr/lib/
$ ln -s libcurl.so.4 libcurl-gnutls.so.4
问题2、
查看依赖包
cd /home/steam/DST_aeolian/bin
ldd dontstarve_dedicated_server_nullrenderer #查看依赖的包
有三个依赖包没有
解决办法
第一个libc.so.6依赖包在/home/steam/lib32下面复制过去即可,剩下两个用--setopt=protected_multilib=false安装运行库(即第一步)
升级Glibc(勿用,我用这个把系统装崩了,不知道为啥)
访问http://ftp.gnu.org/gnu/glibc/glibc-2.15.tar.gz下载响应安装包(根据具体问题选择对应的glibc版本);
下载后执行以下命令:
tar zxvf glibc-2.15.tar.gz
cd glibc-2.15
mkdir glibc-build-2.15
cd glibc-build-2.15
../configure --prefix=/opt/glibc-2.15
make
make install
问题3、
运行screen命令,首先yum install screen命令安装screen命令
cd /home/steam/steamapps/DST_aeolian/bin
/usr/bin/screen -S "DST" /bin/sh -c './dontstarve_dedicated_server_nullrenderer -console'
若是出现Cannot open your terminal'/dev/pts/1' - please check.运行如下文件
script /dev/null
启动
进入到用户主文件夹,编写startDST.sh shell启动脚本,一定要用steam用户执行
cd ~
vim startDST.sh
startDST.sh内容如下
#!/bin/bash
#前面的文件夹更改后,下面的相应值也需要更改
steamcmd_dir="$HOME/steamcmd"
install_dir="$HOME/DST_aeolian"
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 $$) #不想开启洞穴就把&和后面的都去掉
"${run_shared[@]}" -shard Master | sed 's/^/Master: /' &
"${run_shared[@]}" -shard Caves | sed 's/^/Caves: /'
赋权限,运行,可能出现的问题bash: ./startDSTServer.sh: /bin/bash^M: bad interpreter: No such file or directory
chmod 777 startDST.sh
./startDST.sh
可能遇到问题
1.执行命令后出现steamclient.so: cannot open shared object file: No such file or directory
解决办法
locate -b 'steamclient.so'查看so文件位置,cp到/home/steam/DST_aeolian/bin/lib32下面。
若移动后启动出现steamclient.so: wrong ELF class: ELFCLASS64,则cp另一个32/64位的so文件到/home/steam/DST_aeolian/bin/lib32下面
2.出现bad thread local
我的是因为Cluster所属用户不是steam而是root。
解决办法是用root执行 chown -R steam /publicDSTServer
看到Slave LUA is now ready!就说明你成功了。
永久运行
su steam #使用steam用户登录
cd ~/aeolian/bin/ #~为/home/steam
nohup ./startDSTServer & #永久运行
或者
screen -s 'DST' ./startDSTServer
觉得好的话支持一下哦~后期会一直更新
网上的资料:
https://wenku.baidu.com/view/53b888eb0912a216157929b7.html
https://www.gamersky.com/handbook/201501/513086.shtml
https://blog.csdn.net/qq_35543890/article/details/81257937
https://dontstarve.fandom.com/wiki/Guides/Don%E2%80%99t_Starve_Together_Dedicated_Servers
Steam饥荒的更多相关文章
- 手把手教你搭饥荒专用服务器(五)—MOD自动下载安装(Windows+Linux)
想了解更详细内容,请点击原文地址:https://wuter.cn/1985.html/ 饥荒专用服务器的mod设置总共有两种方法. 方法一 在本地游戏中更新mod,然后把mod上传到服务器,但是这种 ...
- 手把手教你搭饥荒专用服务器(三)—MOD及其他高级设置
友情链接: 手把手教你搭饥荒专用服务器(一)-服务器准备工作 手把手教你搭饥荒专用服务器(二)-环境配置及基本使用 手把手教你搭饥荒专用服务器(三)-MOD及其他高级设置 手把手教你搭饥荒专用服务器( ...
- Linux下Steam中支持中文的办法
搜索过好几个解决方案,诸如添加skin等等,在我的ARCH机器上似乎都不行然后在搜索linux steam cjk时, 发现一个链接中有解决DOTA2显示中文不正确的问题,感觉可能有用,就参考着搞定了 ...
- Ubuntu 16.04 Steam
Ubuntu 16.04安装Steam,直接去Steam官网下载客户端安装包即可.
- 帝国时代II 高清版 steam 4.4 字体替换 微软雅黑
其实默认的中文字体算是中规中矩吧,但是我并不喜欢 从昨天开始就想着换 于是我就开始搜索帝国时代2的游戏目录的资源,马上就锁定到了\Steam\steamapps\common\Age2HD\resou ...
- Ubuntu安装steam游戏平台的解决方案
steam是一个游戏平台,上面提供了很多收费和免费的游戏,在安装的过程中遇到了一些问题,所以把自己遇到的问题及解决方案分享出来供大家参考. 第一步:安装steam平台 sudo apt-get ins ...
- Steam即将正式加入人民币支付(转)
Valve将在2015年Q4和2016年Q1加入一批新的货币结算支持,其中包括了人民币,这意味着以后玩家将无需在跳转支付平台后并通过美元结算.这对中国玩家来说是喜是忧? 本文由爱玩网整理报道,转载请保 ...
- Steam游戏黑屏与游戏直接安装方法
黑屏原因主要是360禁止了反作弊进程,解决方法: Steam游戏目录: Steam\steamapps\common\*** 例如黎明杀机,备份时候可直接备份该目录下 Dead by Daylight ...
- Ubuntu16 64位安装steam, 并解决无法启动的问题
直接用crtl+shift打开终端,运行下面的命令. sudo add-apt-repository multiverse sudo apt update sudo apt install steam ...
随机推荐
- Django之get请求url的参数
当get网址是127.0.0.1:8000/mysite10这种类型的网址时 有两种方法: 1,在urls的路由的urlpatterns里面这样定义路由 re_path('^mysite(\d+)$' ...
- delphi with... do和自定义变量重名
with类中的变量和外部变量如果重名,会将外部变量覆盖,这点需要注意!!!!!
- 消息摘要、哈希(hash)、加盐
hashlib 算法介绍: python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度 ...
- CoreData 执行executefetchrequest卡死解决办法
在大量使用GCD和block以后发现程序会卡死在executefetchrequest执行. 反复测试无果.添加锁也无效.想来想去没发现问题. 容忍了就当人品问题.2天以后实在忍无可忍. 替换perf ...
- Viewer.js插件浏览图片
https://www.jianshu.com/p/e3350aa1b0d0 Viewer.js插件浏览图片 Viewer.js插件浏览图片 Viewer.js插件浏览图片
- (转)Docker容器的重启策略及docker run的--restart选项详解
1. Docker容器的重启策略 Docker容器的重启策略是面向生产环境的一个启动策略,在开发过程中可以忽略该策略. Docker容器的重启都是由Docker守护进程完成的,因此与守护进程息息相关. ...
- hibernate重要知识点总结
一.使用注解方式-----实体和表之间的映射 配置spring的applicationContext.xml文件: <bean id="sessionFactory" cla ...
- git pull 冲突拉取不到新的代码
本地文件已经有冲突或者在pull的过程中拉取的文件和本地文件冲突时,拉取不到新的代码,git pull出现报错,如下: 这个时候,如果你有两种选择,如果你需要这些改动,那个你就需要手动解决冲突,然后a ...
- Docker:Docker打包Web API成镜像并上传到Docker Hub(2)
Docker官方镜像:https://hub.docker.com/: 本文将把一个webapi制作成docker镜像 一.Docker命令 打开Docker Quickstart,有以下常用的命令 ...
- [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:建立一个EF数据模型
英文渣水平,大伙凑合着看吧…… 这是微软官方教程Getting Started with Entity Framework 6 Code First using MVC 5 系列的翻译,这里是第一篇: ...