OPENWORLD
下載

多人遊戲 · 伺服器

自建遊戲伺服器:屬於你們這群人的星球,一直線上

沒有訂閱,沒有託管公司,沒有付給第三方的月費帳單:Openworld 伺服器是一個在你自己的機器上執行的程式。從下載到備份,整個過程都在這裡,附帶真實可用的命令。

作者 Tom Pascard· 更新於 ·閱讀約 3 分鐘

重點整理

  • 伺服器支援 Mac、Windows 和 Linux:在 launcher 裡和遊戲放在一起下載。
  • 一行指令就能啟動;它會自己寫出 server.json,其他一切(名稱、名額、種子碼、難度……)都在那裡設定。
  • 玩家透過 UDP 連接埠 24710 連進來:在防火牆和路由器上把它打開——或用網狀 VPN 免去設定路由器。
  • 角色、保護區、邊界、家,還有一個網頁儀表板:經營一座生存伺服器需要的,全都有了。
  • 備份就是複製一個資料夾。更新不會動你的世界:已經看過的地形會跟著世界一起存起來。
閱讀攻略

噓……點點牠們

本頁內容
  1. 我能在家裡架設遊戲伺服器嗎?
  2. 你需要什麼
  3. 安裝並啟動伺服器
  4. server.json:設定一次就好
  5. 連接埠轉發,以及其他做法
  6. 管理指令、角色與保護區
  7. 你的世界存放在哪裡(以及怎麼備份)
  8. 在家架設伺服器安全嗎?
  9. 常見問題

我能在家裡架設遊戲伺服器嗎?

對大多數遊戲來說,「給朋友們開的伺服器」意味著每月向託管公司付訂閱費。而在 Openworld 裡,伺服器是一個你自己執行的程式:可以跑在你玩遊戲的那台電腦上,跑在壁櫥裡的一台舊 PC 上,也可以跑在你租來的機器上。中間沒有任何供應商,世界的檔案始終儲存在你的硬碟上。

為什麼要費這個事?因為伺服器是一個始終線上的世界:朋友們想來就來,哪怕你正在睡覺。Openworld 是建在整顆圓形星球上的體素沙盒遊戲——一直往前走,你會回到出發的地方——頭頂是有月相和日月蝕的真實天空,一路直達太陽,途經月球和各行星。有了自己的伺服器,這顆星球就屬於你們這群人,想玩多久都行。

小玩家狐狸女孩機器人獨角獸小太空人空手道選手

點點玩家

從內部看你的伺服器:玩家從 Mac、Windows 和 Linux 連線進來,每一位都是機架上多亮起的一盞燈。點點玩家:他們會揮手。
  • 24710遊戲預設使用的 UDP 連接埠
  • 100預設的玩家名額(1 到 1,000)
  • 3種系統:macOS、Windows、Linux
  • 1完整備份只需複製的資料夾

你需要什麼

  • 一台在大家玩的時候保持開機的電腦:macOS(Apple Silicon 或 Intel)、Windows x64 或 Linux x64。伺服器是一個主控台程式:不需要螢幕,也不需要顯示卡。
  • 處理器:核心越多,新地形生成得越快。預設情況下,伺服器會把除了兩顆之外的所有核心都拿來生成地形(performance.workerThreads)。
  • 磁碟:世界會保存它生成過的每一塊地形,每個地形柱約 12 KB——探索一塊 3 km 見方的區域,大約是半個 GB。為長途探險預留一些空間。
  • 上傳頻寬:預設情況下,一位正在探索的玩家最高能以 20 Mbit/s 接收地形。如果家裡的網路普通,請調低 performance.streamingBudgetBps:地形會慢一點抵達,但遊戲依然流暢。
  • 每位玩家都使用和伺服器相同的版本:launcher 讓每個人都能自己選擇版本。

