[官方教程] ---关于如何开服---

  • 购买游戏时,在支付界面使用创作者代码 HytaleCN 以表示对中文社区的支持,这对我们来说十分重要,感谢您的支持!(点击查看示意图


  • 服务器设置
Hytale 服务器可以在任何 至少 4GB 内存和使用 Java 25 的设备上运行,同时支持 x64 和 arm64 两种架构。
我们建议在服务器运行时监控内存和 CPU 的使用情况,以了解在你的玩家数量和游玩风格下的典型资源消耗——资源使用情况在很大程度上取决于玩家的行为。
资源类型
影响因素
CPU(处理器)
大量的实体(玩家、生物、NPC)
RAM(内存)
过大的世界加载范围(视距设置太高、玩家分散探索的行为)

注意:如果没有专门的工具,很难准确判断Java进程实际需要多少分配的内存(RAM)。建议尝试不同的参数值来为 Java 设置明确的内存上限。内存压力的一个典型症状是由于Java的垃圾回收机制(Garbage Collection)导致CPU使用率上升。 -XmX



------ 官方推荐安装AdoptiumJava 25进行使用 ------

确认安装情况:

对于windows用户,首先请使用 win键 + R键 打开运行窗口,输入 cmd 以打开命令提示符。

1768492073314.png


在命令提示符窗口内,请输入 java -version 以查看Java 25是否成功安装。
1768492672471.png
通常来说你的版本号可能与上图一样或更新,具体内容取决于你安装Java的时间。

服务器文件:

有两种获取服务器文件的方法:

方法1.从你的Hytale启动器目录直接复制文件
方法2.使用 Hytale Downloader 命令行工具(CLI)。
直接复制(最适合快速测试,但不便于日后持续更新)
首先找到你的Hytale游戏安装目录(不是启动器的位置!):
Windows: %appdata%\Hytale\install\release\package\game\latest
Linux: $XDG_DATA_HOME/Hytale/install/release/package/game/latest
MacOS: ~/Application Support/Hytale/install/release/package/game/latest


最直接且快捷的方法是通过你的Hytale启动器:
1768494018804.png
之后你应该进入 你的游戏安装目录\Hytale\install\release\package\game\latest
请确保你看见了以下这三个文件夹!
1768494300357.png



最后,将 Server文件夹Assets.zip 拖入你的服务器文件夹(如果你没有的话,现场新建一个)


使用Hytale Downloader(适用于生产环境服务器,便于保持更新)
Hytale Downloader是一个用于下载 Hytale 服务器和资源文件的命令行工具,支持 OAuth2 认证。具体操作请查看压缩包内的 QUICKSTART.md 文件。
指令
描述
./hytale-downloader下载最新发布版本
./hytale-downloader -print-version显示游戏版本,但不进行下载
./hytale-downloader -version显示hytale-downloader版本
./hytale-downloader -check-update检查hytale-downloader的更新
./hytale-downloader -download-path game.zip下载到特定文件
./hytale-downloader -patchline pre-release从预发布频道下载
./hytale-downloader -skip-update-check跳过自动更新检查


  • 启动服务器
服务器启动设定:
java -jar HytaleServer.jar --assets PathToAssets.zip
认证:
首次启动时,将进行服务器认证。
> /auth login device
===================================================================
DEVICE AUTHORIZATION
===================================================================
Visit: https://accounts.hytale.com/device
Enter code: ABCD-1234
Or visit: https://accounts.hytale.com/device?user_code=ABCD-1234
===================================================================
Waiting for authorization (expires in 900 seconds)...

[User completes authorization in browser]

> Authentication successful! Mode: OAUTH_DEVICE

一旦认证完毕,你的服务器就可以接受玩家连接加入。
附加认证信息
Hytale 服务器需要进行身份认证,以启用与我们服务 API 的通信,并防止滥用行为。
注意:每个 Hytale 游戏许可证最多可创建 100 个服务器,以防止早期滥用。如果你需要更高的容量,请购买额外的许可证,或申请成为服务器提供商(Server Provider)账户。


帮助:
查看所有可用参数:
java -jar HytaleServer.jar --help
你应该会看到:
Option Description
------ -----------
--accept-early-plugins Acknowledge that loading early plugins
is unsupported and may cause stability issues
--allow-op
--assets <Path> Asset directory (default: ..\HytaleAssets)
--auth-mode <authenticated|offline> Authentication mode (default: AUTHENTICATED)
-b, --bind <InetSocketAddress> Address to listen on (default: 0.0.0.0:5520)
--backup Enable automatic backups
--backup-dir <Path> Backup directory
--backup-frequency <Integer> Backup interval in minutes (default: 30)
[...]

端口:
默认端口为 5520 ,你可以使用--bind进行修改。
java -jar HytaleServer.jar --assets PathToAssets.zip --bind 0.0.0.0:25565 (这是一个示范,请结合自身实际需求修改)

Hytale 使用基于 UDP 的 QUIC 协议(而非 TCP)。请相应地配置你的防火墙和端口转发。
端口转发:
如果你在路由器后面托管服务器,请将 UDP 端口 5520(或你自定义的端口)转发到你的服务器设备,无需进行 TCP 转发。
防火墙规则:
Windows Defender 防火墙:
New-NetFirewallRule -DisplayName "Hytale Server" -Direction Inbound -Protocol UDP -LocalPort 5520 -Action Allow
Linux (iptables)
sudo iptables -A INPUT -p udp --dport 5520 -j ACCEPT
Linux (ufw)
sudo ufw allow 5520/udp
NAT 注意事项:
QUIC 协议在大多数情况下能很好地处理 NAT 穿透。但如果玩家遇到连接问题,请检查以下几点:
1、确保端口转发是针对 UDP,而不是 TCP。
2、对称型 NAT 配置可能会导致连接问题 —— 建议使用 VPS 或专用服务器。
3、使用运营商级NAT(常见于移动网络)的玩家通常可以正常作为客户端连接。
文件结构:
路径
说明
.cache/优化文件缓存目录
logs/服务器日志
mods/已安装mod目录
universe/存档数据(世界 + 玩家)
bans.json封禁玩家列表
config.json服务器配置文件
permissions.json权限配置文件
whitelist.json白名单玩家列表
Universe 结构:
该目录包含所有可游玩的世界。每个世界都有自己的配置文件,路径为:
universe/worlds/config.json
[SIZE=5]{ [/SIZE]
"Version": 4,
"UUID": { "$binary": "j2x/idwTQpen24CDfH1+OQ==",
"$type": "04" },
"Seed": 1767292261384,
"WorldGen": {
"Type": "Hytale",
"Name": "Default"
},
"WorldMap": {
"Type":
"WorldGen"
},
"ChunkStorage": {
"Type": "Hytale"
},
"ChunkConfig": {},
"IsTicking": true,
"IsBlockTicking": true,
"IsPvpEnabled": false,
"IsFallDamageEnabled": true,
"IsGameTimePaused": false,
"GameTime": "0001-01-01T08:26:59.761606129Z",
"RequiredPlugins": {},
"IsSpawningNPC": true,
"IsSpawnMarkersEnabled": true,
"IsAllNPCFrozen": false,
"GameplayConfig": "Default",
"IsCompassUpdating": true,
"IsSavingPlayers": true,
"IsSavingChunks": true,
"IsUnloadingChunks": true,
"IsObjectiveMarkersEnabled": true,
"DeleteOnUniverseStart": false,
"DeleteOnRemove": false,
"ResourceStorage": {
"Type": "Hytale"
},
"Plugin": {}
[SIZE=5]}[/SIZE]

每个世界在自己的主线程上运行,并将并行任务分配到共享的线程池中处理。




  • 提示与小技巧
待完善


  • 多服务器架构
待完善



  • 其他杂七杂八的细节
待完善


  • 未来项目
待完善


 
希望出个linux教程
官方大致有讲,但是因为我现在也不用Ubuntu了所以不太方便整理,单纯把官方教程po上来又怕太简单粗暴反倒搞出什么误导性问题。等我后面看看,如果有机会自己完善一下。
 
  • 赞
反应: AxeGod
剩下的内容我正在补完中,等到全部整理完成之后我会更新本贴完整版。

主要的大致内容都没少,按照关键步骤来应该就可以顺利开服了。(?应该)