如何设置 Valheim 在线游戏服务器
逐步指南,教你如何安装和配置 Valheim 在线游戏服务器,并进行优化和安全设置。.

如何设置 Valheim 在线游戏服务器

0 股票
0
0
0
0

为什么搭建专用的瓦尔海姆服务器对多人游戏体验很重要?

《Valheim 在线游戏服务器设置指南》是服务器管理员、玩家和主机提供商创建可靠多人游戏环境的最有用资源之一。本指南将引导您从零开始,在各种发行版上安装、配置、保护、更新和优化 Valheim 专用服务器/虚拟专用服务器 (VPS)。 Debian/Ubuntu 而且还有这个选项 Docker 我们还会介绍有关选择最佳位置、防 DDoS 保护和模块管理的技巧。.

如何搭建瓦尔海姆在线游戏服务器——前提条件和决策

开始之前,您需要做出一些技术上的决定。这些决定会直接影响性能、稳定性以及玩家体验。.

服务器类型

轻量级 VPS (2 核,2-4 GB 内存)适合小型团队。.
云服务器或物理服务器 推荐用于配备快速单核 CPU、NVMe 和 4-8+ GB 内存的公共服务器或改装服务器。.

地点

选择距离玩家人数最多的地点(欧洲:法兰克福/阿姆斯特丹,北美:纽约/洛杉矶,亚洲:新加坡/东京)。一家提供……的供应商 全球85多个地点 BGP网络可以降低ping值。.

保护

公共服务器 确实。 使用反 DDoS 服务器来缓解 UDP 洪水攻击和放大攻击。.

操作系统和权限

建议: Ubuntu 20.04/22.04 或者 Debian 11/12. 运行服务器需要 SSH 访问权限和非 root 用户。.

安装 SteamCMD 并下载 Valheim 专用服务器

本节介绍如何使用 SteamCMD 创建专用用户、安装必备组件以及下载服务器文件。.

创建专用用户并安装必备组件

sudo apt update && sudo apt upgrade -y
sudo apt install -y lib32gcc-s1 lib32stdc++6 curl wget screen unzip
sudo adduser --disabled-login --gecos "Valheim Server" valheim
sudo su - valheim

安装 SteamCMD

用户内部 瓦尔海姆 创建 steamcmd 文件夹并执行安装:

mkdir ~/steamcmd && cd ~/steamcmd
wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz
tar -xvzf steamcmd_linux.tar.gz

下载/更新 Valheim 服务器

使用 SteamCMD 安装或更新专用服务器。Valheim 专用服务器应用程序 ID: 896660.

./steamcmd.sh +login anonymous +force_install_dir ./valheim_server +app_update 896660 validate +quit

服务器文件中的文件 ./valheim_server 它们已被放置。.

配置和运行 Valheim 服务器

本节介绍启动脚本、重要参数以及如何使用 systemd 自动运行它们。.

简单的启动脚本

创建一个启动脚本(例如: ~/valheim_start.sh):

#!/bin/bash
cd /home/valheim/steamcmd/valheim_server
export LD_LIBRARY_PATH=./linux64:$LD_LIBRARY_PATH
./valheim_server.x86_64 -name "MyValheimServer" -port 2456 -world "MyWorld" -password "MySecret" -public 1

执行:

chmod +x ~/valheim_start.sh
./valheim_start.sh

重要参数

  • -姓名:列表中显示的服务器名称。.
  • -港口默认UDP端口 2456 (常用范围为 2456–2458)。.
  • -世界:已保存世界的名称。.
  • -密码玩家密码。.
  • -民众:1 表示公开,0 表示私密。.

以 systemd 服务方式运行(自动执行和监控)

使用 systemd 进行自动化和监控。创建服务文件:

[Unit]
Description=Valheim Dedicated Server
After=network.target

[Service]
User=valheim
WorkingDirectory=/home/valheim/steamcmd/valheim_server
ExecStart=/home/valheim/valheim_start.sh
Restart=on-failure
RestartSec=10
LimitNOFILE=10000

[Install]
WantedBy=multi-user.target

激活并运行:

sudo systemctl daemon-reload
sudo systemctl enable --now valheim.service
sudo journalctl -u valheim.service -f

端口、防火墙和NAT

端口和防火墙管理对于玩家访问和服务器安全至关重要。.

所需端口

瓦尔海姆通常由以下部分组成: UDP 2456 至 2458 用途。为确保连接正常,请同时开放 UDP 和 TCP 端口,但至少应开放 UDP 2456 端口。如果您运行多个实例,则每个实例应使用不同的端口。.

设置UFW

sudo ufw allow 22/tcp
sudo ufw allow 2456:2458/udp
sudo ufw enable
sudo ufw status

NAT/端口转发

如果服务器位于 NAT 之后,则需要将 UDP 2456 端口转发到服务器的内部 IP 地址。云服务器通常没有 NAT,但某些 VPS 可能需要公共端口或主机网络设置。.

备份、存储和全球管理

定期备份全球数据对于防止数据丢失至关重要。.