安裝並啟動伺服器

  1. 1

    從 launcher 下載

    在 launcher 裡,點選「開始遊戲」旁邊的版本標籤(「選擇遊戲版本」),挑好你的版本,然後點伺服器——「下載 openworld-server」。選擇系統(Mac、Windows、Linux——不一定要是你目前使用的那一個)和一個資料夾。

  2. 2

    找到它的資料夾

    launcher 會建立 openworld-server-<version>:裡面有 openworld-server 程式、它的 assets/ 資料夾(請讓它留在程式旁邊),還有一份 README.txt。

  3. 3

    在那個資料夾裡開啟終端機

    macOS 和 Linux:./openworld-server。Windows(PowerShell):.\openworld-server.exe——第一次執行時,請允許防火牆的視窗。

  4. 4

    只限 macOS,第一次執行時

    這個檔案來自網際網路:在程式上按右鍵 → 打開,或在資料夾裡執行 xattr -dr com.apple.quarantine .。

  5. 5

    正常關閉

    Ctrl + C(或輸入 stop):伺服器離開之前,會先把世界存檔。

cd openworld-server-<version>
./openworld-server

# Windows (PowerShell)
.\openworld-server.exe

# macOS, first time only: lift the download quarantine
xattr -dr com.apple.quarantine .
從伺服器的資料夾啟動它(先是 macOS / Linux,然後是 Windows PowerShell)。

預設情況下,伺服器是線上模式:只有從 Openworld launcher 啟動、擁有有效帳號的玩家才能進來——他們會帶著自己的使用者名稱和外觀抵達。在沒有網際網路的網路上,請用 --offline 啟動:每個人都沿用自己輸入的名字,穿著預設外觀,而且什麼都不會被檢查。

server.json:設定一次就好

第一次啟動時,伺服器會在你啟動它的位置旁邊寫出一個 server.json,裡面填滿預設值,排版也是給人看的。編輯它,重新啟動,就完成了。主要的設定項目:

  • name、description、icon:伺服器列表顯示的內容(圖示是一張 PNG)。
  • port(24710)和 slots(100,範圍 1 到 1,000)。
  • auth:online(Openworld 帳號)或 offline。
  • seed:random、一個數字或任何文字,用於全新的世界;terrain:classic 或 continents(海洋之間有幾塊巨大的大陸)。
  • world.difficulty:easy(沒有怪物)、medium、normal、hard、very_hard 或 terrible(每個難度等級會改變什麼);還有 world.caves、world.creatures。
  • players.gameMode:新玩家的 survival、creative 或 spectre;players.superAdmins:你的使用者名稱(或 UUID)——永遠是 SuperAdmin。
  • dataDir(owserver_data)、logs、web.(儀表板)、performance.、telemetry。
{
  "name": "Friday night planet",
  "description": "Our group's world. Be nice, build big.",
  "port": 24710,
  "slots": 12,
  "auth": "online",
  "seed": "friday night",
  "terrain": "continents",
  "dataDir": "owserver_data",
  "world": { "caves": true, "creatures": true, "difficulty": "normal" },
  "players": { "gameMode": "survival", "superAdmins": ["YourUsername"] },
  "web": { "enabled": true, "password": "change-me" }
}
給一群朋友使用的 server.json 範例(伺服器寫出來的檔案會包含每一個設定項目和它的預設值)。

在命令列輸入的任何選項,都會在那一次執行時優先生效,而不會改寫檔案:--port、--slots、--name、--motd、--seed、--seed-text、--difficulty、--terrain、--offline、--web……--help 會列出全部。--port 25000 和 --port=25000 兩種寫法都行。

./openworld-server --offline                      # LAN without Internet, no accounts
./openworld-server --port 25000 --slots 20
./openworld-server --seed-text "friday night" --terrain continents   # a NEW world
./openworld-server --difficulty easy              # no monsters
./openworld-server --web --web-password change-me # dashboard on port 24711
./openworld-server servers/Survival               # an instance folder with its own server.json
./openworld-server --help
幾次執行,帶著只在單次連線中優先於 server.json 的選項。

連接埠轉發,以及其他做法

