备份服务器模组(V2.1)为你的Linux版七日杀专用服务器提供备份功能

备份服务器模组(V2.1)为你的Linux版七日杀专用服务器提供备份功能

一个服务器模组,可自动管理和备份《七日杀》存档文件数据,确保玩家能够通过可配置选项保存进度,并提供清晰的控制台日志消息用于备份创建及自动保存通知。

实用工具

TechFreqs 备份服务器模组

一个服务器模组,可自动管理《七日杀》存档数据的备份,确保玩家能通过可配置选项保存进度,并提供清晰的备份创建控制台日志消息、服务器世界存档的自动保存通知以及重要文件的备份。

它的设计目的是帮助你从世界损坏、模组测试事故或意外丢失中恢复。

故事时间

非常适合模组制作者或原版玩家备份存档文件,以防最坏的情况发生或游戏崩溃。

至于我的情况,我还没有找到某种备份模组,只能依靠手动备份的方法。即使在研究了论坛寻找恢复我的player.xml的方法后,我试图加载存档时发现它已损坏,而且在A21、A20以及A19早期版本中遇到这种情况时,几乎没有可靠的解决方案。

然后我会在日志中看到一个红色的空引用错误...,结果发现我的玩家XML文件因为那个糟糕的模组而损坏了,导致新存档出现问题。

所以,在恢复备份时,即使是从一个仅几天前的旧存档恢复——虽然我当时确实手动备份过——但由于我患有ADHD的大脑并不总能记住这些事,再加上生活中总有各种干扰。

即使在手动恢复后,我也能直接跳回游戏中,只需进行一些调整,并将技能点重新分配到技能树的其他技能上,这并不算什么大问题,但这激发了一个想法...

因此,这个模组诞生了,并认为每个人都应该至少了解一下这类事情。尽管存在崩溃、延迟或一些自然原因。

但尽管如此...

最新更新日志

V1.0

  • 《七日杀》2.1版本支持

错误

MOD不会复制这个特定的文件,但也许它会自动识别这个文件,serveradmin.xml(位于7DaysToDie/Saves根目录)

"ServerAdminXmlPath": "/home/sdtdserver/.local/share/7DaysToDie/serveradmin.xml"

通常位于 /7DaysToDie/Saves 根文件夹中,用于服务器制作的模组,用于标识服务器本身的管理员权限... 在管理员工具类别...

如果它确实允许你,请确保路径设置如下 /home/sdtdserver/.local/share/7DaysToDie/Saves/serveradmin.xml

对于Linux服务器来说,它是基于容器路径而非实际卷路径。

再次说明,这是基于vinaar的Linux GSM 7DtD服务器,谷歌是你的好帮手!

例如,如需在服务器管理员XML中设置WEB仪表板

<管理工具>
  <用户>
    <!-- <用户 平台="Steam" 用户ID="STEAMID" 名称="STEAMNAME" 权限等级="0" /> -->
    <!-- <group steamID="STEAMID" name="Steam Universe" permission_level_default="1000" permission_level_mod="0" /> -->
    <用户 平台="Steam" 用户ID="STEAMIDAGAIN" 昵称="STEAMNAME" 权限等级="0" />
    <group steamID="0" name="工作人员" permission_level_default="0" permission_level_mod="0" />
  </users>

以及网络仪表盘

<网页模块 />
<网络用户>
  <用户名="TechFreq" 密码="PASSWORD" 平台="Steam" 用户ID="STEAMID" 跨平台="EOS" 跨平台用户ID="CROSSUSERID" />
</网络用户>

STEAM ID 和 CROSS USER ID 是您账户的标识符。
如果您不知道这些信息,可以加入任意服务器,查看游戏内的 F1 日志,从文本文件中获取这些信息,然后将它们复制粘贴到对应的输入框中。这样您就能准备好仪表盘,并获得自己服务器的管理员权限了。

不过我又在使用Linux作为服务器,我包含了一个Windows示例配置json,可能对你有用,它确实支持绝对路径、自定义文件夹目录以及双斜杠这类情况,但未经测试,因为我没有Windows服务器。

模组结构

  • Mod DLL 服务器备份的重要模组
  • 重要文档 ReadMe 文本
  • 许可证文本重要文档
  • 备份文件夹将被创建用于备份服务器世界存档
  • world_settings json 用于跟踪每个独立服务器世界/保存的自动备份状态和最后备份时间,每个服务器设置对应一个worldsettings json文件。
  • 如果尚未创建,则创建配置json,用于运行模组编程

新命令

控制台/网页仪表板命令

在F1控制台或网页仪表盘中输入以下内容:

  • BMS备份 - 开始手动备份(带倒计时和公告)。
  • 启用BMS自动模式 - 启用自动备份(使用配置中的间隔或设置间隔)。
  • 禁用自动BMS - 禁用自动备份。
  • BMS配置 - 以JSON格式显示当前配置。
  • 重新加载BMS配置 - 重新加载配置和世界设置。
  • BMS 重载 - reloadconfig的别名。
  • BMS设置间隔15分钟 - 将备份间隔设置为15分钟(或任意值,例如bms setinterval 2m表示2分钟,bms setinterval 600s表示10分钟)。
  • BMS状态 - 显示距离下次自动备份的剩余时间。

