0
  • Page Views 4356

如何在Linux上架設遊戲伺服器

遊戲自發展以來,總是帶給許多的玩家歡樂,從 Atari 2600以及大型街機開始,以至於現今的網路世代,多人連線的伺服器出現逐漸成為常態。

目前的遊戲大多可以創立或連接一臺伺服器,像是Minecraft、CS或其他遊戲,通常都有一個啟動遊戲的伺服器,儘管Linux幾乎是處於所有遊戲的對立面,但在Linux少仍有相當多的遊戲。

建置遊戲伺服器的需求

一般對於伺服器有個誤解,就是需要強大的硬體設備,然而事實上卻剛好相反,你不需要高階的硬體,雖然低階的硬體相對沒辦法擁有較好的效能,但若是使用舊筆電的話恐怕就不是一個好選擇。

在Linux上建置遊戲伺服器並不困難,但仍必須具備一些基礎的知識。

在Linux上建置遊戲伺服器

建置Minecraft伺服器

建置Minecraft伺服器需要Mojang的伺服器軟體,幸運的是這是免費的,Minecraft在32以及64位元的Linux上都能正常的運作,然而Gamepedia指出64位元的伺服器可以有較佳的效能。

我們需要先安裝Java來運作Minecraft伺服器,要在Linux上檢查Java是否安裝以版本可以使用下列指令:

java -version

如果執行指令後出現「Java not found」的訊息,表示電腦內未安裝Java,要安裝Java的話你可以使用Ubuntu的apt-get指令。

安裝前先更新一下軟體索引:

sudo apt-get update

接下來使用以下指令安裝Java開發工具包(JDK):

sudo apt-get install default-jdk

你也可以試試OpenJDK,但大多數使用者使用Oracle的Java較沒問題。

 Ubuntu

如果你使用的是Ubuntu的話,可以先輸入以下指令:

apt-add-repository

apt-get install software-properties-common

apt-get install python-software-properties

接下來增加更新來源列表,加入PPA,最後安裝Java:

sudo apt-add-repository ppa:webupd8team/java

順利加入PPA之後,執行更新:

sudo apt-get update

更新完成後,利用指令安裝Java:

sudo apt-get install oracle-java8-installer

最後將軟體安裝完成。

Debian

以Debian為基礎的版本方面,安裝上與Java有些不同,你需要掃瞄付費的儲存區,要完成這項動作,你必須先將付費內容加到 /ect/apt/sources.list裡。

你所需要輸入的網址與以下可能有些不同,讀取來源可能為:

deb http://http.us.debian.org/debian stable main contrib

然後更改為:

deb http://http.us.debian.org/debian stable main contrib non-free

加入付費內容後,更新軟體清單:

sudo apt-get update

然後安裝Java:

sudo apt-get install sun-java7-jre

Arch Linux

執行以下指令:

pacman -S jre7-openjdk

Arch Linux ARMv7

在Arch Linux ARMv7方面,最好還是從Oracle下載並安裝Java,將文件解壓縮到/usr/lib/jvm,然後將Java的預設值切換為:

archlinux-java set jdk1.7.o_60

Gentoo

使用的是Gentoo的話,使用以下指令:

emerge virtual/jre

其他 Distros:

仍然有其他下載方法,Oracle提供與大多數平臺相容的Java安裝包,包括32以及64位元的都有。

下載 Minecraft Server 軟體

你可以替你的Minecraft建立一個資料夾並更改為自己想要的名字(例如:Minecraft),然後再指向這個資料夾:

mkdir minecraft

cd minecraft

接下來,安裝最新版本的Minecraft軟體:

wget -O minecraft_server.jar https://s3.amazonaws.com/Minecraft.Download/versions/1.11/minecraft_server.1.11.jar

或者可以從以下連結下載最新的Minecraft伺服器軟體,將JAR移動到Minecraft資料夾,在你還沒有更改資料夾之前。

java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui

然後,會發現安裝失敗,所以我們首先必須同意Eula license,輸入:

nano eula.txt

這會打開eula.txt檔,然後更改內容:

eula=false

改成

eula=true

然後重新輸入指令:

java -Xmx1024M -Xms1024M -jar minecraft_server.jar nogui

連接Minecraft Server

