<本站文本内容除另有声明外,转载时均必须注明出处。(详情…中文Minecraft Wiki是完全公开的。请勇于扩充与修正内容!Minecraft中文Wiki微博正在更新!或许有兴趣去看看想与其他用户进行编辑上的沟通?社区专页正是为此创建的。翻译或创建页面之前,不妨看看译名标准化Wiki条例页面。需要管理员的协助?在管理员告示板留言也许可以帮到您。>

教程/架设服务器

来自Minecraft Wiki
跳转至: 导航搜索
Clock.png
此条目需要更新。

条目中某些信息已经不符合当前版本情况。

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

在这个教程中,我们将通过手把手的方式,一步步地帮助您建立属于你自己的Minecraft服务器(Java版)。在该教程中,我们使用Mojang发布的供玩家免费下载的服务器端程序,该程序在大部分操作系统(比如Windows,Mac OS以及Linux等)上都可以运行。

首先,你可以根据你所使用的操作系统,前往官方的下载页面(或繁体中文下载页面),下载所需的Minecraft服务器端程序。我们建议你新建一个文件夹用于保存服务器端文件。(下载后请确认下载的服务器端文件是否是 server.jar 或者 server.exe,因为有时你的浏览器会将可执行文件重命名。)

注意:网上也有许多Minecraft的第三方服务器端程序,不过它们都是不受Mojang技术支持的。——这类服务器可能有一些额外功能,但在生物AI性能上并不如官服。此类服务器的搭建建议另外寻找文档。

注意事项[编辑 | 编辑源代码]

鉴于您正在一步步地开启您自己的服务器,您应该要注意所有可能出现的危险性。虽然我们并不能阻止其他人运行服务器而导致产生各种针对系统的危害,但我们至少可以呼吁各位:如果您不知道您自己在做什么,请不要根据下面的教程架设服务器。运行下面的所有教程(应该)不会导致您的系统出错,但是与此同时我们并不知道您的系统配置与软件运行情况。我们并不能保证您的系统不会出现问题。为了确保您根据下面的教程架设服务器而不会出现问题,我们强烈推荐您至少知道以下的内容:

  • 基本的网络搭建术语(IP、DHCP、网络端口等)
  • 您的系统配置
  • 您的网络构成环境
  • (如果您有路由器或交换机等)您的路由器配置

当然,如果您并不希望自己搭建服务器,我们欢迎您加入其他服务器,其他服务器列表可以在这里找到。

快速配置[编辑 | 编辑源代码]

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

  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/*nix 建议chmod +x <文件名> && sh <文件名>
  6. 启动成功,第一次启动会进行地图生成。有关配置按server.properties文件的定义操作。

Windows操作指导[编辑 | 编辑源代码]

需求:确认你的操作系统安装了最新版本的Java环境[编辑 | 编辑源代码]

  1. 确保你安装了Java 8。除非Oracle公司官方发布,否则不要安装Java 9,除非你想做软件调试。为了检查当前的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并回车,验证。

启动Minecraft服务器端程序 (.exe 版)[编辑 | 编辑源代码]

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

增加Minecraft服务器端程序所占用的内存[编辑 | 编辑源代码]

如果你想让你的服务器端程序占用更多的内存,你就需要创建一个批处理文件。没关系,这比听起来容易。

  1. 确认下你的Windows系统是32位的还是64位的,可以在控制面板里面查看。并且确认下你的Java版本是32位的还是64位的。
  2. 根据你的系统以及Java版本……
    1. 如果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上要"更复杂",原因是官方并没提供简单的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

您需要观察的是freeMem的交集处在例子中是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服务器[编辑 | 编辑源代码]

  1. 通过修改server.properties文件来配置Minecraft服务器, 这个文件的格式解释在这里。确保你在编辑的时候使用的文本编辑器不会添加各种格式(比如斜体),额外的配置并不是很有必要,因为大多数的服务器使用默认配置就能很好的运行。
  2. 将您的用户名加入到 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。从网站给出的列表中选择你使用的路由器型号,网站将给出设置端口映射的相应步骤(有广告,可跳过)。调制解调器、路由器等网络器材附带的说明文件也可能包括了设置端口映射的相关信息。
    • 部分路由器提供了DMZ选项,与端口映射有同样效果,但遭到攻击的可能性相比使用端口映射更大(DMZ主机暴露在外网,不受路由器安全设置保护)。新手使用请咨询熟悉的业内人士
    • 一般来说可以首先尝试使用 UPnP 进行端口映射,大部分路由器都支持并默认开启该功能。可以使用诸如 miniupnpc 软件包的 upnpc 命令一类的程序进行映射。

针对使用动态IP的服务器[编辑 | 编辑源代码]

  • 由于大部分家庭用户(部分服务器代理的服务器也没有固定IP)使用ADSL或PPPoE等方式接入互联网,此种情况下的服务器无论通过路由器与否,IP地址是不定的。解决此问题可以使用动态DNS服务,届时玩家只需要知道服务器使用的域名即可连接到服务器。
  • 请联系网络供应商(家庭用户)或服务器代理商确定正在使用的网络接入方式。
  • 使用动态DNS需要进行以下准备工作:
    • 获得一个域名,可以从dot.tkOray等网站获得免费域名,也可以支付一定费用注册;
    • 选择一个动态DNS服务商,注册账号并按服务商提供的操作方法设置服务器及域名,维基百科有部分动态DNS的服务商列表

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

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

使用虚拟专用网络创建服务器[编辑 | 编辑源代码]

该段落的内容不受Mojang StudiosMinecraft WikiMinecraft论坛的官方支持

注意

使用虚拟专用网络可以导致Mojang服务器,其他Minecraft服务器,或者您对的互联网造成影响。

在您和您的朋友之间设置服务器的另一种方法是设置虚拟专用网络。由于希望连接到服务器的所有用户必须下载外部软件以加入或创建服务器,因此该方法可能会被认为是不推荐的,而且给许多用户带来不便。另外一种可行的办法是接口转发。可用于建立虚拟专用网络的免费简单程序是Hamachi和Radmin虚拟专用网络。是另外一种开源,且支持大多数操作系统的方案,但是配置困难。Hamachi免费版只允许5个玩家连接。

配置Hamachi[编辑 | 编辑源代码]

  1. 在希望加入服务器的每台计算机上安装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. 连接: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服务器架设教程:

参考链接[编辑 | 编辑源代码]