Minecraft 联机进阶篇:在服务器上架设服务端

最近会更新一系列关于 Minecraft 的联机教程,包括从整合服务端到架设在服务器上。先写了这一篇在服务器上架设。

入门篇啊……?过几天吧。维护篇在入门篇之后。


本教程适用于有电脑相关知识基础之人士。


将服务端跑在本地进行测试或联机,和架设在服务器上能够7×24运行的区别就只有一些细微的区别。服务器的安全措施不在本文讨论范围之内。


服务器的系统我推荐使用CentOS 7。

具体步骤

1.将服务端上传到服务器;

我用来传输用的软件是 pscp ,这是一个 putty 系的配套(算是吧?)软件。在 Windows 环境下,可以使用 CMD 或 PowerShell 来进行操作。通常情况下会用到的指令及参数如下。

命令:pscp [本地文件路径] [服务器用户名]@[服务器地址]:[路径]

例子:pscp d:\1.txt [email protected]:/root

参数:

-P 1234 —— 指定 SSH 连接端口,通常情况下不用这个参数,但若服务端为了安全有更改这个连接端口就要用了。

-pw 1234 —— 指定登录时使用的密码,我多数也不用。不指定的话执行指令后也会向你询问密码。

备注:命令最后的 /root 意思就是把上传的文件放在根目录(?),通俗点说就像是 Windows 下的桌面。通常一个服务器我就只用来跑 MC 的服务端,不进行其他操作,那么不另起文件夹放也没问题。

在传之前最好把服务端文件夹打包成 .tar 格式,这样在服务器上只要简单地用

tar xvf 1234.ta

就能简单地解开了。压缩传输基本没有必要,因为服务端本体其实不大。用 7z 之类的压缩还要在服务端上用 7z 解压,何必呢……

2.在服务器上安装 Screen;

Screen 的作用类似 Windows 下的任务栏,能在多个窗口内同时执行程序。否则直接用 SSH 连接上去开服后,当 SSH 断开连接,服也会关掉的。另:管理 MC 服务端相关事宜请使用 PC 端的 SSH 连接软件。(就用 putty 吧,多好用啊)否则有其他的问题,稍后将进行说明。

安装很简单,一行指令。

sudo yum install screen

一路看提示,该y的y,很快。

示例:

screen -S mcserver —— 新增一个名为 mcserver 的窗口,并切换到它。

screen -r mcserver —— 回到 mcserver 这个窗口。

screen -ls —— 之前开的窗口名字忘了?把所有窗口列出来看看就好了。

Ctrl+A , D —— 意思是先按 Ctrl+A ,然后单独按 D 。通俗地可以理解成把 Windows 的窗口最小化。

Ctrl+A , X —— 既然是 X 就是理所当然地把窗口关掉了。

备注:Ctrl+A 是在窗口内执行的,是让 screen 准备接收指令。如上文中的 D 和 X 。手机上多数的 SSH 软件不支持发送 Ctrl+A ,所以打个 top 看看占用还可以,管理就别了吧。

3.在服务器上安装 JRE / JDK;

即使在 Windows 上开服务端也要“装 Java”,在 Linux 服务器上为什么不呢~

JRE:Java Runtime Environment / JDK: Java Development Kit

翻译是 Java 运行环境 / Java 开发工具。

正如我前文所说,这个服务器单就用来开服就好了,装 JRE 即可。

如果直接去搜 “install jre centos”,是会发生大惨事的。各种教程会告诉你先去下个jre,传到服务器上,解压,手动复制,写变量……一通操作下来只要哪里有问题,基本上就可以删硬盘重来了。我们需要的只是 JRE ,那为什么不走一条轻松一点的路线呢?

sudo yum install java-1.8.0-openjdk

搞定了。

4.运行;

使用步骤 2 提到的 screen 命令来开一个新的窗口:

screen -S mcserver  —— 这个 mcserver 当然你可以自己改了,只是个名字。

使用 cd 命令切换到服务端所在的文件夹,使用命令启动服务端即可。

通常情况下我不推荐每次都敲命令,存成一个 .sh 文件岂不美哉?顺便提供一个我常用的,参数什么的可以详细自己去查,再改:

java -d64 -server -XX:+UseG1GC -XX:MaxGCPauseMillis=100 -XX:+UseStringDeduplication -Xms1G -Xmx2560M -XX:hashCode=5 -Dfile.encoding=UTF-8 -jar forge-1.10.2-12.18.3.2511-universal.jar nogui

-Xms  1G —— 初始分配 1G 内存

-Xmx 2560M —— 最大分配 2560M 内存

-jar forge-1.10.2-12.18.3.2511-universal.jar —— 服务端本体的名字

为什么会有 nogui 呢,因为这条命令在我这里基本是通用的,我懒得改。

5.其他操作。

以我自己用的阿里云为例,还需要写安全组规则,使得 MC 服务器使用的端口能够通信。

在阿里云上的操作是:查看实例 – 更多 – 安全组配置 – 配置规则

在此处参考其他现有的规则,比如 22 端口的出入(这是SSH连接的默认端口),加上允许 MC 服务端的默认端口出入的规则即可,默认是 25565 。

Ctrl+A , D,关掉 SSH 连接(软件),打开 MC 输入服务器地址玩即可。

另:服务端配置选择:

我个人的习惯是 2 个主游玩 mod 辅以数个小 mod 。比如本次 1.10.2 版本选用的是沉浸科技和神秘。

就目前国内多数的服务器提供商的配置来看,多数以 CPU 核心数和内存大小,以及带宽(上传)来决定价钱。而类似我这样的 modpack ,需要的硬件配置是 2 核心,4G 内存,带宽(上传)是 1M 。1M的上行约能允许10人以下游玩。如果服务器长期有10人及以上游玩,再考虑升级带宽。