游戏世界存档路径

世界文件存储在以下路径:

  • 〜/.config/unity3d/IronGate/Valheim/worlds

快速备份:

mkdir -p /home/valheim/backups
tar -czf /home/valheim/backups/world-$(date +%F-%H%M).tar.gz /home/valheim/.config/unity3d/IronGate/Valheim/worlds

你可以每天使用 cron 运行此脚本,或者在自动更新之前运行。.

使用 SteamCMD 实现安全自动更新

建议的更新步骤(不丢失数据):

  1. 停止服务: sudo systemctl stop valheim.service
  2. 备份 worlds 文件夹
  3. 运行 SteamCMD 进行更新(命令相同 +app_update …)
  4. 重启服务

您可以创建一个 cron 文件或 systemd 定时器来自动执行这些步骤。.

使用 Docker 运行(另一种选择)

如果您更喜欢使用容器,可以使用下面的 docker-compose 示例。卷是必要的,用于存放整个系统的数据。.

version: '3.8'
services:
  valheim:
    image: lloesche/valheim-server
    container_name: valheim
    restart: unless-stopped
    ports:
      - "2456:2456/udp"
      - "2457:2457/udp"
      - "2458:2458/udp"
    volumes:
      - ./data:/config
    environment:
      - SERVER_NAME=MyValheimServer
      - SERVER_PORT=2456
      - WORLD_NAME=MyWorld
      - SERVER_PASS=MySecret
      - PUBLIC=1

提示:卷对于承载全局数据和运行具有适当重启策略的容器至关重要。.

性能和资源优化

资源优化包括CPU、内存和磁盘,以减少延迟并提高稳定性。.

CPU 和内存

Valheim 服务器是单线程主机,因此高单核频率至关重要。建议:小型团队至少需要 2 个高频核心和 4GB 内存。对于模组和大型玩家群体,建议使用 4 个核心和 8GB 以上的内存。.

I/O 和 NVMe

将存档文件(世界)放置在 NVMe 上可以提高保存和加载速度。在虚拟环境中,设置 I/O 调度器(例如 小白 或者 mq-截止日期 它或许有用。.

监测

类似工具 htop眼神netstat 它们可用于监控网络资源和数据包使用情况。监控UDP流量对于检测攻击至关重要。.

安全防护(对公共服务器至关重要)

服务器安全包括安全执行、限制和防止网络攻击。.

以非 root 用户身份运行

始终使用非 root 用户(例如, 瓦尔海姆尽可能采取措施降低安全风险。.

限制和沙盒

提高 systemd 中的 limitNOFILE 限制。必要时使用 cgroups 限制资源。仅开放必要的端口。.

DDoS防护

使用提供商的防 DDoS 服务,结合边缘过滤和多个 POP(85 个以上位置),可以在恶意流量到达服务器之前将其过滤掉。.

Mod、BepInEx 和 ValheimPlus 支持

安装模组通常需要 BepInEx。一般安装步骤包括将 BepInEx 和 ValheimPlus 文件复制到服务器文件夹。.

模组使用技巧

模组会增加资源占用;建议安装模组的服务器至少配备 4-8 GB 内存。安装模组前,请务必完整备份游戏存档。.

实用技巧和常见问题

一些常见问题及其快速解决方法:

  • 玩家看不到服务器列表 — 检查 UDP 端口是否已打开以及参数 -公共 1 已定。.
  • 不稳定和崩溃 — 检查日志;这可能是由于内存不足或模式不兼容造成的。.
  • 高延迟 — 选择靠近大多数玩家的数据中心位置,并使用具有 BGP 网络的提供商。.
  • 运行多个实例 — 每个实例都需要单独的端口和文件夹,并且必须创建为单独的单元或容器。.

比较在线游戏的数据中心位置

选择适合球员分布的场地非常重要:

  • 欧洲 (法兰克福、阿姆斯特丹):最适合欧洲玩家;延迟低,网络基础设施强大。.
  • 北美 (纽约、洛杉矶):面向美国东部/西部地区的球员;根据球员分布情况进行选拔。.
  • 亚洲 (新加坡、东京、悉尼):面向亚洲和大洋洲的球员;考虑到球员的国际性。.

拥有 85 个以上网点且可以选择最近的接入点的供应商可以减少延迟并改善用户体验。.

推荐的瓦尔海姆托管服务

为了获得最佳体验,建议您使用符合以下规格的服务:

  • 配备专用端口和低延迟的VPS游戏服务器
  • 采用 NVMe 和高频 CPU 的云基础设施
  • 主动式 DDoS 防护选项和覆盖全球 85 个以上地点的网络
  • 资源快速升级能力、全天候支持以及快速的 SteamCMD 安装

对于安装了模组的服务器或玩家数量众多的服务器,建议使用高性能云服务器或具有网络服务和 BGP 的专用服务器。.

常见问题解答

您可能也喜欢

战神2游戏剧情

引言:奎托斯,这位曾经的凡人战士,击败了战神阿瑞斯,成为了新的战神。然而……