游戏内聊天指令(管理员专用)

在游戏内聊天框中输入以下内容(必须是服务器管理员):

  • /手动备份 - 开始手动备份(带倒计时和公告)。
  • /启用自动备份 - 启用自动备份。
  • /禁用自动备份 - 禁用自动备份。
  • /备份状态 - 显示距离下次自动备份的剩余时间。
  • /重新加载BMS配置 - 重新加载配置和世界设置。
  • /设置间隔 15分钟 - 将备份间隔设置为15分钟(或任意值,例如/setinterval 2m)。

命令说明摘要

  • backup/manualbackup: 触发带有倒计时和聊天/服务器通知的备份。
  • enableauto/disableauto: 为当前世界/存档开启或关闭自动备份功能。
  • config: 在控制台以JSON格式显示当前的config.json文件。
  • reload/reloadconfig/reloadbmsconfig: 重新加载config.json和world_settings.json,并应用所有更改。
  • setinterval:更改备份间隔(例如15m表示15分钟,600s表示10分钟)。立即生效。
  • status/backupstatus: 显示距离下次自动备份还有多长时间(以分钟为单位)。

备份内容

  • 仅限当前世界/存档(非所有存档/世界)
  • 整个7DaysToDie文件夹(除所有存档外,仅当前世界/存档)
  • serverfiles/Data/Worlds/[当前世界]
  • 服务器文件/数据/配置
  • serverfiles/Mods(备份模组本身除外)
  • serverfiles/platform.cfg, sdtdserver.xml, serverconfig.xml
  • lgsm/配置-lgsm
  • 日志
  • sdcs_profiles.sdf (来自7DaysToDie/Saves)
  • 包含恢复说明的readme.txt

如何恢复

感谢您使用TechFreqsBackupServerMod!

要恢复:

  1. 停止你的服务器。
  2. 解压此存档。
  3. 将内容复制到您服务器的根目录文件夹中,根据需要覆盖现有文件:
    • '7DaysToDie' 到你的7DaysToDie文件夹(包含存档、Twitch、RfsCache、titlestorage等)
    • 'lgsm_config' 至 lgsm/config-lgsm
    • 'logs' 记录到 log/
    • 'serverfiles' 内容复制到 serverfiles/
  4. 启动您的服务器。

如遇问题,请访问:https://beacons.ai/techfreq 或加入Discord:https://discord.gg/SQCnGjNUhw

默认配置

{
  "备份间隔": "2分钟",
  "最大备份数量": 8,
  "启用自动备份": true,
  "静默日志记录": false,
  "立即删除旧备份": true,
  "最小空闲空间MB": 2048,
  "BackupLocation": "备份",
  "保存路径": "/home/sdtdserver/.local/share/7DaysToDie/Saves",
  "Lgsm路径": "/home/sdtdserver/lgsm/config-lgsm",
  "日志路径": "/home/sdtdserver/log",
  "服务器文件路径": "/home/sdtdserver/serverfiles",
  "SuccessSound": "ui_success",
  "ServerAdminXmlPath": "/home/sdtdserver/.local/share/7DaysToDie/serveradmin.xml"
}

配置设置说明

  • 备份间隔:自动备份的频率(例如"2m"表示每2分钟,"30m"表示30分钟)。
  • MaxBackupCount: 在删除最旧备份前保留的备份数量。
  • EnableAutoBackup: true 启用自动备份,false 仅手动备份。
  • SilentLogging: 如果为true,则仅记录到控制台,不显示在聊天中。
  • DeleteOldBackupsImmediately: 如果为真,超出限制时立即删除最旧的备份。
  • MinFreeSpaceMB: 运行备份所需的最小可用空间(以MB为单位)。
  • BackupLocation: 备份ZIP文件的存储位置(相对或绝对路径)。
  • SavesPath: 你的7DTD存档文件夹路径。
  • LgsmPath: 您的LGSM配置文件夹路径。
  • LogPath: 日志文件夹路径。
  • ServerfilesPath: 服务器文件文件夹的路径。
  • SuccessSound: 备份成功时播放的音效(服务器模组中未使用,但为保持兼容性而保留)。
  • ServerAdminXmlPath: 指向您的serveradmin.xml文件的路径。

注意:

  • 始终在游戏未运行时恢复备份。
  • 在不同位置保留多个备份(3-2-1规则:3份副本,2种不同介质,1份异地/云端存储)。

整体特性

自动与手动备份

  • 按任意间隔安排自动备份(例如每2分钟、15分钟等)。
  • 触发带有倒计时和聊天/服务器通知的手动备份。

