条目中某些信息已经不符合当前版本情况。
在这个教程中,我们将通过手把手的方式,一步步地帮助您建立属于你自己的Minecraft服务器(Java版)。在该教程中,我们使用Mojang发布的供玩家免费下载的服务器端程序,该程序在大部分操作系统(比如Windows,Mac OS以及Linux等)上都可以运行。
首先,你可以根据你所使用的操作系统,前往官方的下载页面(或繁体中文下载页面),下载所需的Minecraft服务器端程序。我们建议你新建一个文件夹用于保存服务器端文件。(下载后请确认下载的服务器端文件是否是 server.jar 或者 server.exe,因为有时你的浏览器会将可执行文件重命名。)
注意:网上也有许多Minecraft的第三方服务器端程序,不过它们都是不受Mojang技术支持的。——这类服务器可能有一些额外功能,但在诸多游戏特性上可能与原版服务端大不相同,此类服务器的搭建建议另外寻找文档。
注意事项
鉴于您正在一步步地开启您自己的服务器,您应该要注意所有可能出现的危险性。虽然我们并不能阻止其他人运行服务器而导致产生各种针对系统的危害,但我们至少可以呼吁各位:如果您不知道您自己在做什么,请不要根据下面的教程架设服务器。运行下面的所有教程(应该)不会导致您的系统出错,但是与此同时我们并不知道您的系统配置与软件运行情况。我们并不能保证您的系统不会出现问题。为了确保您根据下面的教程架设服务器而不会出现问题,我们强烈推荐您至少知道以下的内容:
- 基本的网络搭建术语(IP、DHCP、网络端口等)
- 您的系统配置
- 您的网络构成环境
- (如果您有路由器或交换机等)您的路由器配置
当然,如果您并不希望自己搭建服务器,我们欢迎您加入其他服务器,其他服务器列表可以在这里找到。
快速配置
该自然段是对本文内容的简要概括。如果您有阅读困难,或者需要对于您的平台的特殊指导,请阅读余下的段落。
- 在终端或命令提示符输入
java -version,检查是否安装了java 且版本至少1.6。 - 若未安装,前往java.com下载,或者是用自带的包管理器搜索安装。您也可以将PATH变量做以下调整,如果您有java程序的话:
- Windows用户在bat文件中在程序运行前进行
set "PATH=<java目录>;%PATH%" - Linux/Mac/Unix用户使用
PATH=<java目录>:$PATH
- Windows用户在bat文件中在程序运行前进行
- 在服务器文件目录下新建一个.bat文件。Mac/Linux用户使用.sh。
- 内容:
java <需要的额外java参数> -Xmx<最大内存> -Xms<最小内存> -jar "<文件名>" <需要的服务器参数,如nogui>不过也可以cd进入服务器文件目录直接这样做,不制作脚本文件。 - 运行脚本文件。Windows直接双击,Linux/Mac/*nix 建议
chmod +x <文件名> && sh <文件名> - 启动成功,第一次启动会进行地图生成。有关配置按server.properties文件的定义操作。
Windows操作指导
需求:确认你的操作系统安装了最新版本的Java环境
- 确保你安装了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"。
- 如果你得到了无效的命令错误提示, "
'Java' 不是内部或外部命令,也不是可运行的程序或批处理文件",那么你的电脑上运行的可能是早期Java版本(比1.6早)或者根本就没有Java环境。- 可以到此处下载最新版本的Java,并选择32位系统或64位系统。
- 在你安装了最新版的Java之后,你可以尝试在命令提示符窗口再次输入
java -version并回车。- 如果你依旧得到错误提示,请尝试以下步骤,将Java添加到你的系统环境变量中去。
- 右键点击「此电脑/计算机」。
- 点「属性」。
- 点「高级系统设置」。
- 点「环境变量」。
- 在「系统变量下」,选中「Path」变量。
- 点编辑,在内容的结尾处加上
;"c:\Program Files\Java\bin"。如果你在64位系统上使用32位Java,则使用;"c:\Program Files (x86)\Java\bin"。 - 重启电脑。
- 再次打开命令提示符输入
java -version并回车,验证。
启动Minecraft服务器端程序 (.exe 版)
- 双击[minecraft_server]文件。服务器程序将会以默认配置启动。
- 第一次启动时,会显示一些「file not found」(文件无法找到)的错误提示。这是正常的,这些文件正在创建当中。
- 第一次启动之后,我们可以开始配置服务器文件了。首先将打开的服务器程序关闭:在命令窗口里输入
stop。之后我们开始按照下面的指导进行服务器配置。
增加Minecraft服务器端程序所占用的内存
如果你想让你的服务器端程序占用更多的内存,你就需要创建一个批处理文件。没关系,这比听起来容易。
- 确认下你的Windows系统是32位的还是64位的,可以在控制面板里面查看。并且确认下你的Java版本是32位的还是64位的。
- 根据你的系统以及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"
- 如果你因为一些奇怪的原因,正在64位系统上运行32位的Java,升级你的Java。并且,如果你把Java装载其他目录里了,或者你重命名了Minecaft服务器程序文件,见下:
- 如果你在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系统是32位的或者是64位且安装的是64位的Java,复制下面的内容到你的文本文件中(只占一行。如果使用Java 6,请根据命令中的目录):
如果Windows没有识别出文件类型(你可能会被提示选择用什么程序来打开),这也许是因为Minecraft_Server缺少了.exe文件名后缀。我们可以通过重命名bedrock_server为bedrock_server.exe来修正这个问题。如果问题解决,程序的图标就会变成Minecraft的图标(方块)。 如果还是没解决,你需要打开命令提示符窗口,点「运行」,输入cmd回车。然后你需要将命令提示符窗口当前地址定位到你创建的文件夹地址去。
按照以下步骤来:
- 确保你在正确的盘符(一般是C盘)。输入
C:然后回车来进入C盘。 - 现在你需要打开你的目录。输入
cd \"folder name"然后回车,要包含引号部分。 - 确认你在正确的目录下了,输入
dir然后回车你会看到你当前所在目录下的所有文件和目录。如果正确的话,你应该可以看到bedrock_server在其中。 - 重命名Minecraft。输入
rename bedrock_server bedrock_server.exe然后回车,这么做会将.exe后缀添加到文件名上,使文件变成可执行文件。之后就应该可以正确的打开运行了。
你也可以在“查看”选项卡里勾选“文件扩展名”,然后给它直接加上.exe后缀。
启动Minecraft服务器端程序 (.jar 版)
- 如果你用的是.jar版的服务器端程序,你需要在环境变量中添加正确的Java地址。要完成这一操作,请回到前面的「确认你的操作系统安装了最新版本的Java环境」指导章节。
- 要在Windows上运行jar版本的Minecraft服务器端程序,(若不指定服务器可用的記憶體量,此步驟可省略,直接雙擊server.jar來執行)先用「记事本」新建一个文本文件,然后粘帖以下内容进去:
java -Xms512M -Xmx1024M -jar server.jar- 保存为 startserver.bat,放在与server.jar相同的目录下。 .bat文件是批处理文件。
- 双击 startserver.bat,服务器就开始运行了。
在不改动环境变量的情况下,启动jar格式服务器端程序
要在不改动你系统环境变量的情况下启动jar格式服务器端程序,你需要在你的start.bat批处理文件中添加java路径。因为不需要改动系统变量,所以这个方法比之前的要方便并且安全。
- 首先用「记事本」打开你之前建立的批处理文件start.bat(或者别的什么名字)
- 在首行,加入
@echo off
,这行命令使得「命令提示符」窗口隐藏,不会在你启动批处理文件时跳出来。 - 第二行,确保你的系统上可以找到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)"。 - 最后,确保最后一行是服务器启动命令:
java -Xms512M -Xmx1024M -jar server.jar - 如果你不想使用图形界面(GUI),只需要在这行结尾加上
nogui。也就是:
java -Xms512M -Xmx1024M -jar server.jar nogui。
macOS设置指南
在macOS上设置Minecraft服务器,相比Windows上要"更复杂",原因是官方并没提供简单的Mac OSX支持的应用程序。我们在此提供了一个完整的视频教程。须知服务器端在OSX 10.4 Tiger 上无法正确运行并且可能使电脑崩溃。
下载
确保你有最新的服务器端应用软件。服务器端软件可以到这里下载。在页面上的“Multiple Server”下面找到“Minecraft_Server.X.X.X.jar”(X.X.X为服务器端版本号。)并下载。
安装Java环境
Mac OS X系统本身已经包含了Java 1.6,如果没有Java,可以运行Minecraft程序,就会提示是否安装Java 1.6。 (注意,运行服务器不需要使用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)无法找到。这是正常的。现在你可以开始配置你的服务器了。
作为后台进程运行
你也可以让服务器程序在系统开机后自动后台运行。
OS X
OS X 的 launchd-launchctl 机制负责在系统启动时打开服务。
教程/创建Mac OS X驱动程序(英文)
Linux
大多数 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 等命令的使用方式。
Windows
将启动 bat 脚本复制一份到启动文件夹即可。
在Centos上搭建Minecraft服务器
安装Java
首先,你需要验证你是否拥有Java
可以通过执行 java -version
如果输出了Java的版本号,例如
openjdk version "1.8.0_151" OpenJDK Runtime Environment (build 1.8.0_151-b12) OpenJDK 64-Bit Server VM (build 25.151-b12, mixed mode)
则说明您不需要在安装Java了,可直接跳转到下一步
如果没有如上的反馈,您可以执行以下命令去安装
sudo yum install java-1.8.0-openjdk
下载Minecraft服务端文件
首先,您需要确定您的版本号,您可以选择例如1.12.2, 1.9.4等版本
当您确定您的版本号之后您就可以开始下载了,您可以根据您选的版本号来补全链接
sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/版本号/minecraft_server.版本号.jar
例如,如果您选择的版本是1.12,那么下载链接应该是这样的
sudo wget https://s3.amazonaws.com/Minecraft.Download/versions/1.12/minecraft_server.1.12.jar
如果当执行的时后出现了错误,您可以尝试使用
sudo yum install wget
来安装wget服务
启动Minecraft
首先,您可以通过
free -h
来查看您现在有多少可用内存
例如
total used free shared buff/cache available Mem: 991M 153M 89M 9.8M 749M 623M Swap: 0B 0B 0B
您需要观察的是free和Mem的交集处在例子中是89M
在运行Minecraft服务端文件之前,您可以将Minecraft服务端放在单独的文件夹中,因为运行文件后会产生很多其他的文件。
然后,您就可以通过以下命令运行Minecraft服务端了
sudo java -Xms[初始启动分配内存] -Xmx[最大分配内存] -jar [jar包所在路径]/minecraft_server.[版本号].jar nogui
举个例子,您可以把初始内存设为120mb,最大内存设为160mb,Minecraft服务器的位置为/root/mc/minecraft_server.1.12.jar
那么您应该执行
sudo java -Xms120m -Xmx160m -jar /root/mc/minecraft_server.1.12.jar nogui
然后服务端应该就开始运作了
常见问题
如果在第一次启动时出现了EULA协议同意的错误,您可以找到您的jar文件存放的目录下的eula.txt
您可以选择您喜欢的文本编辑器来将其中的eula=false改为eula=true
这里我们将使用vim进行示范
首先,进入所在的目录后使用
vi eula.txt
按“i”键进入编辑模式,找到这一行
eula=false
将false改成true即可
然后,您可以按esc然后输入:wq来退出
如果您想让使用盗版Minecraft的朋友加入到服务器的话,您可以在server.propertices 中将online-mode:true改为online-mode:false
更多配置
该服务器更多设置文件保存在Minecraft服务端下载目录中的
server.propertices
中
您可以更改诸如模式,种子等设置。
做一个启动脚本
您可以依次执行下面命令来自制一个启动脚本
为Minecraft设置用户和组,使其不会以root用户身份运行
sudo adduser --system --home /srv/minecraft-server minecraft sudo groupadd --system minecraft sudo adduser minecraft.minecraft
将您的服务器安装移交给新用户,例如,在/srv/minecraft-server中
sudo chown -R minecraft.minecraft /srv/minecraft-server
touch sudo nano /etc/init/minecraft-server.conf #注意!不是/etc/init.d echo "start on runlevel [2345] stop on runlevel [^2345] console log chdir YOUR_INSTALLATION_DIRECTORY setuid minecraft setgid minecraft respawn respawn limit 20 5 exec /usr/bin/java -Xms最小内存 -Xmx最大内存 -jar server.jar nogui" > /etc/init/minecraft-server.conf
您需要更改最小内存和最大内存来使脚本运作
脚本用法
启动服务器
sudo start minecraft-server
关闭服务器
sudo stop minecraft-server
如果出现问题
你可以通过执行
sudo tail /var/log/upstart/minecraft-server.log
来查看
配置Minecraft服务器
- 通过修改server.properties文件来配置Minecraft服务器, 这个文件的格式解释在这里。确保你在编辑的时候使用的文本编辑器不会添加各种格式(比如斜体),额外的配置并不是很有必要,因为大多数的服务器使用默认配置就能很好的运行。
- 将您的用户名加入到 admin.txt 和/或 ops.txt 文件中。
- Ops.txt 和admin.txt 决定了谁可以执行 服务器命令. 换句话说, 管理员(“op”) 权限允许你控制游戏的某些方面 (例如,传送玩家)。
- Op 权限也可以通过服务器图形界面给予: 输入“op <username>”后 <username> 就会自动被添加到 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。从网站给出的列表中选择你使用的路由器型号,网站将给出设置端口映射的相应步骤(有广告,可跳过)。调制解调器、路由器等网络器材附带的说明文件也可能包括了设置端口映射的相关信息。
针对使用动态IP的服务器
- 由于大部分家庭用户(部分服务器代理的服务器也没有固定IP)使用ADSL或PPPoE等方式接入互联网,此种情况下的服务器无论通过路由器与否,IP地址是不定的。解决此问题可以使用动态DNS服务,届时玩家只需要知道服务器使用的域名即可连接到服务器。
- 请联系网络供应商(家庭用户)或服务器代理商确定正在使用的网络接入方式。
- 使用动态DNS需要进行以下准备工作:
使用动态DNS需要一定网络理论及实践的基础,新手在做出决定前,请先咨询熟悉的业内人士。
- 设置动态DNS请按照服务商的指示对服务器、路由器(仅限使用路由器的用户)进行设置。
- 路由器设置需要进入管理页面进行操作,新手请参照说明文档或在业内人士的指导下进行。
使用虚拟专用网络创建服务器
该段落的内容不代表Mojang Studios或Minecraft Wiki的官方意见。
使用虚拟专用网络可以导致Mojang服务器,其他Minecraft服务器,或者您对的互联网造成影响。
在您和您的朋友之间设置服务器的另一种方法是设置虚拟专用网络。由于希望连接到服务器的所有用户必须下载外部软件以加入或创建服务器,因此该方法可能会被认为是不推荐的,而且给许多用户带来不便。另外一种可行的办法是接口转发。可用于建立虚拟专用网络的免费简单程序是Hamachi和Radmin虚拟专用网络。这是另外一种开源,且支持大多数操作系统的方案,但是配置困难。Hamachi免费版只允许5个玩家连接。
配置Hamachi
- 在希望加入服务器的每台计算机上安装Hamachi,包括主机。下载地址在这里.
- 在主机上创建新的Hamachi网络。
- 主机安装并配置Minecraft服务器软件(server.jar):server.properties中的服务器IP字段保留为空(默认情况下)。
- 主机将新创建的Hamachi网络凭证传递给每个玩家。
- 玩家连接到主机的Hamachi网络。
- 当所有机器都连接在同一个Hamachi网络中,主机将其机器的Hamachi IPv4地址提供给玩家。
- 每个玩家使用主机的IPv4地址输入到“直接连接”框里。
注意
请注意,Hamachi一直使用IANA分配的IP块(25.0.0.0/8)上。 所以,Hamachi有可能会和互联网冲突。
配置Radmin虚拟专用网络
和Hamachi的配置方法很相像。
- 在这里下载Radmin虚拟专用网络。
- 创建网络:在本地计算机上安装Radmin虚拟专用网络后,按“创建网络”按钮。 设置网络名称和密码,然后按“创建”按钮。
- 现在新网络将出现在主窗口。给朋友发送连接信息,然后运行Minecraft。
- 连接:Minecraft启动后按“加入网络” - >在对话框中按输入网络名称和从主机网络的密码 - >“加入” - >新网络及其节点将显示在主窗口中。 - > 在Minecraft中连接到主机。(如同配置Hamachi的第七步)
注意
如果Radmin虚拟专用网络上的连接已经建立,但你没有看到游戏中的其他玩家,则需要调整防火墙,或者直接关闭防火墙。
常见问题
1) 我连接时服务器返回这样的信息:
Connection lost
The server responded with an invalid server key
解决方法: 稍后再重新连接,如果重试多遍问题依旧,将服务器升级到至少1.0.1(1.0.1也称1.1)以上。
2) 我在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
然后保存并退出。重新双击服务器启动的批处理文件应该就可以正常启动了。
3) 提示“Failed to Bind to Port”错误。
解决方法: 可能是路由器端口映射设置有误,确认路由器为Minecraft开放的端口(默认为25565)正确地映射到你的服务器上。如果你的服务器是直接接入网络的且网络服务商不开放你所设置的端口,将 server.properties文件中的server-port=25565中的“25565”改为其他可用端口号。
最好避免使用1024以下的端口,这些是在IANA(互联网号码分配局)注册的,为重要服务预留的端口;另外因为安全原因,一些网络服务商还会屏蔽3306(MySQL服务器默认使用)端口等。除此之外,49152-65535段端口属于“动态端口”范围,没有被注册占用。如果不确定自己想用的端口是否被占用,参阅TCP及UDP端口列表。
此类问题亦有可能是操作者疏忽导致服务端未关闭就再次开启了服务端,典型的错误操作有:Windows中直接双击了核心Jar,Linux中使用守护进程运行Java等,导致服务端在后台运行而操作者为注意的情况。遇到此类问题可先检查占用该端口的进程,获取控制或将其结束,再启动服务端。
4)我在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栈来防止异常发生。
5)我没法放置/破坏方块!!
解决方法: 离出生点远一些,除非你是服务器的Op,否则你不能在出生点附近放置或破坏方块。
性能优化
对于各类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
以上参数的部分设置可以自行修改。
视频教程/替代教程
这里给出了一些其他的Minecraft服务器架设教程:
- Windows
- Mac OS X
- Linux
- 其他
- 一体化教程
参考链接
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||