前言
今天应朋友要求也是顺合自己心意自己折腾了一下mc
的服务器,虽然不是很难,但是想记下来。
环境
- 安装java
我的系统是Debian9
。没有内置java
,所以要自己安装,百度了一下都不靠谱,最后用谷歌的一个方法成功了。
首先安装jre/jdk
,更新索引。
sudo apt-get update
然后安装运行环境jre
。
sudo apt-get install default-jre
如果你需要开发工具,可以使用jdk
安装。
sudo apt-get install default-jdk
- 安装Oracle JDK
如果你想安装Oracle JDK
sudo apt-get install software-properties-common
如果你想正确运行,需要运行以下代码。
sudo add-apt-repository "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main"
一旦执行了上一步骤,必须更新apt
。
sudo apt-get update
- 安装java
(自由选择版本)
Oracle JDK 8
是编写时的最新稳定版本的Java
。执行以下命令。回车或者y
。
sudo apt-get install oracle-java8-installer
安装过程中还需要接受Oracle
二进制代码许可条款。 使用箭头键选择“是”,然后按“Enter
”接受许可证。
安装完成后你可以验证java
版本。
java -version
收到以下输出即可。
java version "1.8.0_91"
java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)
安装
下载mc
服务器端。
首先你可以创建一个目录来存放mc
,比如我选择root
。
mkdir mc
cd /root/mc
你可以根据自己所需的版本号来安装对应的服务端,比如我是安装1.7.10
。
sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/1.7.10/minecraft_server.1.7.10.jar
请自行更换对应版本号。然后minecraft_server.1.7.10.jar
文件就存在于你的文件夹中了。
启动
根据你所需要的人数设置相应的内存。执行命令为:
sudo java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar [jar包所在路径]/minecraft_server.[版本号].jar nogui
nogui
就是no
gui
,gui
是图形界面的意思,不用图形界面可以大大减少负载。
我这里用的命令为:
java -Xms512m -Xmx512m -jar /root/mc/minecraft_server.1.7.10.jar nogui
然后你就可以看到类似以下的输出信息
[05:58:08] [Server thread/INFO]: Loaded 488 advancements [05:58:08]
[Server thread/INFO]: Preparing start region for level 0 [05:58:09]
[Server thread/INFO]: Preparing spawn area: 0% [05:58:10] [Server
[thread/INFO]: Preparing spawn area: 41% [05:58:11] [Server
[thread/INFO]: Preparing spawn area: 76% [05:58:11] [Server
[thread/INFO]: Done (4.263s)! For help, type "help" or "?"
即便你做了上面的一切,大部分人会发现:还是连不上服务器,为什么?因为大部分人搭私服都是盗版,在服务器设置里面有一个验证正版的选项,不关闭是无法进入的。
vi server.propertices
online-mode=false #将true改成false
其他的一些选项是服务器内容,你可以看着更改。
Tips:服务器默认是25565
端口,记得在安全组里放行此端口,不然无法链接服务器。此端口在server.propertices
里可更改。
其他
启动脚本
你每次如果都像上文一样输入一段命令是不是很麻烦呢?,我们可以写一个简单的shell
脚本来实现便捷启动。
在mc
文件夹中新建一个mc.sh
。输入以下内容保存即可。
#!/bin/sh 脚本申明
java -Xms512m -Xmx512m -jar /root/mc/minecraft_server.1.7.10.jar nogui;
赋予执行权限chmod -x mc.sh
运行./mc.sh
,就可以看到上文中的输出。screen
新界面运行。
但是这样是不能进行其他操作的,也就是说你的服务器上只能进行这一个进程,如果你是专用mc
服务器的话那没有什么影响,但是我是在博客服务器上搭建的,这样就很碍事,我们可以用screen
命令进行这个过程。
screen -S mc
cd /root/mc
./mc.sh
输出上文内容即可。
即可成功联机,愉快的玩耍吧。
番外
当然了,上面只是纯净版,对于mc
老玩家,纯净版是不能满足我们的,mc
作为一个开放世界,最大的魅力除了可以随心所欲那一定是五花八门的mod
了。局域网联机过的人都知道,如果主机,就是服务器端不安装mod
的话,你是没有办法进入mc
的。那么怎么才能在服务器端打上mod呢?
首先你需要一个对应mc
版本的forge。(这个是外网链接,需要fq)然后把你电脑mc
客户端的libraries
文件夹和forge一起上传到你的mc
服务器文件夹中。我是1.7.10.
对应的forge
版本有两个,forge-1.7.10-10.13.4.1558-1.7.10-universal.jar
和forge-1.7.10-10.13.4.1614-1.7.10-universal.jar
,你可以随便选择一个,一般没有太大影响。然后执行。
java -Xms512m -Xmx512m -jar /root/mc/forge-1.7.10-10.13.4.1558-1.7.10-universal.jar nogui
执行成功后就会生成mods
目录,然后将相关mod
的jar
包放到mods
目录里,重启服务器就可以了。是的,你可以发现这和前面的mc
启动命令是有相同之处的,你之后每次启动都需要用这个脚本,你可以更改启动脚本里的命令来达到快速启动的目的。
Tips: server.properties参数说明
// 以下是Minecraft服务器设置文件,true代表执行,false代表不执行。
Sun Mar 11 18:24:34 CST 2012 此为文件生成时间
// 是否开启地狱,不开启话地狱门将无效
allow-nether=true
// 地图文件夹名称,下界与末路之地将会自动以nether,ender加上并用下划线隔开
level-name=world
// 是否开启GameSpy4协议服务器监听器,用于获取服务器信息,国内应该用不上。
enable-query=false
// 是否允许飞行
allow-flight=false
// 远程访问服务器的密码,此项可以留空或删除
rcon.password=
// 服务器端口(25565为默认端口,联机时无需输入)
server-port=25565
// 第5行对应功能的端口
query.port=25565
// 地图类型,Default=默认,FLAT=超平坦,LARGEBIOMES=巨型生物群系
level-type=DEFAULT
// 是否开启远程访问服务器控制台。技术人员可选。
enable-rcon=false
// 地图种子,在生成地图文件夹之前填入此项,可生成特定的地图
level-seed=
// 服务器IP,不输入则为默认IP,内网用户的话请填内网IP
server-ip=
// 最大建筑高度,上限是256,因为Chunk的高度最大值是256
max-build-height=256
// 是否生成NPC
spawn-npcs=true
// 是否开启白名单,没有白名单的玩家尝试进入服务器会被自动拒绝
white-list=false
// 是否生成动物
spawn-animals=true
// 此处填写服务器默认材质下载链接,链接必须以.zip结尾
texture-pack=
// 用于给http://snoop.minecraft.net网站发送服务器数据,这样玩家可以从客户端上获取服务器信息,推荐关闭
snooper-enabled=false
// 是否开启极限模式,玩家死亡将自动被ban
hardcore=false
// 是否开启联网模式(正版专用,盗版必须改成false)
online-mode=false
// 是否开启PVP,不是战争服就不要开了
pvp=false
// 游戏难度,与单机相同
difficulty=1
// 玩家第一次进入游戏时的游戏模式
gamemode=0
// 同时在线的最大玩家数
max-players=20
// 远程访问服务器的端口号,此项可以留空或删除
rcon.port=25575
// 是否生成怪物
spawn-monsters=true
// 是否生成建筑物(包括村庄和地牢)
generate-structures=true
// 可见距离,最大值为10
view-distance=10
// 服务器欢迎信息(显示在玩家联机页面),中文需中文补丁支持和转码,推荐EmEditor文本编辑器,自带转码功能。
motd=A Minecraft Server
参考文章:
如何使用Apt-Get在Debian 8上安装Java 地址
如何在Linux上搭建Minecraft服务器 地址