警告:在依照本页面上的所有步骤架设服务器之前,请注意如果您不清楚您自己在做什么而运行服务端软件,将会导致您的系统出现错误甚至出现崩溃。

前言

在这个教程中,我们将通过手把手的方式,一步步地帮助您建立属于自己的Minecraft服务器(Java版)。

鉴于您正在一步步地开启您自己的服务器,您应该要注意所有可能出现的危险性。虽然我们并不能阻止其他人运行服务器而导致产生各种针对系统的危害,但我们至少可以呼吁各位:如果您不知道您自己在做什么,请不要根据下面的教程架设服务器。

运行下面的教程(应该)不会导致您的系统出错,但是与此同时我们并不知道您的系统配置与软件运行情况。我们并不能保证您的系统不会出现问题。

为了确保您根据下面的教程架设服务器而不会出现问题,我们强烈推荐您至少知道以下的内容:

本文会为大家提供Minecraft服务器搭建方式,准备好了吗?让我们开始吧!

Mojang官方服务器端程序

快速配置

快速配置


该自然段是对下文内容的简要概括。如果您有阅读困难,或者需要对于您的平台的特殊指导,请阅读余下的段落。

1.在终端或命令提示符输入java -version,检查是否安装了java且版本至少1.6。
2.若未安装,前往java.com下载,或者是用自带的包管理器搜索安装。您也可以将PATH变量做以下调整,如果您有java程序的话:

  • Windows用户在bat文件中在程序运行前进行set "PATH=<java目录>;%PATH%"
  • Linux/Mac/Unix用户使用PATH=<java目录>:$PATH

3.在服务器文件目录下新建一个.bat文件。Mac/Linux用户使用.sh。
4.内容:java <需要的额外java参数> -Xmx<最大内存> -Xms<最小内存> -jar "<文件名>" <需要的服务器参数,如nogui>。不过也可以cd进入服务器文件目录直接这样做,不制作脚本文件。
5.运行脚本文件。Windows直接双击,Linux/Mac 建议chmod +x <文件名> && sh <文件名>
6.启动成功,第一次启动会进行地图生成。有关配置按server.properties文件的定义操作。

Windows

确认你的操作系统安装了最新版本的

1.确保你安装了Java 8或更高版本。为了检查当前的Java环境,我们可以打开一个命令提示符(CMD)窗口。

  • Windows Vista/7 系统下,点“开始菜单”,在搜索框中输入cmd,回车。
  • Windows XP 系统下,点“开始菜单”->“运行”,然后输入cmd并回车。你也可以使用“运行”的快捷键:⊞ Windows + R
  • Windows 10系统下,按下⊞ Windows + R,输入cmd并回车。你也可以直接右键开始按钮来点击“命令提示符”。
  • 在命令提示符窗口,输入命令java -version并回车。
  • 窗口中应该会显示当前你的电脑的Java版本,应该为Java version 1.8

2.如果你得到了无效的命令错误提示'Java' 不是内部或外部命令,也不是可运行的程序或批处理文件,那么你的电脑上运行的可能是早期Java版本(比1.6早)或者根本就没有Java环境。

  • 可以到此处下载最新版本的Java,并选择32位系统或64位系统。
  • 在你安装了最新版的Java之后,你可以尝试在命令提示符窗口再次输入java -version并回车。

    • 如果你依旧得到错误提示,请尝试以下步骤,将Java添加到你的系统环境变量中去。
      1.右键点击“此电脑/计算机”。

    2.点“属性”。
    3.点“高级系统设置”。
    4.点“环境变量”。
    5.在“系统变量下”,选中“Path”变量。
    6.点编辑,在内容的结尾处加上;"c:\Program Files\Java\bin"。如果你在64位系统上使用32位Java,则使用;"c:\Program Files (x86)\Java\bin"
    7.重启电脑。
    8.再次打开命令提示符输入java -version并回车,验证。

3.选择您的Minecraft服务器文件的位置
在下载Minecraft服务器端程序之前,需要在PC上选择运行服务器的位置。
首次运行服务器时,它将创建一些配置文件。最好将这些文件存储在专用的文件夹中。
您可以新建文件夹放置在桌面,文档文件夹,程序文件夹或其他任何位置。这完全取决于您。

