存档回滚

  1. 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中更改

  1. inst.components.fueled:StartConsuming() --开始消耗
  2. inst.SoundEmitter:PlaySound("dontstarve/common/minerhatAddFuel")
  3. 改为
  4. inst.components.fueled:StopConsuming() --停止消耗
  5. inst.SoundEmitter:PlaySound("dontstarve/common/minerhatAddFuel")

或者在tuning.lua中调节

  1. MINERHAT_LIGHTTIME = (night_time+dusk_time)*2.6*, -- 矿工帽时间延长十倍
  2. LANTERN_LIGHTTIME = (night_time+dusk_time)*2.6*, -- 手提灯时间延长十倍

人物回血

scripts\prefabs\player_common.lua中

inst.components.health:SetMaxHealth(TUNING.WILSON_HEALTH)下面加如下代码

  1. inst.components.health:StartRegen(, ) -- 每十秒恢复一滴血

墙壁永固(自己可砸,怪物无法破坏)

\scripts\prefabs\walls.lua文件,在inst:AddTag("noauradamage")的下一行插入以下内容:

  1. inst.components.health:SetInvincible(true)

DST  Dedicated Server

创建服务器目录

首先在联机版中新建一个存档,找到对应的位置D:\Users\Autumn\Documents\Klei\DoNotStarveTogether,对应的1-5插槽如下图。

生成Token

进入游戏后执行TheNet:GenereteClusterToken()会在指定Cluster插槽下面生成Token(服务器认证用)

  1. TheNet:GenerateClusterToken()

bat配置服务器目录并启动

然后,找到steamapps\common\Don't Starve Together Dedicated Server\bin\scripts下的launch_preconfigured_servers.bat

复制一份并修改为。这里的Cluster_2用第二个插槽作为服务器目录,也可以复制为其他的名字(如MyDediServer)。

  1. @ECHO OFF
  2.  
  3. set SteamAppId=
  4. set SteamGameId=
  5.  
  6. cd ..
  7. start "Don't Starve Together Overworld" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -cluster Cluster_2 -shard Master -console
  8. start "Don't Starve Together Caves" /D "%~dp0.." "%~dp0..\dontstarve_dedicated_server_nullrenderer.exe" -cluster Cluster_2 -shard Caves -console

老版启动代码

  1. D:\Program Files\steamcmd\steamcmd.exe +login anonymous +app_update validate +quit
  2. cd "D:\Program Files (x86)\Steam\steamapps\common\Don't Starve Together Dedicated Server\bin"
  3. start dontstarve_dedicated_server_nullrenderer -console -cluster publicDSTServer -shard Master
  4. 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。

  1. yum install glibc.i686 libstdc++.i686 libcurl.i686 -y

新建用户并进入用户的根目录

  1. useradd steam #添加用户
  2. passwd steam #设置密码
  3.  
  4. su steam #切换用户
  5. cd ~ #进入到用户主文件夹
  6. # 或者
  7. cd /home/steam #不切换用户直接进入steam用户根目录下面

下载steamcmd

网上下载steam官方提供的steamcmd命令安装包,并解压

  1. wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz
  2. tar -xvzf steamcmd_linux.tar.gz

运行steamcmd.sh文件,下载一些文件。

  1. ./steamcmd.sh

下载完成后如下图,继续操作。

登录Steam账号

输入Steam账户名密码

  1. login 用户名 密码

登录过程中会发送一封邮件到你的邮箱,查看验证码并输入。

设置游戏目录

这里的目录为steam游戏的目录不是饥荒的专属目录。

  1. force_install_dir <目录>

安装饥荒服务器程序,Steam游戏Appid查询网址http://steamdb.sinaapp.com/

  1. app_update 游戏的steam appid (Steam Application ID ) [validate]

quit命令退出steam操作台

配置饥荒专用服务器

  1. mkdir -p ~/.klei/DoNotStarveTogether/Documents #在用户主目录下创建存档文件夹,klei文件夹和DoNotStarveTogether文件夹是饥荒默认的不可更改,此处Document即为Cluster
  2. cd ~/.klei/DoNotStarveTogether/Documents/ #这里注意一定要切换到steam用户
  3. #创建adminlist.txt和cluster_token.txt用于存放之前获得的UserID和令牌号
  4. vim adminlist.txt
  5. vim cluster_token.txt
  6. #创建服务器端的设置文件,cluster.ini注意此文件必须要用utf8(无bom)进行存储,否则部分设置无效,最好下个notepad++
  7. vim cluster.ini

下面的这些步骤直接在DST中复制即可

