欢迎光临散文网 会员登陆 & 注册

饥荒联机服务器 docker linux

2023-07-05 14:56 作者:lin-qlpnil  | 我要投稿

注:本文为自建饥荒服务器记录,不是新手教程


dockerhub地址:https://hub.docker.com/r/yeetzone/dontstarvetogether


## 1.安装docker


## 2.编辑docker-compose.yml


``````yaml

version: "3.9"

services:

  overworld:

    image: yeetzone/dontstarvetogether

    container_name: overworld

    hostname: overworld

    depends_on:

      - data

    env_file:

      - overworld.env

      - local.env

    ports:

      - "10999:10999/udp"

    volumes:

      - type: volume

        source: data

        target: /data

  underworld:

    image: yeetzone/dontstarvetogether

    container_name: underworld

    hostname: underworld

    depends_on:

      - data

    env_file:

      - underworld.env

      - local.env

    ports:

      - "11000:11000/udp"

    volumes:

      - type: volume

        source: data

        target: /data

  data:

    image: yeetzone/dontstarvetogether-data

    volumes:

      - type: volume

        source: data

        target: /data

volumes:

  data:

``````


## 3.编辑local.env


`local.env`为服务器创建一个令牌。


``````yaml

TOKEN=pds-g^KU_...

``````


## 4.编辑overworld.env