現在你可以透過執行Minecraft連接到你所安裝的Minecraft伺服器,選擇多人,並設定一個伺服器的名字,最後加入電腦或本機的IP位址,這將是連接的位址,預設的情況下,Minecraft使用的埠號是25565,因此伺服器位址是[IP位址]:25565,然後點擊完成。

到這裡你已經安裝完成Minecraft伺服器,並了解如何最佳化Linux的Minecraft。

建立一個Steam Game Server

對於CS以及其他的Steam遊戲,你需要一個Steam的遊戲伺服器,但是Steam的遊戲伺服器建立的方法有些不同,這邊使用Ubuntu 16.04 LTS的系統做範例,雖然Steam的社群討論建議建立一個新的帳號專用於Steam伺服器,但在這裡示範使用的是Ubuntu預設的使用者帳號。

SteamCMD

SteamCMD utility可以讓你運作Steam的伺服器,這個工具會將Steam的遊戲下載並安裝至專用的伺服器,要下載SteamCMD的安裝程式,先輸入以下指令:

cd ~

 pwd 

mkdir steamcmd

 cd ~/steamcmd 

wget http://media.steampowered.com/installer/steamcmd_linux.tar.gz 

tar -xvzf steamcmd_linux.tar.gz

然後確認你在steamcmd目錄下,接著執行以下指令:

./steamcmd.sh

安裝程式腳本以及執行更新後,可以試著登入,嘗試輸入:

login anonymous

你可以看到你已以匿名登入Steam公共區域。

連接伺服器

雖然已經安裝SteamCMD,我們仍然需要增加專屬伺服器,雖然整個過程上會有些複雜,事實上如果Steam提供免費專屬伺服器的話,匿名登錄是可以的,但某些伺服器仍需要你以Steam帳號進行登入。

例如Team Fortress 2,如果Steam提供專屬伺服器而且非免費的話,你就必須以Steam帳號登入,就像你在客戶端登入CS伺服器一樣。

Steam為客戶端以及伺服端都配有AppID:

Counter-Strike Source

  • Client AppID: 240
  • Server AppID: 232330

Team Fortress 2

  • Client AppID: 440
  • Server AppID: 232250

但我們該如何處理這些資料呢? 就必須透過進入專屬目錄下,像是Team Fortress 2伺服器的話,預設為:

/home/usr/tf2-1

然後建立一個安裝資料夾:

mkdir tf2-1

這邊有兩個方法來進行遊戲的安裝,如果目前是使用匿名登入的話,只需輸入:

cd ~/steamcmd;~/steamcmd/steamcmd.sh +login anonymous +force_install_dir {install-folder} +app_update {appid} validate +quit;

如果使用Steam帳號登入的話,輸入:

cd ~/steamcmd;~/steamcmd/steamcmd.sh +login anonymous +force_install_dir /home/game-server/tf2-1 +app_update 232250 validate +quit;

根據你的設定有可能需要做某些設置上的修改,詳細的資料可以點這裡,要啟動遊戲伺服器的話,先到遊戲的安裝目錄下去執行,ˋˋ這裡以Team Fortress 2為例:

cd /home/game-server/tf2-1/;./srcds_run -secure -game tf -nohltv +port 6005 -steamport 6105 +clientport 6205

其他方法

雖然前面的例子列舉了Steam以及Minecraft,但事實上架設伺服器的方法還有很多,也不一定都必須要在Linux上才能架伺服器,像是GameServers.com也提供了一些架設方案,包括付費的方案,當然也是有免費的方案,免費的方案可以點這裡

只要你申請了伺服器,你就會收到一封有關伺服器資料的E-mail,點選連結並按步驟操作就可以成功架設,如果在之後你有需要臨時的伺服器的話,這是個不錯的選擇。

最後 Linux Game Server Managers也提供了一個不錯的方案,這是個很方便的工具,可以相容超過50的專屬伺服器,此外這還是開源軟體,可以用指令即能快速的在Linux上部署伺服器,關於架設方法可以參考以下影片:

資料來源:MakeUseOf

回應

回應

Share This Article

Raspberry Pi 的速度將大幅提升

Next Story »

Youtube的iOS版本具有Chromecast的螢幕解鎖功能