Openworld 使用一個 UDP 連接埠,預設是 24710。要讓玩家進來,有三種情況:

  1. 1

    同一個網路(區域網路)

    在防火牆裡允許這個連接埠(Windows 在第一次啟動時會詢問;Linux:sudo ufw allow 24710/udp)。朋友連到你的本機位址,像是 192.168.1.20:24710。

  2. 2

    從網際網路連入

    在你的路由器上,把 UDP 24710 轉發到伺服器所在的電腦,然後把你的公開位址(address:24710)給大家。每台路由器的叫法都不一樣:找找「連接埠轉發」或「NAT」。

  3. 3

    不用連接埠轉發

    進不了路由器,或網路供應商讓好幾戶共用同一個 IP?讓所有人加入同一個網狀 VPN(Tailscale、ZeroTier……),然後分享它給你電腦的位址——或是把 Linux x64 伺服器跑在一台有公開 IP 的租用機器上。

sudo ufw allow 24710/udp
# the dashboard, only if other computers need it:
sudo ufw allow 24711/tcp
在防火牆裡開放遊戲的連接埠(Linux 搭配 ufw)。

之後,玩家在多人遊戲 → 新增伺服器裡新增你的伺服器,它就會帶著圖示、名稱、描述和玩家 / 名額顯示出來。如果你只是想今晚和朋友玩,不想折騰這些,把你的單人世界對區域網開放只要點兩下。

管理指令、角色與保護區

指令都是英文,可以在遊戲的聊天框(T,然後輸入 /)或伺服器的終端機(不用輸入 /)裡使用。在終端機輸入 help 可以看到完整清單:有些指令只存在於終端機,有些只存在於聊天框。

  • 玩家:players、kick、tp、gamemode … survival|creative|spectre、kill、respawn、/playerinfo、/invsee(檢視他們的背包)、/playerstats。
  • 世界:say、time set、weather clear|rain|thunder|snow… | auto、difficulty easy … terrible、/setworldspawn、mobs on|off。
  • 角色:SuperAdmin、Admin、Moderator 和 Player(預設)。/role assign PLAYER ROLE、/role create、/role add ROLE PERMISSION;/role nodes 會列出權限。
  • 保護區:/zone create NAME [RADIUS] 會保護你周圍的一個圓形區域(不能建造、不會爆炸),然後用 /zone set NAME pvp deny 等等——建造、爆炸、pvp、pve、生物、箱子、傷害、進入。
  • 邊界:/border set RADIUS 把世界限制在一個圓內;/border space deny 或 /border world moon deny 會封閉太空或月球。
  • 每個人都有的家:/sethome、/homes、/home(每位玩家預設 3 個)。
  • 伺服器:save(立刻把所有東西寫入磁碟)、version、stop。
/role assign Alex moderator
/zone create spawn 40
/zone set spawn pvp deny
/border set 3000
/border world moon allow
/difficulty hard
/sethome base
在遊戲的聊天框裡(以管理員身分):角色、受保護的出生點、邊界。

網頁儀表板

用 --web(或 "web": {"enabled": true})啟動,然後打開 http://127.0.0.1:24711/:總覽(TPS、tick、玩家、網路、記憶體)、玩家(位置、背包、動作)、世界的即時地圖(2D、等角和 3D)、太空中的行星、生物、地形與儲存空間,還有瀏覽器裡的主控台。從另一台電腦連入時,只能看——除非你設定了 --web-password。

你的世界存放在哪裡(以及怎麼備份)

  • server.json:設定;roles.json:角色。
  • owserver_data/:世界本身——它的種子碼(world.cfg)、生成的地形(chunks/)、編輯過的地形(regions/)、每位玩家的存檔(players/<uuid>.json:位置、背包、遊戲模式)、zones.json、borders.json……
  • logs/:伺服器的日誌。
  1. 1

    備份

    輸入 stop(或 Ctrl + C),把 owserver_data/、server.json 和 roles.json 複製到安全的地方,再重新啟動。伺服器也會每隔幾分鐘自己存檔。

  2. 2

    更新

    從 launcher 下載新的 openworld-server(它會放進一個新的 openworld-server-<version> 資料夾),把你的那三樣東西搬進去,然後啟動。請告訴你的玩家選擇相同的版本。

  3. 3

    還原

    關閉伺服器,把複製下來的資料夾放回去,再啟動。每個人都會回到原本所在的位置。