配置cluster.ini文件

  1. [GAMEPLAY]
  2. max_players = 3 #最大人数
  3. pvp = false #是否开启pvp
  4. game_mode = survival #游戏模式(生存,荒野等)
  5. pause_when_empty = true #服务器无人时,自动暂停
  6. vote_kick_enabled = false #投票踢人
  7.  
  8. [NETWORK]
  9.  
  10. cluster_description = #服务器介绍
  11. cluster_name = #服务器名字
  12. cluster_password = #服务器的密码
  13. cluster_intention = cooperative ##游戏的意图(合作,竞争,无尽)
  14.  
  15. [MISC]
  16. max_snapshots = 6
  17. console_enabled = true #是否开启控制台
  18.  
  19. #IP端口设置,一般不用改
  20. [SHARD]
  21. shard_enabled = true
  22. bind_ip = 127.0.0.1
  23. master_ip = 127.0.0.1
  24. master_port = 10889
  25. cluster_key = supersecretkey

创建主世界Master

  1. mkdir Master
  2. cd Master

创建server.ini和worldgenoverride.lua用于存储服务器信息和世界信息

server.ini

  1. vim server.ini #配置服务器信息
  2.  
  3. [NETWORK]
  4. server_port = 11000
  5.  
  6. [SHARD]
  7. is_master = true
  8.  
  9. [STEAM]
  10. master_server_port = 27018
  11. authentication_port = 8768
  12.  
  13. [ACCOUNT]
  14. encode_user_path = true

worldgenoverride.lua

  1. vim worldgenoverride.lua #配置世界信息
  2. return {
  3. override_enabled = true,
  4. preset = "SURVIVAL_TOGETHER",
  5. misc = {
  6. world_size = "huge",
  7. },
  8. monsters = {
  9. walrus = "often",
  10. },
  11. }

创建地穴世界

  1. cd ..
  2. mkdir Caves
  3. cd Caves

server.ini

  1. [NETWORK]
  2. server_port = 11001
  3.  
  4. [SHARD]
  5. is_master = false
  6. name = Caves
  7. id = 1811570792
  8.  
  9. [STEAM]
  10. master_server_port = 27019
  11. authentication_port = 8769
  12.  
  13. [ACCOUNT]
  14. encode_user_path = true

worldgenoverride.lua

  1. return {
  2. override_enabled = true,
  3. preset = "DST_CAVE",
  4. misc = {
  5. world_size = "huge"
  6. }
  7. }

运行如下命令

  1. cd /home/steam/DST_aeolian/bin
  2. ./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不存在

解决办法

  1. $ cd /usr/lib/
  2. $ ln -s libcurl.so.4 libcurl-gnutls.so.4

问题2、

查看依赖包

  1. cd /home/steam/DST_aeolian/bin
  2. 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版本);

下载后执行以下命令:

  1.   tar zxvf glibc-2.15.tar.gz
  2.   cd glibc-2.15
  3.   mkdir glibc-build-2.15
  4.   cd glibc-build-2.15
  5.   ../configure --prefix=/opt/glibc-2.15
  6.   make
  7.   make install

问题3、

运行screen命令,首先yum install screen命令安装screen命令

  1. cd /home/steam/steamapps/DST_aeolian/bin
  2. /usr/bin/screen -S "DST" /bin/sh -c './dontstarve_dedicated_server_nullrenderer -console'

若是出现Cannot open your terminal'/dev/pts/1' - please check.运行如下文件

  1. script /dev/null

启动

进入到用户主文件夹,编写startDST.sh  shell启动脚本,一定要用steam用户执行

  1. cd ~
  2. vim startDST.sh
  1. startDST.sh内容如下
  1. #!/bin/bash
  2. #前面的文件夹更改后,下面的相应值也需要更改
  3. steamcmd_dir="$HOME/steamcmd"
  4. install_dir="$HOME/DST_aeolian"
  5. cluster_name="Documents"
  6. cd "$install_dir/bin"
  7.  
  8. run_shared=(./dontstarve_dedicated_server_nullrenderer)
  9. run_shared+=(-console)
  10. run_shared+=(-cluster "$cluster_name")
  11. run_shared+=(-monitor_parent_process $$)
  12.  
  13. #不想开启洞穴就把&和后面的都去掉
  14. "${run_shared[@]}" -shard Master | sed 's/^/Master: /' &
  15. "${run_shared[@]}" -shard Caves | sed 's/^/Caves: /'

赋权限,运行,可能出现的问题bash: ./startDSTServer.sh: /bin/bash^M: bad interpreter: No such file or directory

  1. chmod 777 startDST.sh
  2. ./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!就说明你成功了。

永久运行

  1. su steam #使用steam用户登录
  2. cd ~/aeolian/bin/ #~为/home/steam
  3. nohup ./startDSTServer & #永久运行