除了接近原版的服务端之外,我都推荐使用这样的配置。

低一档的是 1 核心,2G 内存。如果 mod 多,服务端跑起来之后只会看到一大堆具体内容都是服务器过于卡顿的刷屏信息。至于核心是什么 CPU 的核心不用去在意,在性能上不会有太大差别。


完。


写完之后想了想,以后来做个目录吧。

入门篇 – 做一个合格的整合包。

进阶篇 – 在服务器上架设服务端。

维护篇 – Mod升级及服务器安全。

这(指国内游戏生态圈崩坏)和盗版毫无关系。

Who destroyed all this?

Game maker?​

or, ​

Industry thought?​

​我,從來就沒想過靠做「遊戲」盈利、維生。

雖然現在無論是個人、工作室抑或公司都喜歡把遊戲當做盈利的工具和商品​,與之交換的,便是人們的金錢。

遊戲的本質如同歌劇一般,是小衆的「玩意」。​

喜歡它的人,花錢來看,來玩。收益亦應當源自於這部分。​

所有被送上流水線的東西都沒有好下場。這是我們都已經知道的結果。​

在這個不需要用心就能隨意換到其他人金錢的年代,

我寧願飽受痛苦,也不願被這種生態改變。

看看現在能引起話題的遊戲到底都有着什麼樣的標籤?​

像素畫風、卡通立繪、劇情是找人​、架空奇幻世界、主角有特殊能力、Unity出品、動作。​

基本上一發地圖炮就能把大多數最近火的遊戲打死。​

太多太多根本不需要動多少腦的遊戲從流水線上​一個個下來。

然後拿高分。然後大賣。​

火是火了,可是火的時間可能半年都過不了。

同樣是17年的遊戲,誰還記得綠帽大作戰?

說得好聽,叫趕潮流,像現在的吃雞。

說得難聽,叫製造廢物,浪費資源。​

遊戲的本質不應是這樣的。​

和電影一樣,討論時間僅限上映時間?​

更何況每個地區都有適合它自己本身的遊戲​,IGN?別開低端玩笑了。​

單說東亞地區,從大家都易於理解的「Final Fantasy」說起。​

這種東亞奇幻早已深入人心,算是這個地區特有的一種奇幻風。​

比起歐洲魔幻風這個源頭,儼然已自成一派。​

「我們」的RPG不適合他們,「他們」的割草系動作遊戲自然也不適合我們。​

更何況FF系列的製作人早就忘了這個名字的來源。​

失去希望,再無後續資金,唯背水一戰,是爲「最終幻想」。

順便一說,初代玩起來真的有有一股悲壯的感覺。

遊戲是個需要內涵的東西。並不是單單劇情合理,能玩,就能隨便拿出來賣。​

和填鴨思想毀了東亞的教育一樣,工業思想同樣毀了遊戲。

這不單是指某幾個遊戲,而是一個地區當中,整個遊戲的生態圈。​

​玩手遊的人永遠沒辦法理解爲什麼有人會花那麼多錢來買一個遊戲,而且還能玩好幾年。

而鄙視鏈另一端的人也永遠沒辦法理解爲什麼有人會在那麼小的屏幕上課金。

​第一次在PS4上玩到GTAV時,(當時知道了GTAV也有在PS3上發行)我的第一想法就是:

你們這些垃圾廠商(指那些出的遊戲像4399的flash遊戲一樣的廠商),竟敢在主機平台上賣垃圾?

他MA的這種垃圾遊戲除了菜單選項之外,整個流程除了搖桿可以只按兩個鍵的垃圾遊戲,你敢當是遊戲賣?

標準的降低源自於受衆的沒有標準。

​這便是促使我研究玩家心理學的原因。

​最終遊戲的受衆該是誰?

遊戲的本質在娛樂——娛樂誰?

誰的生活才需要這種釋放方式?

什麼樣的劇情才適合這種釋放方式?

爲什麼要採用這種方式來釋放壓力?

逃避。

唯有另一個世界,另一種生存方式,才能令人暫時離開這個世界,尋找片刻的安寧。

日本的劍與魔法,中國的劍俠,韓國的穿越。

這都是另一個世界,另一個以其他標準來評判人的世界。不再是性格,外觀,能力。

而單純地,是力量。

遊戲僅因此種「力量」而能吸引「玩家」。

正因爲需要逃避,所以才成爲了玩家。

劇情的本質是製作者與玩家之間的對話。

​不知道到了這裡,看的人明白「玩家」的定義沒有。

如果有,那證明我成功地將這個地區的生態圈變得好了一點。


​玩家不是把遊戲當做消磨時間的人。

那些玩網遊,卻不知道有什麼新版本更新,只活在自己的世界的人。

什麼都要靠問,什麼都只看數字,越大越好。

任務過不去肯定是策劃設計不合理,死人了肯定不是自己的錯。

玩個單機只知道GTAV,說起廠商只知道育碧賣Bug,只會吹任天堂強無敵。

你他MA的別用着破解的3ds,順便關心NS破解情況然後說這種話。

更過分的是玩一大堆傻X手遊,看那些奶子比虛擬按鍵大的立繪。

玩個EVE都他MA的說不知道怎麼玩。EVE已經是新手教程近乎最完備的遊戲了。

​和遊戲深入一點的知識完全不知道,只會看主播播遊戲,只會看誰誰出實況,只會叫誰誰出實況。

看到Steam就只知道三大件,GTAV,DOTA2,PUBG。​

你們要消磨時間就死在房間自慰好不好?不要再來污染遊戲的生態圈了。​