tar czf backup-$(date +%F).tar.gz owserver_data server.json roles.json
一次備份,在伺服器的資料夾裡執行(macOS / Linux),並且伺服器已經關閉。

更新不會改變你的土地:伺服器生成過的每一塊地形,都會跟著世界一起儲存,並且原封不動地提供出去,就算新版本生成新世界的方式不同也一樣。無論如何,每次更新前都先備份一份——只需要複製一次。

在家架設伺服器安全嗎?

  • 一個 UDP 連接埠,上面的流量都是加密的(X25519 + ChaCha20-Poly1305)。
  • 線上模式會透過 Openworld 的服務檢查每位玩家的帳號:沒有人能冒用你朋友的使用者名稱。
  • 儀表板讓其他機器只能看,除非你設定了密碼;如果你用不到,就不要在路由器上轉發它的連接埠(TCP 24711)。
  • 匿名統計:伺服器會傳送數字(線上玩家數、TPS)來協助改進遊戲,絕不會傳送帳號或任何一行聊天內容。--no-telemetry 可以把它們關掉。

一般的家用伺服器建議同樣適用:讓機器的系統保持在最新狀態,而且只轉發你需要的那個連接埠。要在 Linux 上架設嗎?Linux 版本在 Linux 上的 Openworld 裡有介紹。

追蹤 Openworld

@play_openworld 是 Openworld 的 Instagram 官方專頁:遊戲影片和每次更新的新內容。

@play_openworld

Openworld 由 @tompascard 建立

伺服器跑起來了嗎?現在去把玩家找來:和朋友一起玩的攻略說明了每個人需要準備什麼,還有該傳給他們的訊息。

三個步驟,進入遊戲(和它的伺服器)

  1. 1用下載的檔案安裝 Openworld:它會為你裝好 launcher。
  2. 2在 launcher 中建立你的帳號並確認你的電子郵件。
  3. 3選好使用者名稱……開始遊戲。

常見問題

家用伺服器能負荷多少玩家?

伺服器預設是 100 個名額(在 server.json 裡可設為 1 到 1,000)。在家裡真正的限制是負責生成新地形的處理器,以及你的上傳頻寬;網頁儀表板會顯示 TPS 和 tick 時間,讓你知道目前的狀況。

我需要固定 IP 嗎?

不需要。把你目前的公開位址給朋友;如果它變了,再傳新的給他們。動態 DNS 名稱或網狀 VPN 可以省下這個麻煩。

我可以在 Raspberry Pi 或舊筆電上 24 小時全年無休地跑嗎?

舊的 x64 筆電或 PC 可以:伺服器是個主控台程式,支援 Linux x64、Windows x64 和 macOS,不需要任何顯示功能。Raspberry Pi 則不行:目前沒有 ARM Linux 版的伺服器。也沒有官方的 Docker 映像檔。

我可以把單人世界搬到伺服器上嗎?

目前還沒有這個按鈕。如果只是和幾位朋友玩,改為把你的單人世界對區域網開放(暫停選單裡的對區域網開放)。用同樣的文字種子(--seed-text)和地形型別啟動伺服器,會得到相同的風景,只是沒有你的建築。

我要怎麼備份伺服器?

把它關閉,連同 server.json 和 roles.json 一起複製 owserver_data 資料夾,再重新啟動。還原就是把那份備份放回去。

沒有網際網路也能用嗎?

可以,用 --offline:不檢查帳號,每個人都沿用自己輸入的使用者名稱,並穿著預設外觀。線上模式(預設)需要網際網路才能檢查帳號。

我怎樣獲得 Openworld 伺服器?

你在 launcher 裡和遊戲放在一起下載它。玩家仍然需要有遊戲。

繼續閱讀

更多攻略

遊戲

繼續探索 Openworld

下載

準備好出發了嗎?

一個小檔案,你的星球就在等你。遊戲會自動更新。