或者

  1. 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饥荒的更多相关文章

  1. 手把手教你搭饥荒专用服务器(五)—MOD自动下载安装(Windows+Linux)

    想了解更详细内容,请点击原文地址:https://wuter.cn/1985.html/ 饥荒专用服务器的mod设置总共有两种方法. 方法一 在本地游戏中更新mod,然后把mod上传到服务器,但是这种 ...

  2. 手把手教你搭饥荒专用服务器(三)—MOD及其他高级设置

    友情链接: 手把手教你搭饥荒专用服务器(一)-服务器准备工作 手把手教你搭饥荒专用服务器(二)-环境配置及基本使用 手把手教你搭饥荒专用服务器(三)-MOD及其他高级设置 手把手教你搭饥荒专用服务器( ...

  3. Linux下Steam中支持中文的办法

    搜索过好几个解决方案,诸如添加skin等等,在我的ARCH机器上似乎都不行然后在搜索linux steam cjk时, 发现一个链接中有解决DOTA2显示中文不正确的问题,感觉可能有用,就参考着搞定了 ...

  4. Ubuntu 16.04 Steam

    Ubuntu 16.04安装Steam,直接去Steam官网下载客户端安装包即可.

  5. 帝国时代II 高清版 steam 4.4 字体替换 微软雅黑

    其实默认的中文字体算是中规中矩吧,但是我并不喜欢 从昨天开始就想着换 于是我就开始搜索帝国时代2的游戏目录的资源,马上就锁定到了\Steam\steamapps\common\Age2HD\resou ...

  6. Ubuntu安装steam游戏平台的解决方案

    steam是一个游戏平台,上面提供了很多收费和免费的游戏,在安装的过程中遇到了一些问题,所以把自己遇到的问题及解决方案分享出来供大家参考. 第一步:安装steam平台 sudo apt-get ins ...

  7. Steam即将正式加入人民币支付(转)

    Valve将在2015年Q4和2016年Q1加入一批新的货币结算支持,其中包括了人民币,这意味着以后玩家将无需在跳转支付平台后并通过美元结算.这对中国玩家来说是喜是忧? 本文由爱玩网整理报道,转载请保 ...

  8. Steam游戏黑屏与游戏直接安装方法

    黑屏原因主要是360禁止了反作弊进程,解决方法: Steam游戏目录: Steam\steamapps\common\*** 例如黎明杀机,备份时候可直接备份该目录下 Dead by Daylight ...

  9. Ubuntu16 64位安装steam, 并解决无法启动的问题

    直接用crtl+shift打开终端,运行下面的命令. sudo add-apt-repository multiverse sudo apt update sudo apt install steam ...

随机推荐

  1. 基础SQL注入

    预备知识对mysql数据库有一定了解:对基本的sql语句有所了解:对url编码有了解:空格=‘%20’,单引号=‘%27’,双引号=‘%22’,井号=‘%23’等 基本步骤1. 判断是什么类型注入,有 ...

  2. mysql数据库的主从同步,实现读写分离 g

    https://blog.csdn.net/qq_15092079/article/details/81672920 前言 1 分别在两台centos 7系统上安装mysql 5.7 2 master ...

  3. @Value("${xxxx}")注解的配置及使用

    代码中的用法 Spring 通过@Value注解获取*.porperties文件code的内容,然后赋值给使用该注解的Code属性上. @Value("${code}") priv ...

  4. PyQt5的安装及基本配置

    安装PyQt5 注:Pyqt5只支持python3.5以上版本 Mac安装 Mac上使用编译安装的话,后面使用pyinstaller打包可能会出问题,推荐使用命令行一键安装,Linux如果包管理没有的 ...

  5. python tkinter Label

    """小白随笔,大佬勿喷""" #Label标签 用于可显示文本或图片,不可编辑 import tkinter as tk #初始化窗口 w ...

  6. java框架之Spring(5)-注解驱动开发

    准备 1.使用 maven 创建一个 java 项目,依赖如下: <dependency> <groupId>org.springframework</groupId&g ...

  7. 为什么mysql事务回滚后, 自增ID依然自增

    事务回滚后,自增ID仍然增加,回滚后,自增ID仍然增加.比如当前ID是7,插入一条数据后,又回滚了.然后你再插入一条数据,此时插入成功,这时候你的ID不是8,而是9.因为虽然你之前插入回滚,但是ID还 ...

  8. PHP环境安全加固

    随着使用 PHP 环境的用户越来越多,相关的安全问题也变得越来越重要.PHP 环境提供的安全模式是一个非常重要的内嵌安全机制,PHP 安全模式能有效控制一些 PHP 环境中的函数(例如system() ...

  9. 简单配置jena在eclipse的开发环境

    Jena:A free and open source Java framework for building Semantic Web and Linked Data applications. 耶 ...

  10. 微信小程序scroll-view不能实现下拉刷新

    一般在列表展示页面,会使用到上拉加载和下拉刷新功能,在scroll-view中有bindscrolltolower事件,可以实现上拉加载功能,但是却没法实现下拉刷新. 如需同时使用两种功能,解决步骤如 ...