Setup Minecraft Server (with Forge)

下午发现手上的一个阿里云 VPS 在吃灰,琢磨着上大学之后很久没联机玩游戏了,打算搭个 mc 服务器。看了下官方的文档就只有一条命令,又看了下 wiki 发现文章内容实在太古老,就自己琢磨了下搭起来了,从有想法到完工大概一共花了20分钟。其实整个过程非常简单,真的就只是运行一条命令就可以了。看来还是官方的文档最靠谱。

以下是用 1.8.8 版本为例,支持大版本号为 1.8 的玩家同时在线,其它版本的服务器把有 1.8.8 的部分替换为相应数字即可。VPS 系统是 Debian 7 64bit


首先运行

apt-get install openjdk-7-jre
apt-get install screen
mkdir minecraft_server_1.8.8
cd minecraft_server_1.8.8
wget https://s3.amazonaws.com/Minecraft.Download/versions/1.8.8/minecraft_server.1.8.8.jar

然后直接

java -Xms512M -Xmx1024M -d64 -jar minecraft_server.1.8.8.jar nogui

第一次会运行失败,因为你还没有同意 minecraft 的 End User License Agreement (EULA),不过这时候在目录中会多出来一个 eula.txt ,直接 vim eula.txt ,将

eula=false

改成

eula=true

然后就ok了。

启动 minecraft 服务器。这一步的 Xms 和 Xmx 参数根据服务器闲置内存来决定,我的阿里云服务器之所以会闲下来就是因为它是99元一年的乞丐版。。只有1GB内存

screen -S minecraftserver java -Xms512M -Xmx1024M -d64 -jar minecraft_server.1.8.8.jar nogui

启动服务器后,会进入 minecraft server 的控制台 (console)

第一次启动后,先 Ctrl-C (^C) 停止,然后到 server.properties 文件修改游戏模式和难度等等,重新启动服务器后,在控制台输入

/op <player name>

就可以给 op 权限了。

到这一步基本服务器已经设置完毕,接下来可以开始玩,也可以再接着改一些常用设置。

Reference :

https://minecraft.net/download

常用设置

先贴一个自动生成的默认文件 server.properties

#Minecraft server properties
#Sat Oct 10 13:02:32 CST 2015
spawn-protection=16
max-tick-time=60000
generator-settings=
force-gamemode=false
allow-nether=true
gamemode=0
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=1
spawn-monsters=true
op-permission-level=4
resource-pack-hash=
announce-player-achievements=true
pvp=true
snooper-enabled=true
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=20
network-compression-threshold=256
max-world-size=29999984
server-port=25565
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world
view-distance=10
resource-pack=
spawn-animals=true
white-list=false
generate-structures=true
online-mode=true
max-build-height=256
level-seed=
use-native-transport=true
motd=A Minecraft Server
enable-rcon=false

首先修改几个通常需要改变的部分

#Minecraft server properties
#Sat Oct 10 13:02:32 CST 2015
spawn-protection=16
max-tick-time=60000
generator-settings=
force-gamemode=false
allow-nether=true
gamemode=0/1/2/3    #Specify the game mode. 0 for survival, 1 for creative.确定游戏类型,0为生存,1为创造。也可以设为 2 或 3(冒险/观察者)
broadcast-console-to-ops=true
enable-query=false
player-idle-timeout=0
difficulty=2    #游戏难度调整,默认是 1(简单)
spawn-monsters=true
op-permission-level=4
resource-pack-hash=
announce-player-achievements=true
pvp=false    #关闭PvP防止在生存服里误伤队友(当然要干掉队友还是很简单的,岩浆什么的我才不知道。。)
snooper-enabled=true
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=20    #最多同时在线人数。如果确认只有几个朋友来玩的话可以适当改小,人数多的话需要调大
network-compression-threshold=256
max-world-size=29999984
server-port=*    #可以使用默认的25565,也可以自定义
server-ip=
spawn-npcs=true
allow-flight=false
level-name=world    #存档的名字,只打算玩一个档的话默认的 world 挺不错的......
view-distance=10    #内存足够的话可以调大
resource-pack=
spawn-animals=true
white-list=true    #新的玩家必须经审查才能进入游戏,有效防止 griefing 
generate-structures=true
online-mode=true    #如果需要开放服务器给盗版玩家,设为 online-mode=false 就可以取消联网验证。但这样会导致任何人都可以连接到这个服务器。如果修改了这个设置,一定要打开 white-list
max-build-height=256
level-seed=
use-native-transport=true
motd=Super Duper Hyper Server    #显示在玩家 Server 列表里面 Server Name 下方的一句话,随自己喜欢更改
enable-rcon=false

修改 server.properties 后需要重启 Minecraft server 才能生效。

然后是在 console 里的一些设置

/op yourself
#把自己设为 Operator,方便在游戏中修改和执行命令。默认的 Operator 具有 Level 4 的权限
/gamerule doFireTick false
#火焰不会自动蔓延或消失,防止在 server 中形成巨大火灾。
/gamerule mobGriefing false
#可以更改,也可以不更改,改为 false 后creeper 和 ghast 都将不能再破坏地形,主要适用于想要好好盖房子的强迫症。
/defaultgamemode 3
#将默认游戏模式设为 spectator mode,所有新加入游戏的玩家都将是观察者模式,直到 level-4 Operator 手动修改其游戏模式

设置完后,在 iptables 里放行 Minecraft server 使用的端口。

目前就想到这么多,以后发现问题再更新吧。

安装带 Forge 的 Server

整个步骤其实相当的 self-explanatory,不用细讲应该随便试试也能知道怎么弄了。首先到 forge 官网下载服务器版本的 forge,由于我们的是 headless 服务器,而 forge 官方默认我们用的是 Windows 服务器,所以需要在本地先把 jar 包提取出来。运行下载到的 jar 文件,在 GUI 中选择为服务器安装,然后把解压出来的 jar 文件上传到服务器,其余步骤与上文相同,但是把 minecraft_server.1.8.8.jar 替换成上传的相应文件即可。最后配置时多一步,就是在服务端软件所在目录里 mkdir mod,然后把要玩的 mod 拷贝到该目录,或者先启动服务端,它会自动创建该文件夹。

Leave a Reply

Your email address will not be published. Required fields are marked *