現已上線。Openworld 處於 alpha 階段,你今天就能玩。

  1. Alpha你在這裡今天。完整的遊戲,從 alpha 第一天起就能玩,而且價格更低。
  2. Beta等遊戲更穩定的時候。
  3. 正式版最終版本。launcher 會自動帶你過去。

不用等待:Openworld 從本站下載,不是從 Steam 或任何其他商店。

你的系統

Windows

Windows 10 或 11,64 位元

下載

Openworld.exe

你的系統

Linux

x64,glibc 2.31+(Ubuntu 20.04+),Vulkan 驅動程式

下載

Openworld-linux-x64.tar.gz

  1. 1用下載的檔案安裝 Openworld:它會為你裝好 launcher。
  2. 2在 launcher 中建立你的帳號並確認你的電子郵件。
  3. 3選好使用者名稱……開始遊戲。

追蹤 Openworld

@play_openworld 是 Openworld 的 Instagram 官方專頁:遊戲影片和每次更新的新內容。

@play_openworld

Openworld 由 @tompascard 建立

Openworld 已經上線了嗎?

是的。Openworld 從 alpha 第一天起就能玩。下載 Mac、Windows 或 Linux 版,在 launcher 裡建立帳號就能開玩:沒有需要等待的發售日期。

Openworld 會上架 Steam 嗎?

Openworld 不在 Steam 或任何其他商店,你也不需要它們:直接從本站下載遊戲,今天就能玩,它的 launcher 會讓遊戲始終保持最新。

Alpha、Beta、正式版:分別是什麼意思?

Alpha:遊戲已經能玩,並隨著每次更新不斷成長;內容會變,有時也會出問題。等它更穩定後,會進入 Beta,再到正式版。從頭到尾都是同一款遊戲:你現在就能玩,每個新版本由 launcher 自動安裝。

為什麼要在 alpha 階段玩?

你可以馬上開玩,看著遊戲隨著一次次更新慢慢長大,而且 alpha 比之後的正式版價格更低。

macOS 提示應用程式「未開啟」

目前這是正常的:應用程式還沒有拿到 Apple 憑證。點選完成,開啟系統設定 → 隱私權與安全性,向下捲動到 Openworld,點選仍要打開。只需要一次。

Windows 顯示「Windows 已保護您的電腦」

安裝程式還沒有拿到憑證。點選其他資訊,然後點選仍要執行。

Linux 上怎麼辦?

解壓縮檔案並執行程式:

tar xzf Openworld-linux-x64.tar.gz && ./Openworld

你需要支援 Vulkan 的顯示卡驅動程式(Mesa 或 NVIDIA),以及 glibc 2.31 或更新版本(Ubuntu 20.04、Debian 11、Fedora 32 或更新版本)。

我需要什麼樣的電腦?

一張支援 Vulkan 的顯示卡(Mac 上需要 macOS 11 或更新版本)。遊戲會自動調整視距和天氣品質:一台較新的筆記型電腦就夠了。

launcher 打不開?

請從 NVIDIA、AMD 或 Intel 的官網更新顯示卡驅動程式。如果筆記型電腦有兩張顯示卡,請兩張都更新。在 Linux 上,請安裝 Mesa 的 Vulkan 驅動程式(mesa-vulkan-drivers)。

正在下載!

安裝 Openworld

遊戲還沒有拿到 Apple 和 Microsoft 的憑證:第一次啟動時,你的電腦會起疑心。這很正常,下面教你怎麼告訴它一切安好。只需要一次。

  1. 1

    開啟 Openworld.dmg

    把 Openworld 拖進應用程式資料夾,然後從「應用程式」中啟動它。

  2. 2

    macOS 拒絕了:點選「完成」

    千萬別點「移至垃圾桶」。

  3. 3

    系統設定 → 隱私權與安全性

    向下捲動到「已阻擋 Openworld」,點選仍要打開並確認(輸入密碼或使用觸控 ID)。

  4. 4

    重新啟動 Openworld

    最後一次點選打開。就這樣:macOS 不會再問了。

習慣用終端機嗎?
xattr -dr com.apple.quarantine /Applications/Openworld.app

然後像往常一樣啟動 Openworld。