智能文件夹选择

  • 备份整个7DaysToDie文件夹(包括Twitch、RfsCache、titlestorage等)。
  • 在存档文件夹中,仅备份当前世界/存档(非全部世界/存档)。
  • 仅备份Data/Worlds和Data/Config中的当前世界(非全部世界)。
  • 备份除自身外的所有模组。
  • 备份关键配置文件(platform.cfg, sdtdserver.xml, serverconfig.xml)。
  • 备份 lgsm/config-lgsm 和日志文件夹。
  • 备份中包含serveradmin.xml和sdcs_profiles.sdf文件。

仅限管理员控制

只有serveradmin.xml中permission_level="0"的用户才能执行备份命令(游戏内、网页控制台或命令行)。

世界特定设置

  • 为每个世界/存档维护一个world_settings.json文件,记录自动备份状态和最后一次备份时间。
  • 遵循每个世界的自动/手动备份设置。

实时公告

  • 在聊天和控制台中宣布即将进行的备份(1分钟、10秒、5秒和开始)。
  • 宣布备份完成及下次计划备份时间。

可配置且动态

  • 所有路径和设置均可在config.json中配置。
  • 支持通过命令(bms reload 或 /reloadbmsconfig)动态重新加载配置。

安全高效

  • 仅保留最新的N个备份(可配置)。
  • 在备份前检查最小可用磁盘空间。
  • 跳过备份自身的模组文件夹以避免递归备份。

无需客户端模组

  • 这是一个仅限服务器的模组。无需客户端安装。

感谢您的调试日志

  • 在服务器启动时记录感谢信息和支持链接。

免责声明

使用此模组即表示您承认,TechFreq 不对因使用该模组而导致的任何问题、崩溃或冲突负责。

使用风险自负。在安装任何类型的模组前,请备份您的游戏文件。

感谢您的下载,祝您玩得愉快!

安装

确保harmony模组存在于模组目录中,因为它是必需的。

下载模组文件,解压模组文件。

请备份你的世界、存档或游戏文件。

将它们放入你的《七日杀》游戏服务器模组目录中。

EAC必须被禁用,尽管我希望未来这一点能有所改变,目前DLLS不受EAC支持,但XML没有问题,遗憾的是这是一个dll修改。

这是一个仅限服务器端的模组

无需进一步设置。尽情享受吧!

致谢

感谢 TechFreq 和 A.I、ChatGPT 或 Microsoft CoPilot A.I 或 Twitter/X 的 Grok AI 帮助我创建这个模组。
由于我对游戏模组制作的知识非常有限,只能边学边做,没有它们的帮助我无法完成这个项目。

同时也感谢整个模组社区的集体智慧和支持。

非常感谢,也非常欢迎对mod的任何反馈。

支持公告

对于那些想支持"TechFreqs"作品的人,
本模组可能会也可能不会被交叉发布。

通过7daystodiemods网站经由ModsFire下载(含广告,每次下载都能获得收益),
如果发布在该网站或其他示例模组站点上,将对我有极大帮助。

不过!
(尽管每次下载仅需10美分)此外,我们还为使用NexusMods网站的用户提供了直接镜像,该镜像同样提供直接下载链接,但这些链接并非按点击或下载次数计费,而是通过另一套系统运行的捐赠点数。除了下载模组、与朋友分享模组、留下反馈以及为模组点赞之外,这些都是我对您支持TechFreq的最好方式的请求。当然,如果您愿意更进一步(尽管并非必须),您也可以通过PayPal或Ko-fi页面使用捐赠链接,这同样会给我带来极大的帮助!

然而,捐款并非强制要求,
每一点支持都能帮助我们前行,
并为未来的模组、音乐和漏洞修复提供动力。

再次感谢您的阅读、
一如既往的支持,
以及查看这篇模组帖子。

社交媒体

如果你欣赏"TechFreqs"的工作并想表示支持,可以使用这个捐赠链接,尽管并非必须。Kofi页面:https://ko-fi.com/techfreq

感谢大家查看模组帖子、分享并享受任何模组内容本身。再次感谢!祝游戏愉快!

喜欢这个模组吗?有反馈、想法或需要故障排除?
加入TechFreq超酷小队的Discord服务器!https://discord.com/invite/SQCnGjNUhw

来我们的Discord放松一下,聊聊游戏、分享梗图,还有更多模组更新等着你!

至于TechFreqs音乐,它是免版税音乐,可用于您的项目或休闲聆听!

源音乐文件可随时索取,欢迎在Discord上询问!或获取更多内容!TechFreqs社交平台:https://beacons.ai/techfreq

看看今天的幕后花絮氛围!再次感谢大家查看模组帖子。

许可证

CC BY-NC-SA 4.0

本模组采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议授权。您可将其用于《七日杀》个人游玩。修改或分享需注明TechFreq原创,附模组页面链接,且衍生作品需采用相同许可协议。任何修改或变更需求请通过beacons.ai/techfreq联系我获取授权。

请参阅LICENSE.txt或访问http://creativecommons.org/licenses/by-nc-sa/4.0/获取完整条款。

注意:允许展示此模组的盈利视频/博客,但需注明TechFreq的贡献。

过往更新日志

干杯!