[架站] 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