```yaml

# 服务器令牌(必需)

TOKEN=pds-g^KU_Qvt-jPIp^0zm3VPpFI996mLYm7S1IV+R6wppas5iNHkusi06C7EQ=


# 设置服务器名称,在公共服务器列表和游戏中显示(默认: RANDOM)

NAME=linworld


# 定义要附加到服务器名称前面的文本

#NAME_PREFIX=


# 设置服务器描述,在公共服务器列表和游戏中显示(默认: Powered by DST-Academy.)

#DESCRIPTION=Powered by DST-Academy.


# 设置服务器的语言

# en: 英语(默认)

# de: 德语

# it: 意大利语

# fr: 法语

# es: 西班牙语

# pt: 葡萄牙语

# pl: 波兰语

# ru: 俄语

# ko: 韩语

# zh: 中文

# zhr: 简体中文

LANGUAGE=zh


# 定义服务器密码,只有知道密码的玩家才能连接

PASSWORD=123123


# 定义游戏服务器在 Docker 容器内运行的端口号(默认: 10999)

SERVER_PORT=10999


# 控制服务器是否在列表中公开和可访问

# true: 是

# false: 否(默认)

OFFLINE_ENABLE=true


# 控制服务器是否只能从局域网访问

# true: 是

# false: 否(默认)

LAN_ONLY=false


# 设置允许同时连接和游玩的最大玩家数量

# 该设置对服务器的整体性能和游戏体验有很大影响,请确保硬件具有足够的能力以为配置的玩家数量提供流畅的体验

MAX_PLAYERS=10


# 为管理员和/或其他玩家预留玩家位,并将其添加到可以连接到服务器的总玩家数中

# MAX_PLAYERS 和 WHITELIST_SLOTS 的总和确定可以同时连接到服务器的玩家数量

WHITELIST_SLOTS=0


# 要添加到 adminlist.txt 文件中的 Klei 用户 ID,列表中的玩家将获得管理员权限

# 可以通过在游戏主菜单底部右下角点击“帐户”来找到玩家的 Klei 用户 ID

ADMINLIST=KU_Qvt-jPIp


# 要添加到 whitelist.txt 文件中的 Klei 用户 ID,列表中的玩家将获得白名单权限

# 可以通过在游戏主菜单底部右下角点击“帐户”来找到玩家的 Klei 用户 ID

#WHITELIST=KU_G_cla3ou,KU_yDc5M7bx,KU_ad39dik


# 要添加到 blocklist.txt 文件中的 Klei 用户 ID,列表中的玩家将被禁止

# 可以通过在游戏主菜单底部右下角点击“帐户”来找到玩家的 Klei 用户 ID

#BLOCKLIST=KU_G_cla3ou,KU_yDc5M7bx,KU_ad39dik


# 启用/禁用 PVP,确定玩家是否可以相互攻击

# true: 是

# false: 否(默认)

PVP_ENABLE=false


# 定义服务器运行的游戏模式

# survival: 生存模式(默认)

# endless: 无尽模式

# wilderness: 荒野模式

GAME_MODE=survival


# 配置服务器的游戏意图(INTENTION)供玩家选择,如果没有设置则使用默认值(取决于 GAME_MODE)

# social: 社交

# cooperative: 合作

# competitive: 竞争

# madness: 疯狂

INTENTION=social


# 启用/禁用每个游戏日后自动保存世界状态

# true: 是(默认)

# false: 否

AUTOSAVER_ENABLE=true


# 设置服务器的刻度率(tick-rate),更高的刻度率意味着更流畅的游戏体验,但也需要更多的带宽和CPU资源

# 15(默认)

# 20

# 30

# 60

TICK_RATE=20


# 启用/禁用服务器上的投票

# true: 是(默认)

# false: 否

VOTE_ENABLE=true


# 启用/禁用通过投票踢出玩家的功能

# true: 是(默认)

# false: 否

VOTE_KICK_ENABLE=true


# 启用/禁用当没有玩家连接时暂停世界

# true: 是

# false: 否(默认)

PAUSE_WHEN_EMPTY=true


# 设置 Steam 的身份验证端口号,通常不需要更改此值(默认: 8766)

STEAM_AUTHENTICATION_PORT=8766


# 设置 Steam 的主服务器端口号,通常不需要更改此值(默认: 27016)

STEAM_MASTER_SERVER_PORT=27016


# 将服务器关联到对应的 Steam 群组

#STEAM_GROUP_ID=


# 启用/禁用只有 Steam 群组成员才能加入服务器,非群组成员将无法加入

# true: 是

# false: 否(默认)

STEAM_GROUP_ONLY=false


# 启用/禁用将 Steam 群组官员提升为服务器管理员

# true: 是

# false: 否(默认)

#STEAM_GROUP_ADMINS=false


# 禁用/启用管理员的游戏内控制台

# true: 是(默认)

# false: 否

CONSOLE_ENABLE=true


# 启用/禁用连接多个服务器到一个大世界的分片功能

# true: 是

# false: 否(默认)

SHARD_ENABLE=true


# 为此服务器分片设置一个唯一名称

SHARD_NAME=overworld


# 为此服务器分片设置一个唯一标识符

#SHARD_ID=


# 定义此服务器是否为主服务器

# true: 是

# false: 否(默认)

SHARD_IS_MASTER=true


# 定义从属服务器连接到的主服务器的 IP 地址

#SHARD_MASTER_IP=


# 定义主服务器的端口,此端口号需要与主服务器和所有从属服务器设置为相同

SHARD_MASTER_PORT=10888


# 配置允许从中接收分片连接的 IP 地址,通常不需要更改此值以使其与 Docker 正常工作(默认: 0.0.0.0)

SHARD_BIND_IP=0.0.0.0


# 为验证传入的分片连接设置一个唯一且保密的群集密钥,该密钥需要与主服务器和所有从属服务器设置为相同

SHARD_CLUSTER_KEY=secret


# 设置 worldgenoverride.lua 文件中的预定义预设

# SURVIVAL_TOGETHER_CLASSIC

# SURVIVAL_TOGETHER(默认)

# SURVIVAL_DEFAULT_PLUS

# DST_CAVE

# DST_CAVE_PLUS

# COMPLETE_DARKNESS

# MOD_MISSING

WORLD_PRESET=SURVIVAL_TOGETHER


# 设置世界生成的配置,基本上就是 worldgenoverride.lua 文件的内容

# 由于该值可能非常大,建议将配置放入单独的文件中,并在之前将其读入变量中

WORLD_CONFIGURATION=$(cat /home/linqlpnil/leveldataoverride1.lua)


# 定义要安装和启用的 mods

# 字符串,以逗号分隔的创意工坊 ID

MODS=1898292532,2048838506,2119742489,347079953,362175979,375850593,375859599,378160973,501385076,543945797


# 设置所有 mods 的配置,基本上就是 modsoverrides.lua 文件的内容

# 由于该值可能非常大,建议将配置放入单独的文件中,并在之前将其读入变量中

MODS_CONFIGURATION=$(cat /home/linqlpnil/modoverrides.lua)


# 重启服务器时启用日志备份

# 数字,指定备份的服务器日志数量(默认: 0)

BACKUP_LOG_COUNT=0


# 启用路径编码以与不区分大小写的操作系统兼容

# true: 是(默认)

# false: 否

ENCODE_USER_PATH=true


```