4.下载并启动Minecraft服务器软件
从Minecraft官网下载服务器端程序。它以Java .jar文件的形式出现。将这个文件保存到上一步中选择的位置。
双击.jar文件以启动服务器。它将创建服务器配置文件,在准备使用服务器之前需要对其进行修改。
接受EULA:创建了一个名为eula.txt的文本文件。在文本编辑器中打开文件,然后更改eula=falseeula=true不接受EULA将阻止您启动Minecraft服务器。

5.在路由器上启用端口转发

注意:端口转发可能会带来安全风险。

如果您只是为局域网内的玩家提供服务器,则无需担心端口转发。但是,如果要使服务器对全世界都可访问,则需要在路由器上启用端口转发。
您还需要输入服务器的本地IP地址作为转发端口的输出IP或服务器IP。这告诉路由器指向哪个设备。要查找服务器的本地IP,请打开命令提示符,然后输入ipconfig
如果是云服务器,请参考主机运营商的帮助文档
阿里云:https://help.aliyun.com/document_detail/25468.html
腾讯云:https://cloud.tencent.com/document/product/213/15377

6.启动Minecraft服务器
打开Minecraft服务器文件的位置,用“记事本”新建一个文本文件start.txt,然后粘贴以下内容进去:

java -Xmx1024M -Xms1024M -jar {server file name} nogui
pause

