[架站] Project Zomboid架站教学 (B28β)

楼主: edgar0407 (土拨鼠)   2014-08-22 18:02:54
前言:
目前使用Build 28 beta于Win7 64上运行,Build 27应该也适用,但应该少了几项
参数可调整。
本PO主要是分享如何架Server(公开/私人)跟大家同乐。
我的硬件设备如下,而采用VMPLAYER虚拟机来运行(初次是在实体机上,但遇到解
不掉的网络问题,故试架在VM上,下面括号中为分给VM的资源
E3-1230V2 ( 4 个执行绪 )
32GB RAM ( 8 GB )
SSD (20 GB )
网络卡 * 2 ( 1 张作Bridge)
Asus AC66U(Tomato的QoS好用@@)
行前资讯与准备
电脑硬件:
RAM:指派给Service使用,官方建议给80%的量,但我想这取决于你要开几人的
Server,我目前是给6114MB,目前最大上线人数是13人,看起来还OK。若
你电脑在运行Server的同时,还需要忙其事,请再看情况调整
SSD:Server运行后会产生很多小档案来记录各物件资讯,储存方式以小档案为
主,我的站台运行了约2周,档案数82,853,约657MB,刚好SSD的强项就是
读散落在四处的小档,建议使用。
网络:
Server所使用的Port
UDP 16261,它主要是引导连进来的Client,后续使用那一个TCP的Port
TCP 16262 ~ N:每一个连线进来的Clinet会占用一个,离线后会释出。
因为目前最大人数为64,所以N为16263~16326,若您只
想开4人房,那就开到16265
Port Fowarding / NAT (若您未使用IP分享器可跳过)
请在您的分享器上设置好,设置时请记得协定是TCP / UDP
DDNS (若您使用固定IP可跳过)
在解释前先说明连线模式下Clinet端的存盘资料夹命名原则;
Client连线到Server后,会将资料储存于
%USERPROFILE%\Zomboid\Multiplayer,并以 "连线名称_登入帐号"
作为资料夹名称
范例1 192.168.1.10_Edgar
范例2 myddns.no-ip.org_Edgar
范例3 110.114.1.8_Edgar
但,为什么同一个帐号怎么被系统分成了 3个呢?原因无它,因为系统认为
它是 3个不同的玩家
当你是透过Public Server search来找到你朋的Server,点击后接口会把IP
当作是你的连线名称作为储存条件之一
如果你有DDNS,可以请你朋友把IP改成host name,未来即使Server端的IP
变了,你的朋友也不至于受到影响
当然,如果你要持续开站一阵子,也请在站台的Description及登入后的系统讯
息中,提醒玩家
了解储档逻辑后,聪明的你也能想到,当Server的IP变了后,只要把资料夹的
旧IP改新IP,就可以读到先前玩的角色了
防火墙
同Port fowarding,请放行Server所需要的port
检查Port是否放行
官方FAQ中,有提到这个网站
网络上也不少类似的,可以参考看看
正文开始
先指定RAM的大小
在启动Server之前,我们先指派 RAM给它,请编辑ProjectZomboidServer.bat
批次档的内容如下,主要是用Java运行,而-Xms 与-Xmx即最少~最大的RAM SIZE,
调整后请存盘
".\jre64\bin\java.exe" -Xms6144m -Xmx6144m -Djava.library.path=./ -cp
lwjgl.jar;lwjgl_util.jar;sqlitejdbc-v056.jar;trove-3.0.3.jar;./ zombie.network.GameServer
PAUSE
初次执行
若你之前有架过或执行过上述批次档,如果可以,请进行旧资料删除
%USERPROFILE%\Zomboid\
删除资料夹 "db"
删除资料夹 "Server"
删除资料夹 "servertest" (这个放在"Multiplaye"里)
执行ProjectZomboidServer.bat,转眼间它就跳到要你输入Admin的passrowd,到这里
可以先把DOS视窗关掉,后续还有参数要设
ServerSettings
servertest_SandboxVars.lua 多人连线的沙盒设定
如果你想用默认值,这里可以跳过
如果你想要对资源, 水, 电, 僵尸特性等等作更一步设定,你可以看我先前PO的这
一篇http://ppt.cc/wosK
Spawnpoints 出生点
游戏中已有默认 2个出生城市(在该范围随机出生),若你觉得足够,这里可以略过,
之后想要改再回来看
出生点设定有种两种。在设置前,你会需要这份地图地图取得座标资讯,
http://pzmap.crash-override.net/
方法一:servertest.ini设定法,
此法是修改%USERPROFILE%\Server\servertest.ini,此法是强制所有玩家皆以此为
出生点,连默认的2个城市都不能选择
只要把参数SpawnPoint=0,0,0 (这是默认值)改成你要的座标即可以
像改成大家都爱的Muldraugh large warehouse仓库10629,9312,0
(http://ppt.cc/VEM1)
方法二:servertest_spawnregions.lua + servertest_spawnpoints.lua
先看看档案内容,就知道是怎么一回事了
头2个不是游戏默认的区域吗?分别又参考了2份不同路径下的lua档
===================Fileservertest_spawnregions.lua========================
function SpawnRegions()
return {
{ name = "Muldraugh, KY", file = "media/maps/Muldraugh, KY/spawnpoints.lua" },
{ name = "West Point, KY", file = "media/maps/West Point, KY/spawnpoints.lua" },
作者: Illus (一路死)   2014-08-22 18:22:00
推!
作者: Firsss (SpeedUp)   2014-08-22 19:26:00
专业推
作者: BergZerg (理性君你去哪里了)   2014-08-26 22:55:00
很赞的技术资料文,值得推!!

Links booklink

Contact Us: admin [ a t ] ucptt.com