其中生存世界配置,启用mod,mod配置均可在本地存档中找到。


## 5.编辑underworld.env


```yaml



# 设置服务器的语言

# en: 英语(默认)

# de: 德语

# it: 意大利语

# fr: 法语

# es: 西班牙语

# pt: 葡萄牙语

# pl: 波兰语

# ru: 俄语

# ko: 韩语

# zh: 中文

# zhr: 简体中文

LANGUAGE=zh


# 设置允许同时连接和游玩的最大玩家数量

# 该设置对服务器的整体性能和游戏体验有很大影响,请确保硬件具有足够的能力以为配置的玩家数量提供流畅的体验

MAX_PLAYERS=10


# 为管理员和/或其他玩家预留玩家位,并将其添加到可以连接到服务器的总玩家数中

# MAX_PLAYERS 和 WHITELIST_SLOTS 的总和确定可以同时连接到服务器的玩家数量

WHITELIST_SLOTS=0


# 要添加到 adminlist.txt 文件中的 Klei 用户 ID,列表中的玩家将获得管理员权限

# 可以通过在游戏主菜单底部右下角点击“帐户”来找到玩家的 Klei 用户 ID

ADMINLIST=KU_Qvt-jPIp


# 要添加到 whitelist.txt 文件中的 Klei 用户 ID,列表中的玩家将获得白名单权限

# 可以通过在游戏主菜单底部右下角点击“帐户”来找到玩家的 Klei 用户 ID

#WHITELIST=KU_G_cla3ou,KU_yDc5M7bx,KU_ad39dik


# 要添加到 blocklist.txt 文件中的 Klei 用户 ID,列表中的玩家将被禁止

# 可以通过在游戏主菜单底部右下角点击“帐户”来找到玩家的 Klei 用户 ID

#BLOCKLIST=KU_G_cla3ou,KU_yDc5M7bx,KU_ad39dik


# 启用/禁用 PVP,确定玩家是否可以相互攻击

# true: 是

# false: 否(默认)

PVP_ENABLE=false


# 定义服务器运行的游戏模式

# survival: 生存模式(默认)

# endless: 无尽模式

# wilderness: 荒野模式

GAME_MODE=survival


# 配置服务器的游戏意图(INTENTION)供玩家选择,如果没有设置则使用默认值(取决于 GAME_MODE)

# social: 社交

# cooperative: 合作

# competitive: 竞争

# madness: 疯狂

INTENTION=social


# 启用/禁用每个游戏日后自动保存世界状态

# true: 是(默认)

# false: 否

AUTOSAVER_ENABLE=true


# 设置服务器的刻度率(tick-rate),更高的刻度率意味着更流畅的游戏体验,但也需要更多的带宽和CPU资源

# 15(默认)

# 20

# 30

# 60

TICK_RATE=20


# 启用/禁用服务器上的投票

# true: 是(默认)

# false: 否

VOTE_ENABLE=true


# 启用/禁用通过投票踢出玩家的功能

# true: 是(默认)

# false: 否

VOTE_KICK_ENABLE=true


# 启用/禁用当没有玩家连接时暂停世界

# true: 是

# false: 否(默认)

PAUSE_WHEN_EMPTY=true


# 设置 Steam 的身份验证端口号,通常不需要更改此值(默认: 8766)

STEAM_AUTHENTICATION_PORT=8766


# 设置 Steam 的主服务器端口号,通常不需要更改此值(默认: 27016)

STEAM_MASTER_SERVER_PORT=27016


# 将服务器关联到对应的 Steam 群组

#STEAM_GROUP_ID=


# 启用/禁用只有 Steam 群组成员才能加入服务器,非群组成员将无法加入

# true: 是

# false: 否(默认)

STEAM_GROUP_ONLY=false


# 启用/禁用将 Steam 群组官员提升为服务器管理员

# true: 是

# false: 否(默认)

#STEAM_GROUP_ADMINS=false


# 禁用/启用管理员的游戏内控制台

# true: 是(默认)

# false: 否

CONSOLE_ENABLE=true


# 启用/禁用连接多个服务器到一个大世界的分片功能

# true: 是

# false: 否(默认)

SHARD_ENABLE=true


# 为此服务器分片设置一个唯一名称

SHARD_NAME=underworld


# 为此服务器分片设置一个唯一标识符

#SHARD_ID=


# 定义此服务器是否为主服务器

# true: 是

# false: 否(默认)

SHARD_IS_MASTER=false


# 定义从属服务器连接到的主服务器的 IP 地址

SHARD_MASTER_IP=overworld


# 定义主服务器的端口,此端口号需要与主服务器和所有从属服务器设置为相同

SHARD_MASTER_PORT=10888


# 配置允许从中接收分片连接的 IP 地址,通常不需要更改此值以使其与 Docker 正常工作(默认: 0.0.0.0)

SHARD_BIND_IP=0.0.0.0


# 为验证传入的分片连接设置一个唯一且保密的群集密钥,该密钥需要与主服务器和所有从属服务器设置为相同

SHARD_CLUSTER_KEY=secret


# 设置 worldgenoverride.lua 文件中的预定义预设

# SURVIVAL_TOGETHER_CLASSIC

# SURVIVAL_TOGETHER(默认)

# SURVIVAL_DEFAULT_PLUS

# DST_CAVE

# DST_CAVE_PLUS

# COMPLETE_DARKNESS

# MOD_MISSING

WORLD_PRESET=DST_CAVE


# 设置世界生成的配置,基本上就是 worldgenoverride.lua 文件的内容

# 由于该值可能非常大,建议将配置放入单独的文件中,并在之前将其读入变量中

WORLD_CONFIGURATION=$(cat /home/linqlpnil/leveldataoverride2.lua)


# 定义要安装和启用的 mods

# 字符串,以逗号分隔的创意工坊 ID

MODS=1898292532,2048838506,2119742489,347079953,362175979,375850593,375859599,378160973,501385076,543945797


# 设置所有 mods 的配置,基本上就是 modsoverrides.lua 文件的内容

# 由于该值可能非常大,建议将配置放入单独的文件中,并在之前将其读入变量中

MODS_CONFIGURATION=$(cat /home/linqlpnil/modoverrides.lua)


# 重启服务器时启用日志备份

# 数字,指定备份的服务器日志数量(默认: 0)

BACKUP_LOG_COUNT=0


# 启用路径编码以与不区分大小写的操作系统兼容

# true: 是(默认)

# false: 否

ENCODE_USER_PATH=true


# 定义游戏服务器在 Docker 容器内运行的端口号

SERVER_PORT=11000

```


同overworld.env


## 6.运行docker-compose


这样我在dst文件夹下就有7个配置文件


docker-compose.yml  leveldataoverride1.lua  leveldataoverride2.lua  local.env  modoverrides.lua  overworld.env  underworld.env


饥荒联机服务器 docker linux的评论 (共 条)

分享到微博请遵守国家法律