(用实际的服务器文件名替换{server file name},如minecraft_server.1.9.jar
保存为start.bat,放在与server.jar相同的目录下。双击start.bat,服务器就开始运行了。
如果需要更改游戏设置,可以通过修改server.properties文件来配置Minecraft服务器,这个文件的格式解释在这里

启动Minecraft服务器端程序(.exe 版)


双击“bedrock_server.exe”或“minecraft_server”文件。服务器程序将会以默认配置启动。

  • 第一次启动时,会显示一些“file not found”(文件无法找到)的错误提示。这是正常的,这些文件正在创建当中。
  • 第一次启动之后,我们可以开始配置服务器文件了。首先将打开的服务器程序关闭(在命令窗口里输入stop)。之后我们开始按照下面的指导进行服务器配置。

增加Minecraft服务器端程序所占用的内存


如果你想让你的服务器端程序占用更多的内存,需要创建一个批处理文件。
1.确认下你的Windows系统是32位的还是64位的,可以在控制面板里面查看。并且确认下你的Java版本是32位的还是64位的。
2.根据你的系统以及Java版本

  • 如果Windows系统是32位的或者是64位且安装的是64位的Java,复制下面的内容到你的文本文件中(只占一行。如果使用Java 6,请根据命令中的目录):
    "C:\Program Files\Java\jre1.8.x_xxx\bin\javaw.exe" -Xmx2048M -Xms2048M -jar "bedrock_server.exe"
    2.如果因为一些奇怪的原因,正在64位系统上运行32位的Java,升级Java。并且,如果把Java装载其他目录里了,或者你重命名了Minecaft服务器程序文件,见下:
    3.如果在64位系统上有32位的Java,Java.com会通过浏览器判别你的版本,对于一些32位的浏览器,会推荐给你下载32位的Java。在这样情况下,为确保万无一失,请把32位和64位的Java都下载并安装了吧。
  • 文本文件这一行到底是什么意思呢? 这条可执行命令(C:\Program Files\Java\jre1.8.x_xxx\bin\javaw.exe)是一个文件地址,指向系统最新的javaw.exe。如果把Java安装在了其他地址下,就需要找到那个地址,复制粘贴过来,替换到上面这个错误地址。
    下一部分(-Xmx2048M -Xms2048M)表示你分配的内存大小。以MB(MegaBytes,兆)计算。默认情况下,你服务器只会使用100MB内存,这对于Minecraft服务器来说太小了。大部分用户会分配给服务器程序1024MB(也就是1GB),或者2048MB(2GB)也是一般推荐的。下一个,参数-jar,是用来表示Minecraft_Server.exe是Java架构程序的。
  • 在这条可执行命令的最后是我们的.exe文件的名字(bedrock_server.exe)。一般来说,名字是bedrock_server.exe。大小写不区分,不一样没关系,如果你的.exe文件已经改名,就把这条命令里的文件名也改成你相应的名字。最后,点“文件”->“另存为...”,将文件取名为运行服务器.bat,并且确保在窗口的文件类型那,选中为所有文件(*.*)。 然后保存到和你服务器端程序所在相同的目录下。双击刚建立的运行服务器.bat文件。如果一切都按照正确步骤做下来,您就会注意到现在服务器程序申请到更多的内存了!

如果Windows没有识别出文件类型(你可能会被提示选择用什么程序来打开),这也许是因为Minecraft_Server缺少了.exe文件名后缀。我们可以通过重命名bedrock_server为bedrock_server.exe来修正这个问题。如果问题解决,程序的图标就会变成Minecraft的图标(方块)。 如果还是没解决,你需要打开命令提示符窗口,点“运行”,输入cmd回车。然后你需要将命令提示符窗口当前地址定位到你创建的文件夹地址去。

按照以下步骤来:
1.确保你在正确的盘符(一般是C盘)。输入 C: 然后回车来进入C盘。
2.现在你需要打开你的目录。输入 cd \"folder name" 然后回车,要包含引号部分。
3.确认你在正确的目录下了,输入 dir 然后回车你会看到你当前所在目录下的所有文件和目录。如果正确的话,你应该可以看到bedrock_server在其中。
4.重命名Minecraft。输入 rename bedrock_server bedrock_server.exe 然后回车,这么做会将.exe后缀添加到文件名上,使文件变成可执行文件。之后就应该可以正确的打开运行了。
也可以在“查看”选项卡里勾选“文件扩展名”,然后给它直接加上.exe后缀。

启动Minecraft服务器端程序(.jar 版)


1.如果你用的是.jar版的服务器端程序,你需要在环境变量中添加正确的Java地址。要完成这一操作,请回到前面的“确认你的操作系统安装了最新版本的Java环境”指导章节。
2.要在Windows上运行jar版本的Minecraft服务器端程序,(若不指定服务器可用的内存量,此步骤可省略,直接双击server.jar来执行)先用“记事本”新建一个文本文件,然后粘帖以下内容进去:
3.java -Xms512M -Xmx1024M -jar server.jar
4.保存为 startserver.bat,放在与server.jar相同的目录下。 .bat文件是批处理文件。
5.双击 startserver.bat,服务器就开始运行了。

在不改动环境变量的情况下,启动jar格式服务器端程序


要在不改动你系统环境变量的情况下启动jar格式服务器端程序,你需要在你的start.bat批处理文件中添加java路径。因为不需要改动系统变量,所以这个方法比之前的要方便并且安全。
1.首先用“记事本”打开你之前建立的批处理文件start.bat(或者别的什么名字)
2.在首行,加入@echo off,这行命令可以关闭执行过程中的回显。
3.第二行,确保你的系统上可以找到Java(也叫Java运行库或JRE)。目前的Windows计算机上最普遍的是"C:\Program Files (x86)\Java\jre7\bin\java.exe",因此,你需要在第二行写上:
path=%PATH%;%Program Files (x86)\Java\jre1.8.0_251\bin
在此%PATH%包含着已经存在的系统变量,而%ProgramFiles(x86)%会指向你的系统Project Files目录,一般是 "C:\Program Files (x86)"。
4.最后,确保最后一行是服务器启动命令:
java -Xms512M -Xmx1024M -jar server.jar
5.如果你不想使用图形界面(GUI),只需要在这行结尾加上nogui。也就是:
java -Xms512M -Xmx1024M -jar server.jar nogui


MacOS

在macOS上设置Minecraft服务器,相比Windows上要更复杂,原因是官方并没提供简单的macOS支持的应用程序。须知服务器端在OSX 10.4 Tiger上无法正确运行并且可能使电脑崩溃。

下载
确保你有最新的服务器端应用软件。服务器端软件可以通过链接下载:

https://s3.amazonaws.com/Minecraft.Download/versions/X.X.X/minecraft_server.X.X.X.jar
(X.X.X为服务器端版本号,根据需要修改)

安装Java环境
Mac OS X系统本身已经包含了Java 1.6,如果没有Java,可以运行Minecraft程序,就会提示是否安装Java 1.6。如果您运行的是MacOS(OS X)的旧版本,则可能需要从Apple网站下载Java的旧版本
(注意,运行服务器不需要使用Java 1.7或更高。除非必要,否则不需要下载Java 1.7)

架设Minecraft服务器


确保你根据已经完成了上面的下载步骤,然后开始接下来的操作:

  • 创建一个文件夹,将minecraft_server.jar放入其中。比如,在桌面上创建一个名为“minecraft_server”的文件夹,然后把.jar文件拖进去。
  • 打开“文本编辑”,设定格式为纯文本(格式 > 制作纯文本),然后复制下面的内容到编辑器中:

    #!/bin/bash
    cd "$(dirname "$0")"
    exec java -Xmx1G -Xms1G -jar minecraft_server.jar
  • 保存文件到.jar所在的目录并重命名为"start.command"。
  • 这个就可以给服务器端足够的内存来运行。占用内存总数可以通过改变文本中的1G来实现,比如把它改成2G,那么你的服务器就会用2G的内存来运行。
  • 打开“终端”(在/应用程序/实用工具/终端)。
  • 给予该可执行文件运行权限给用户,组和公共。来完成这部,在终端中输入chmod a+x,别忘了后面有个空格;然后拖start.command文件到终端窗口中,然后按下回车键。 (这就给了该脚本运行权限。)
  • 请记得在开启start前请更改eula.txt里头的 false改成true。
  • 双击start.command来运行服务器端程序。
  • 一个新的终端窗口会打开,但你第一次运行该脚本时,会出现很多错误信息,提示你一些文件(files/directories)无法找到。这是正常的。现在就可以开始配置服务器了。


Linux

1.安装Java

大多数 Linux 发行版都兼容 sysvinit 的 /etc/init.d 控制方式。


首先sudo su切换为 root,cd /etc/init.d进入目录,然后cp skeleton mcserver复制模板文件,再用文本编辑器按内有的注释编辑即可。

init.d 脚本片段中主要要修改的是头部的 INIT INFO。

### BEGIN INIT INFO
# Provides: mcserver
# Required-Start:    $network $local_fs $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: MC Server
# Description:       A minecraft server
#                    
### END INIT INFO
# …
DESC='A mc 1.7.2 server'
NAME=mcserver
DAEMON= # 此处添加启动脚本路径
DAEMON_ARGS # 启动脚本参数放到这里
# …
# 用户身份和用户组设置(不应当使用危险的root用户,建议换成一般用户的名称和所在用户组)
: ${USER:="root"}
: ${GROUP:="root"}

接下来的操作各发行版稍有不同,可以参阅 update-rc.d 等命令的使用方式。


以root用户身份SSH进入主机后,输入以下命令:
apt-cache search openjdk
这将列出可以安装Java的可用OpenJDK软件包。在此示例中,我们将选择openjdk-7-jdk,它是OpenJDK 7开发套件。

更新远程存储库中可用软件包的列表:
apt-get update

然后安装选定的软件包:
apt-get install openjdk-7-jdk

当提示您授权安装所需的存储空间时,请按“ Y”。完成后,验证Java是否已成功安装:
java -version

您会看到刚刚安装的Java版本。

2.为您的Minecraft服务器文件创建一个位置
在主机上创建一个目录,该目录将保存Minecraft服务器文件,然后切换到该目录。
mkdir minecraft
cd minecraft

3.下载Minecraft服务器文件。
在Minecraft目录中,运行wget命令下载Minecraft服务器文件:

wget -O minecraft_server.jar https://s3.amazonaws.com/Minecraft.Download/versions/X.X.X/minecraft_server.X.X.X.jar
((X.X.X为服务器端版本号,根据需要修改)

接下来,我们需要安装并运行
yum install screen
screen

4.启动您的Minecraft服务器。
java -Xmx512M -Xms512M -jar minecraft_server.jar nogui

(提示:您可以更改-Xmx和-Xms设置来调整为Minecraft服务器分配的内存。例如,您可以输入-Xmx1G -Xmx1G使其达到1GB RAM。可用内存取决于您的设备配置)

为确保一切正常运行,请使用以下命令停止Minecraft服务器:
stop
然后编辑“ server.properties”文件并设置:
enable-query=true
保存“server.properties”文件,然后重新启动Minecraft服务器。


配置Minecraft服务器

1.通过修改server.properties文件来配置Minecraft服务器,这个文件的格式解释在这里。确保你在编辑的时候使用的文本编辑器不会添加各种格式(比如斜体),额外的配置并不是很有必要,因为大多数的服务器使用默认配置就能很好的运行。
2.将您的用户名加入到 admin.txt 和/或 ops.txt 文件中。

  • Ops.txt 和admin.txt 决定了谁可以执行 服务器命令. 换句话说, 管理员(“op”) 权限允许你控制游戏的某些方面 (例如,传送玩家)。
  • Op 权限也可以通过服务器图形界面给予: 输入“op ”后 就会自动被添加到 ops.txt 中。

连接到Minecraft服务器

  • 如果你是在作为服务端的电脑上玩Minecraft,先选择“多人游戏”,输入“localhost”或者是“127.0.0.1”,而不是你的IP地址。
  • 这是不推荐的。除非你有一个性能良好,内存大于4GB的电脑。(50%给服务器,10%给客户端,其余的给系统)
  • 在你的局域网内的玩家可以通过内网ip来连接到你的服务器(因为玩家在局域网内,所以你不需要接口转发)。
  • 从Internet链接的玩家(也就是不在你的局域网中的玩家)必须使用你的外部ip来链接. 你必须为这些从外部链接的玩家使用端口转发。
  • (部分支持IPv6的客户端和服务端,客户端可以直接通过IPv6地址访问服务端。)

IP 地址注释

  • 除非你为正在做服务器的电脑设定一个静态ip,否则的话,内部ip地址是有可能改变的。这会影响到接口转发规则并使得它们失效。不同的路由器有不同的设置静态ip的方法。你可以从你的设备的说明书或者在线文档中获得更多的帮助。
  • 如果你有连接到你外部IP的玩家,应该明白如果你没有从你的Internet服务商处获得一个静态IP,那么你的外部IP是会变化的。你可以使用类似MyWANIP的工具来定时的检查你的外部IP。此外,你可以尝试使用DNS服务,这会允许你使用一个固定的域名,而不是动态的IP地址。不管你的外部IP地址是否改变,这个域名会指向你当前的外部IP地址(即,当你的外部IP改变时,DNS会自动更新)。

服务端网络设置

  • 服务器需要开启防火墙相应端口(默认为25565)才能使服务端正常工作。
  • 确认网络设置正确并使用在线工具如You Get Signal确定服务端在国际互联网的IP。测试端口应与服务端设置的端口一致(默认为25565), 测试时请启动服务端。
    服务器有可能会遭到恶意攻击,在服务器投入使用以前,请务必做好物理保护及数据备份工作,否则有可能会带来经济及精神上的损失。

针对接入NAT的家庭网络的服务器

  • 如果家庭路由器的服务器接入NAT网络,那么他在启动后外网的玩家是无法连接的。
  • 购买路由器,进入路由器配置页面(一般是192.168.1.1:80或192.168.0.1:80)查看WAN IP记录下来,使用搜索引擎搜索IP,将该IP与之前的WAN IP对比,若相同则为一般有IP,若不同则为接入NAT的家庭网络。
    这种情况,你可以使用内网穿透类应用,如花生壳,或协商运营商请求许可获取公网IP的资格。

针对使用家庭路由器的服务器

  • 如果服务器位于一个家庭路由器的局域网内,则需要在路由器设置相应的端口映射法则。
  • 关于端口映射的具体设置,可以访问 portforward.com。从网站给出的列表中选择你使用的路由器型号,网站将给出设置端口映射的相应步骤(有广告,可跳过)。调制解调器、路由器等网络器材附带的说明文件也可能包括了设置端口映射的相关信息。

    • 部分路由器提供了DMZ选项,与端口映射有同样效果,但遭到攻击的可能性相比使用端口映射更大(DMZ主机暴露在外网,不受路由器安全设置保护)。新手使用请咨询熟悉的业内人士。
    • 一般来说可以首先尝试使用 UPnP 进行端口映射,大部分路由器都支持并默认开启该功能。可以使用诸如 miniupnpc 软件包的 upnpc 命令一类的程序进行映射。

针对使用动态IP的服务器

  • 由于大部分家庭用户(部分服务器代理的服务器也没有固定IP)使用ADSL或PPPoE等方式接入互联网,此种情况下的服务器无论通过路由器与否,IP地址是不定的。解决此问题可以使用动态DNS服务,届时玩家只需要知道服务器使用的域名即可连接到服务器。
  • 请联系网络供应商(家庭用户)或服务器代理商确定正在使用的网络接入方式。
  • 使用动态DNS需要进行以下准备工作:

    • 获得一个域名,可以从dot.tkOray等网站获得免费域名,也可以支付一定费用注册;
    • 选择一个动态DNS服务商,注册账号并按服务商提供的操作方法设置服务器及域名。

    使用动态DNS需要一定网络理论及实践的基础,新手在做出决定前,请先咨询熟悉的业内人士。

  • 设置动态DNS请按照服务商的指示对服务器、路由器(仅限使用路由器的用户)进行设置。
  • 路由器设置需要进入管理页面进行操作,新手请参照说明文档或在业内人士的指导下进行。


使用虚拟专用网络创建服务器

注意:使用虚拟专用网络可能对连接至Mojang服务器,Minecraft服务器,或者您的互联网造成影响。

在您和您的朋友之间设置服务器的另一种方法是设置虚拟专用网络。由于希望连接到服务器的所有用户必须下载外部软件以加入或创建服务器,因此该方法可能会被认为是不推荐而且不方便的。

另外一种可行的办法是端口转发。可用于建立虚拟专用网络的免费简单程序是Hamachi和Radmin虚拟专用网络。Hamachi免费版只允许5个玩家连接。

配置Hamachi


1.在希望加入服务器的每台计算机上安装Hamachi,包括主机。下载地址:
Windows / Mac
Linux(32位与64位.deb.rpm包均可找到。欲在 Gentoo 上安装,使用net-misc/logmein-hamachi
2.在主机上创建新的Hamachi网络。
3.主机安装并配置Minecraft服务器软件(server.jar):server.properties中的服务器IP字段保留为空(默认情况下)。
4.主机将新创建的Hamachi网络凭证传递给每个玩家。
5.玩家连接到主机的Hamachi网络。
6.当所有机器都连接在同一个Hamachi网络中,主机将其机器的Hamachi IPv4地址提供给玩家。
7.每个玩家使用主机的IPv4地址输入到“直接连接”框里。

  • 请注意,Hamachi占用了已经被IANA分配的IP块(25.0.0.0/8)。 所以,Hamachi有可能会和互联网冲突。

配置Radmin虚拟专用网络


其配置方法和Hamachi的很相像。
1.在这里下载Radmin虚拟专用网络。
2.创建网络:在本地计算机上安装Radmin虚拟专用网络后,按“创建网络”按钮。 设置网络名称和密码,然后按“创建”按钮。
3.现在新网络将出现在主窗口。给朋友发送连接信息,然后运行Minecraft。
4.连接:Radmin程序启动后按“加入网络” - >在对话框中按输入网络名称和从主机网络的密码 - >“加入” - >新网络及其节点将显示在主窗口中。 - > 在Minecraft中连接到主机。(如同配置Hamachi的第七步)

  • 如果Radmin虚拟专用网络上的连接已经建立,但你没有看到游戏中的其他玩家,则需要调整防火墙,或者直接关闭防火墙。


MCSManager(推荐)

Linux

Centos7使用MCSManager搭建我的世界(MineCraft)服务器,forge-1.12.2服务端可装mod,带网页管理面板。

准备

首先,需要一台服务器,购买服务器后选择安装Centos7系统,服务器2G内存可以同时在线10人以内。然后用ssh登陆服务器。
更换ECS实例操作系统:https://help.aliyun.com/document_detail/50134.html

安装JAVA环境
# 下载JDK安装包,也可以自己去官网下载
wget https://img.zeruns.tech/down/jdk-8u261-linux-x64.tar.gz


# 创建安装目录
mkdir /usr/local/java/

# 解压当前目录下的JDK压缩文件
tar -zxvf jdk-8u261-linux-x64.tar.gz -C /usr/local/java/

# 设置环境变量(安装 VIM 输入 yum -y install vim)
vim /etc/profile
# 在末尾添加对应变量
滚动光标到末尾 按下 键盘上的 INS 键,切换至插入模式
输入这几串内容后 按ESC退出插入模式 
然后按下 Shift + ; 输入 wq 并回车保存

export JAVA_HOME=/usr/local/java/jdk1.8.0_261
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

# 应用修改后的环境变量
source /etc/profile

# 软链接程序到环境变量中
ln -s /usr/local/java/jdk1.8.0_261/bin/java /usr/bin/java

# 测试是否安装正常,显示 java version "1.8.0_261" 则为正常
java -version
端口开放

注意:端口开放可能会带来安全风险。需谨慎操作

面板需要23333(主功能) 端口与20010 - 20200(FTP功能)端口区间。

游戏服务器默认端口是25565

如果你使用阿里云腾讯云或者其他服务商,请进入控制台到防火墙安全组策略,放行以上端口。

如果依然无法访问,请关闭系统自带防火墙:

# 关闭防火墙,依次执行
systemctl stop firewalld
systemctl disable firewalld
service iptables stop
安装面板
# 切换到用户目录
cd ~
# 下载淘宝镜像源的node运行环境
wget https://npm.taobao.org/mirrors/node/v12.16.1/node-v12.16.1-linux-x64.tar.gz
# 解压
tar -zxvf node-v12.16.1-linux-x64.tar.gz
# 链接程序到环境变量中
ln -s ~/node-v12.16.1-linux-x64/bin/node /usr/bin/node
ln -s ~/node-v12.16.1-linux-x64/bin/npm /usr/bin/npm
# 测试是否安装正常,显示 v12.16.1 则为正常
node -v
# 克隆仓库(若没有 git,请安装它 yum install git)
git clone https://gitee.com/Suwingser/MCSManager.git
# 进入目录
cd MCSManager/
# 安装依赖库
npm install
# 启动面板
npm start 
# 或 node app.js

安装完成后,访问:http://您的IP:23333/ 即可进入面板。

  • 默认账号:#master
  • 默认密码: 123456

    测试可以正常登陆后,返回ssh终端按Ctrl+C来结束面板,接下来设置让面板保持后台运行
设置后台运行和开机自启动

创建并编辑文件vim /lib/systemd/system/mcsm.service,输入以下内容

按下 键盘上的I键,切换至插入模式
输入这几串内容后(可右键直接粘贴) 按ESC退出插入模式
然后按下Shift + ;输入 wq 并回车保存

[Unit]
Description=MCSManager

[Service]
ExecStart=/usr/bin/node /root/MCSManager/app.js
Restart=always
Environment=PATH=/usr/bin:/usr/local/bin:/usr/local/node/bin
Environment=NODE_ENV=production
WorkingDirectory=/root/MCSManager/

[Install]
WantedBy=multi-user.target

创建完成后,即可使用 systemctl 管理面板启动与关闭。

开启:systemctl start mcsm
关闭: systemctl stop mcsm
状态: systemctl status mcsm
创建MC服务端

这是打包好的forge-1.12.2服务端,里面包含了运行环境,无需再手动安装。



创建MC服务端

接着登陆管理面板,点击创建新实例应用,然后点击快速创建

服务端文件名输入:forge-1.12.2-14.23.5.2846-universal.jar,服务器名字自己设置,其他默认即可,然后点击创建服务器

点击管理,再点击文件在线管理


点击上传文件将刚刚下载的forge服务端的压缩包上传,然后点击解压ZIP

点击刚刚解压出来的目录,进入目录

然后全选文件,点复制,再点击上级目录,然后点粘贴


接着回到服务器管理那里,点击模拟型终端,点击开启,然后出来类似下方图片中的信息就表示服务器开启成功了,可以进服游戏了。

默认端口是25565,若需要修改可以打开server.properties配置文件。

在游戏中添加服务器,直接输入你的IP即可,如果修改了端口就需要加上端口。

Windows

使用Windows自带的远程桌面连接软件登陆服务器

下载MCSManager,将下载的压缩包解压出来,然后双击打开运行



访问:http://您的IP:23333/ 即可进入面板。

  • 默认账号:#master
  • 默认密码: 123456

下载MC服务端:

https://s3.amazonaws.com/Minecraft.Download/versions/X.X.X/minecraft_server.X.X.X.jar
(X.X.X为服务器端版本号,根据需要修改)

然后点击创建新实例,点击引导创建。

实例名称可以根据需要进行修改,其他保持默认,点击下一步

上传minecraft服务端,然后继续下一步

根据实际情况进行修改,通常保持默认即可,点击确认无误,立刻创建

然后点击参数设置,将java目录改成\java\bin\java.exe

点击终端,然后点击开启。会出现错误提示“You need to agree to the EULA in order to run the server. Go to eula.txt for more info.”

接着到服务器目录\MCSManager_8.6.9_Win_x86\server\server_core\创建的实例名称,找到eula.txt文件,用记事本打开,将false改为true,然后保存。



接着,再次返回终端,点击开启


如果是非正版玩家,需要在server.properties配置文件中,将正版验证关闭。优先建议购买正版账号进行游戏!
online-mode=false

然后就可以进服游戏了,默认端口是25565,在游戏中添加服务器,直接输入你的IP即可,如果修改了端口就需要加上端口。


性能优化

对于各类JDK(Oracle或Open)用户,使用JDK的一些参数进行优化是可行的。以下参数在一定程度上优化了GC内存操作且利用了一些CPU命令集。

java -server -XX:-UseVMInterruptibleIO -XX:NewRatio=3 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=4 -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:+CMSParallelRemarkEnabled -XX:MaxGCPauseMillis=50 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -XX:+DisableExplicitGC -Xnoclassgc -oss4M -ss4M -XX:CMSInitiatingOccupancyFraction=60 -XX:SoftRefLRUPolicyMSPerMB=2048 -Xms1G -Xmx(视情况) -jar <jar文件> nogui

以上参数的部分设置可以自行修改。


常见问题

我连接时服务器返回这样的信息:The server responded with an invalid server key

                       Connection lost 
        The server responded with an invalid server key

解决方法: 稍后再重新连接,如果重试多遍问题依旧,将服务器升级到至少1.0.1(1.0.1也称1.1)以上。

我在Windows系统下双击了服务器启动的批处理文件,命令提示符窗口只闪现一下而服务器没有启动,应该怎么办?


解决方法:可能是javaw.exe的路径没有设置对。把批处理文件路径里的/jre7/换成/jre6/,确定运行环境在/Program Files/里还是在/Program Files (x86)/里,或者根据自己电脑的情况对路径进行相应调整。多说一句,运行服务端需要JRE运行环境,而不是浏览器里的java插件。

也可能是你没有修改你的eula.txt文件。在双击你的minecraft_sever.jar文件后,你会看到文件夹内有个eula.txt文件。用记事本打开这个文件

(https://account.mojang.com/documents/minecraft_eula).
 Datum Uhrzeit
 eula=false

将最后一行修改为

eula=true

然后保存并退出。重新双击服务器启动的批处理文件应该就可以正常启动了。

提示“Failed to Bind to Port”错误


解决方法: 可能是路由器端口映射设置有误,确认路由器为Minecraft开放的端口(默认为25565)正确地映射到你的服务器上。如果你的服务器是直接接入网络的且网络服务商不开放你所设置的端口,将server.properties文件中的server-port=25565中的“25565”改为其他可用端口号。

最好避免使用1024以下的端口,这些是在IANA(互联网号码分配局)注册的,为重要服务预留的端口;另外因为安全原因,一些网络服务商还会屏蔽3306(MySQL服务器默认使用)端口等。除此之外,49152-65535段端口属于“动态端口”范围,没有被注册占用。

此类问题亦有可能是操作者疏忽导致服务端未关闭就再次开启了服务端,典型的错误操作有:Windows中直接双击了核心Jar,Linux中使用守护进程运行Java等,导致服务端在后台运行而操作者为注意的情况。遇到此类问题可先检查占用该端口的进程,获取控制或将其结束,再启动服务端。

我在Solaris/OpenSolaris下运行服务端时遇到了以下错误信息

java.io.InterruptedIOException: Operation interrupted 
at java.net.SocketInputStream.socketRead0(Native Method) 
at java.net.SocketInputStream.read(SocketInputStream.jav解决方法:129) 
at java.net.SocketInputStream.read(SocketInputStream.jav解决方法:182) 
at java.io.FilterInputStream.read(FilterInputStream.jav解决方法:66) 
at gq.a(SourceFile:131) 
at ji.g(SourceFile:197) 
at ji.c(SourceFile:17) 
at oq.run(SourceFile:84) 
2011-05-31 16:57:26 [INFO] /:44673 lost connection

解决方法:只有Solaris系统在线程中断连接时会发生这种异常,这种异常可以通过改变启动命令来避免:

java -Xmx1024M -Xms32M -XX:-UseVMInterruptibleIO -XX:+UseConcMarkSweepGC \
 -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts\
 -jar minecraft.jar nogui

这样的命令让Java使用一种可中断的IO栈来防止异常发生。

我没法放置/破坏方块


解决方法:联系服主关闭保护出生点的功能或离出生点远一些,除非你是服务器的Op,否则在该功能开启时你不能在出生点附近放置或破坏方块。

连接Minecraft服务器后,为什么我的皮肤是默认的Steve


解决方法:需要将服务器根目录下的“server.properties”文件中的正版验证启用
online-mode=true

最后修改:2023 年 05 月 28 日
如果您本站的内容有帮助到您,并且在您条件允许的前提下,可以打赏支持本站,赞赏将用于服务器与网站维护费用,感谢您的支持!