下午发现手上的一个阿里云 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 拷贝到该目录,或者先启动服务端,它会自动创建该文件夹。