
一份关于如何在Ubuntu Linux系统的tmux会话中运行《城堡:火焰之炼》,以便实时查看控制台错误/状态的指南。本指南还将展示如何添加updatecitadel.sh文件,通过steamcmd更新游戏。此外,还提供了关于如何设置开机启动以及使用定时任务进行夜间关闭/重启的建议。 使用steamcmd设置城堡更新脚本 指南更新于2020年5月11日 本指南假设您已创建steam用户ID。说实话,我会建议使用“Steam”以外的名称(在示例中我使用了“steamer”)作为用户ID,因为任何试图入侵你服务器的人都可能尝试利用Steam用户名来进行破解,所以请发挥创意,通过模糊处理来提升一点安全性。如果你还没有创建特殊的用户ID,请查阅如何在你的Linux发行版下创建一个Steam用户(或其他名称),然后再回到这里安装城堡服务器。 首先创建安装文件夹并进入该目录。 mkdir /home/steamer/citadel cd /home/steamer/citadel 创建一个名为updatecitadel.sh的文件 nano updatecitadel.sh 然后将以下内容添加到文件中并保存。 #!/【世界创建设置】=(服务器名称="Steamers Citadel",密码="",服务器类型=PVE,玩家上限=40,是否私人服务器=false,经验倍率=1,背包容量倍率=1,知识点获取倍率=3,角色属性点获取倍率=1,是否无限资源=false,玩家伤害倍率=1,护甲倍率=1,基础魔力回复=0,背包容量倍率=1,是否启用背包重量限制=true,魔法物品掉落倍率=1,制作魔法物品概率倍率=1,飞行消耗倍率=1,飞行速度倍率=1,资源收集倍率=1,建筑伤害倍率=1,是否遵守禁建区域=1,魔法建筑魔力回复倍率=1,魔法建筑魔力消耗倍率=1,是否自由建造模式=false,时间锁定=自动,NPC数量倍率=1,建筑 decay 倍率=1,是否王座 decay=false)# 更新《Citadel: Forged with Fire》服务器的步骤 使用steamcmd更新Citadel服务器: steamcmd +login anonymous +force_install_dir /home/steamer/citadel +app_update 489650 validate +quit 将updatecitadel.sh设置为可执行文件: chmod 755 updatecitadel.sh UWorks需要一份steamclient.so库才能正常运行。将您主文件夹中的更新版本替换/Citadel/Plugins/UWorks/Source/ThirdParty/Linux/steamclient.so文件。 cp ~/.steam/steamcmd/linux32/steamclient.so /home/steamer/citadel/Plugins/UWorks/Source/ThirdParty/Linux/steamclient.so 使用tmux进行Citadel服务器控制台会话: 若要实时查看Citadel服务器的输出,建议安装tmux和htop(类似screen,但功能更丰富)。sudo apt-get install tmux htop 以steam用户登录或切换到steam用户。 通过以下操作创建tmux会话的启动文件: cd /home/steamer/citadel nano restartcitadel.sh 添加以下代码后保存文件。 #!/bin/bash # 在tmux会话中启动城堡服务器 tmux new -d -s citadel ./CitadelServer.sh 接下来将restartcitadel.sh设置为可执行: chmod 755 restartcitadel.sh 在tmux会话中启动服务器: ./restartcitadel.然后,要进入控制台会话,请输入 tmux attach -t citadel 如果您想退出控制台会话(并允许其在后台继续运行),请输入 ctrl+b d 在tmux会话中停止(终止)服务器会话,请输入 ctrl+c 不进入tmux会话而停止(终止)服务器会话,请输入 tmux kill-session -t citadel 使用htop htop工具可以让您查看正在运行的进程,并且非常可定制。我始终保持一个putty ssh会话连接到我的服务器,并打开htop窗口。这能让我一目了然地看到运行中的进程以及CPU利用率和内存使用情况。在控制台会话中输入以下命令启动它 htop 添加cron任务以在Linux启动时启动城堡:锻造之火服务器 您也可以通过启动时的cron任务来启动服务。以steam用户登录或切换到steam用户,运行crontab -e。 接下来添加以下内容: @reboot sleep 60 && cd /home/steam/citadel && ./restartcitadel.sh 设置sleep 60是为了让Ubuntu的网络服务能够正确启动并完全运行,之后再尝试启动【Citadel】服务器。 如何每晚关闭并重启【Citadel】 更新:2020年5月11日 我想告诉大家,我编写了一个脚本,可以通过定时任务优雅地关闭【Citadel】,无需通过rcon连接到服务器。此过程会向游戏进程ID发送sigterm信号,以便它能够正确地关闭服务线程。 shutdowncitadel.sh #!/bin/bash # 优雅关闭【Citadel】服务器 pkill -f CitadelServer-Linux-Shipping 修改shutdowncitadel.sh脚本的权限以允许其运行。chmod 755 shutdowncitadel.sh 这是我用于每晚关闭并重启服务器的定时任务。 41 3 * * * cd /home/steamer/citadel && ./shutdowncitadel.sh && sleep 10 && ./restartcitadel.sh 更改端口号 首先,将需要修改的两个文件链接到你的主城堡目录非常简单。 cd /home/steamer/citadel ln -s /home/steamer/citadel/Citadel/Saved/Config/LinuxServer/Engine.ini Engine.ini ln -s /home/steamer/citadel/Citadel/Saved/Config/LinuxServer/Game.ini Game.ini 现在你有了这些文件的符号链接,可以轻松编辑它们,而无需深入文件系统的深层目录。 以下是标准Engine.ini和Game.ini的示例 Engine.[UWorks] 连接端口=7777 查询端口=27015 [/script/citadel.【城堡:火焰之铸】世界创建设置=(服务器名称="Steamers Citadel",密码="",服务器类型=PVE,玩家上限=40,是否私有=false,经验倍率=1,背包容量倍率=1,知识点获取倍率=3,角色点获取倍率=1,是否无限资源=false,玩家伤害倍率=1,护甲倍率=1,基础魔力回复=0,背包容量倍率=1,是否启用背包重量限制=true,魔法物品掉落倍率=1,制作魔法物品概率倍率=1,飞行消耗倍率=1,飞行速度倍率=1,资源收集倍率=1,建筑伤害倍率=1,是否遵守禁建区=1,魔法建筑魔力回复倍率=1,魔法建筑魔力消耗倍率=1,是否自由建造模式=false,时间锁定=自动,NPC数量倍率=1,建筑 decay 倍率=1,是否王座 decay=false)一款基于UE4的游戏默认使用特定端口,你可以更改这些端口号(至少要高出或低于原端口3个数字以上)。确保为这些端口创建额外的防火墙规则,以进行端口转发或允许TCP/UDP通过(仅使用UDP可能也可行)。同时,要确保Engine.ini中的url端口与Game.ini中的ConnectionPort相匹配。 以下是非标准Engine.ini和Game.ini的示例: Engine.ini [url] Port=7780 Game.ini [UWorks] ConnectionPort=7780 QueryPort=27080 [/script/citadel.
2026-03-20 01:00:15 发布在
Citadel: Forged with Fire
说点好听的...
收藏
0
0
