
多人游戏常开服务器
允许多人游戏主机在玩家不在线时保持在线状态。
查看大图始终在线服务器
这是一个“无头服务器”模组,允许主机(即游戏世界)始终保持在线,就像《我的世界》和其他在线游戏一样。它通过自动化主机日常活动来实现这一点,也就是一个在你不在时替你玩游戏的“机器人”。
只有主持游戏的玩家需要这个模组!
使用此模组创建了一个24/7服务器。加入我们:https://discord.gg/bg8Uaxn
我已在此页面提供了创建自己的通过Discord管理的24/7多人游戏服务器所需的所有链接和指南。
安装方法:
安装SMAPI:https://www.nexusmods.com/stardewvalley/mods/2400
将“Always On Server”文件夹放至Stardew Valley游戏目录中的“Mods”文件夹内。
通过“StardewModdingAPI.exe”启动游戏。
如何使用:
在启动游戏前,请在“Always On Server”文件夹中的config.json文件中更改设置为您偏好的选项。像往常一样托管多人游戏。游戏启动时,服务器模组将自动启动。按键盘上的“F9”键可开启/关闭服务器模式。(适用于您想亲自担任主机时)
警告!- 如果游戏在Windows系统中最小化,服务器将卡在保存界面。无需保持窗口焦点,您可以做其他事情,但绝不能最小化窗口!(Mac/Linux系统情况未确认)
设置
编辑“Always On Server”文件夹中的“config.json”文件以设置您的选项。
"serverHotKey": "F9", (启动/停止服务器的按钮)
"profitmargin" : 100, (利润率,百分比)
"upgradeHouse": 3, (升级主屋。3是最高等级,0表示无变化)
"petname": "逗趣蛇", (什么是宠物名?必须10个字符以内,可随时更改)
"farmcavechoicemushrooms": true,(选择蘑菇农场洞穴,选择false则是蝙蝠,请在运行前选择)
"communitycenterrun": true, (主机将尝试社区中心路线,false则选择乔家路线)
"timeOfDayToSleep": 2200, (主机以军事时间睡觉的时间,最晚至2600即凌晨2点)
"lockPlayerChests": true, (当服务器模式开启时,玩家无法访问其他玩家的箱子或物品栏)
(玩家的舱室)
"clientsCanPause": false, (在聊天框中输入 !pause/!unpause)
"copyInviteCodeToClipboard": true, (每分钟将当前邀请码复制到电脑剪贴板)
"festivalsOn": true, (居民会去参加节日活动)
"<eventname>CountDownConfig": 60, (从节日开始到主要活动之间的时间,单位为秒)
"<eventname>TimeOut": 120, (空闲玩家连接超时重设时间,单位为秒)
(大多数节日在其最终过场动画结束后启动该计时器。公平节、灵夕节以及
冬星节一开始就启动这个计时器)
聊天命令
如果游戏卡住,客户端可以在聊天中输入这些内容。
!sleep- 如果时间已过设定的睡眠时间(默认晚上10点),尝试触发睡眠指令!festival- 如果是节日当天,尝试触发前往节日指令!event- 尝试触发启动节日主事件的指令!leave- 尝试离开节日!unstick- 将主机传送到农舍内/外(通常能解决大部分BUG,有时需要传送多次,尤其是在节日期间)
正在连接服务器
好友列表:你的 Steam 或 GOG 好友应该能看到你的游戏,并像平常一样随意加入。
直接 IP:如果你想通过互联网设置直接 IP 访问并“加入局域网游戏”,你需要打开(或转发)端口 24642。或者使用服务器端口更改器选择其他端口,然后向他人提供你的外部 IP。
邀请码:邀请码连接是通过 Steam/GOG 路由的。我提供了两种方法将你游戏的当前邀请码发送给玩家:
邀请码自动复制/粘贴:当邀请码发生变化时,服务器会将最新的邀请码复制到剪贴板(在 config.json 文件中默认开启)。然后,你可以使用自己选择的宏程序将其粘贴到聊天服务中,以便非 Steam 好友即使你不在场也能获取最新邀请码。为方便起见,我还在 Nexus 的“文件”选项卡 >“可选文件”中提供了一个 AutoHotkey 脚本供你使用。运行游戏服务器 > 运行 AutoHotkey 脚本 > 打开 Discord 或其他聊天服务,并点击该服务的聊天框。你的游戏当前邀请码将每两分钟被粘贴并发送一次。不要关闭聊天服务的聊天窗口或移出聊天框,否则它将无法工作。当游戏服务器关闭时,它将不再复制密钥,因此请确保同时关闭 AutoHotkey。
邀请码机器人:服务器会将邀请码复制到与该模组相同文件夹下的“InviteCode.txt”文件中。你可以利用此功能为聊天服务/网站等创建一个机器人。我在本页面底部的“Discord 机器人”部分提供了 node.js Discord 机器人的代码。
特性
- 只有主机需要安装该模组
- 主机每天自动传送至床边并进入睡眠模式(默认晚上10点,可在config.json中调整),以便其他玩家无需依赖主机在线即可继续游戏。其他玩家可随时上床休息,无需等待主机。
- 每天自动检查邮件
- 执行主机设置(洞穴/宠物/房屋等)
- 锁定客户端的箱子权限仅限小屋所有者(可选)
- 在每日结算界面自动点击“确认”,允许游戏保存并与客户端同步
- 当所有客户端断开连接时暂停游戏(除节日外,防止锁定)。当至少1个客户端重新加入时恢复运行。此功能可防止农场因无人值守而荒废或数年游戏时间流逝
- 在“服务器”运行期间冻结主机好感度衰退机制
- 完整节日支持!- 如彩蛋节、冰钓节等活动将在节日开始后1分钟启动,让玩家有时间四处探索。主机在节日时间窗口结束前不会入睡。客户端可选择是否参与节日,服务器仍正常运行。所有客户端必须参与节日才能像正常游戏流程一样触发活动开始
- 完整事件支持!- 爷爷评价、肯特到来、所有过场动画等弹出事件均会自动点击通过,确保服务器保持在线不卡死
- 通过聊天向客户端发送节日与事件警告
- 超时重置服务器连接,防止挂机或游戏自身连接错误导致无限卡死(重要节日结束前2分钟将通过聊天发送警告,提醒所有玩家退出否则将被踢出)。关闭“窗口非活跃时暂停”功能,无需手动操作
- 提供可配置设置的config文件
- 将最新邀请码复制到剪贴板
- 将最新邀请码复制至“Always On Server”模组文件夹内的“InviteCode.txt”文件
- Joja路线将自动按成本从低到高购买升级,当您持有双倍升级资金时触发。例如:Joja矿车升级需15,000金,则当您拥有30,000金时自动购买
免费模组
- 无限玩家:https://www.nexusmods.com/stardewvalley/mods/2213
- 无限玩家社交标签补丁:https://www.nexusmods.com/stardewvalley/mods/2981
- 电梯:https://www.nexusmods.com/stardewvalley/mods/2952
- 反作弊:https://www.nexusmods.com/stardewvalley/mods/2887
- 独立金钱:https://www.nexusmods.com/stardewvalley/mods/3086
- 小屋所有者显示:https://www.nexusmods.com/stardewvalley/mods/3036
- 更改小屋类型:https://www.nexusmods.com/stardewvalley/mods/3046
- 自动加载:https://www.nexusmods.com/stardewvalley/mods/2509
- 网络优化器:https://www.nexusmods.com/stardewvalley/mods/3021
冲突
任何影响游戏时间/日期的机制都可能引发问题,因为机器人的所有操作都基于时间触发。虽然很多其他模组与当前模组本身并无直接冲突,但存在与多人模式通用机制的冲突。
当星露谷物语崩溃时,如何保持服务器运行
这是我使用的方法。肯定还有别的办法。(适用于Windows,抱歉Mac/Linux用户,其中一些可能有用,但大多不适用)
- 从上方“Complimentary Mods”部分安装“Autoload”模组。这样游戏崩溃后会直接加载到你想要的存档,而不会卡在标题画面。请确保调整其config.json文件以加载至多人模式。
- 下载RestartOnCrash:https://w-shadow.com/blog/2009/03/04/restart-on-crash/
- 在其设置中选择:“StardewModdingAPI.exe”作为应用程序,勾选“它未响应Windows消息”,勾选“等待310秒并双重检查(我建议将其设置得比你模组的endofdayTimeOut设置稍长)”,勾选“终止进程”,切勿勾选“执行命令”。我们通过其他方法处理这部分。
- 下载我包含在可选文件中的Auto-Restart-SDV文件
- 将“StardewValleyModdingAPIautorestart.bat”放置在你喜欢的位置,右键点击并编辑它。将3个目录路径改为你自己的文件位置,保存并关闭。(两个.marker文件实际上在游戏崩溃前并不存在,批处理文件会在重启时删除它们,这样SMAPI就不会要求你按键)
- 通过双击“StardewValleyModdingAPIautorestart.bat”运行游戏。如果游戏崩溃,它将自动重启;而如果游戏卡死无响应,“RestartOnCrash”程序会触发重启。
见下方“Discord机器人”部分,了解与此相关的实用机器人。
Discord 机器人
如何搭建一个Node.js Discord机器人:视频教程(教程中没有提到的一点:在Visual Studio Code中,确保文件 > 自动保存已勾选,这样就能像教程中一样正常运行)
邀请码机器人:服务器会将邀请码复制到同一目录下的“InviteCode.txt”文件中,作为模组的文件夹。以下是 Discord 机器人的源代码。
服务器连接重置机器人:同样在可选文件中,我添加了一个“服务器重置模组”。我使用它来允许我的 Discord 管理员(在私人频道中)通过Discord机器人远程重置服务器连接。以下是该Discord机器人的源代码。如果玩家挂机或保存窗口卡住,且你不想等待服务器模组自动超时,这会很有用。
重置游戏机器人:我设置了一个Discord机器人(源代码)来运行一个包含此行代码的.bat文件(无引号):'taskkill /F /IM StardewModdingAPI.exe',以强制关闭游戏。然后,根据上方“如何在星露谷物语崩溃时保持服务器运行”部分的设置,游戏将自动重启。
服务器状态机器人:你可以使用此机器人(源代码)显示服务器是否在线以及有多少玩家在线。
机器人永不休眠:http://pm2.keymetrics.io/
我使用此工具确保我的Discord机器人永不休眠。安装此工具后,当你像往常一样启动你的机器人时,改为在其前面输入“pm2 start”。只要你的电脑还在运行,这就会在机器人崩溃时始终重启它们。
这是我第一个模组!呜呼!
衷心感谢Zuberii,他共同编写了节日活动的许多代码。
供任何人翻阅我的“意面式代码”的源码。这代码相当难看,是我最早编写的项目之一。
需要 SMAPI by Pathoschild+ 和 SDV 1.3+
正在加载版本记录…

正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。