一、背景:
参加工作已久的我与朋友间的联系少了。以往跟朋友们玩惯的网游早已今非昔比,或人去楼空甚至运营已停。节假日难得空闲下来想和朋友们玩下游戏追忆过往。但是个人感觉war3,dota,StarCraft稍重度些,一玩起来耗时长也累人,其他rpg里自己的账号早已被时代抛弃,和朋友们讨论后找了个稍微轻度的游戏“Minecraft”,过下家家就好。哈哈,长气了些,Ok,let' s go!
 
二、实施部署
(1)个人主要的部署步骤:
1.准备java安装包、服务器和客户端文件和配置java环境。
2.设置服务器配置。
3.启动服务器(内网)。
4.映射外网端口。
 
(2)步骤说明:
1.准备java安装包、服务器和客户端文件和配置java环境。
不管是服务器还是客户端都需要运行在java环境下。本人下载的是Minecraft1.9.4正式版的服务器和客户端。网上推荐使用Java8的环境,本人用java1.7.0~java1.8.2的测试过,目测没有什么问题。顾忌非开发人员,这里还是简单讲讲java环境的部署吧。
jdk下载链接:
下载好jdk的exe包后(本人使用的是windows,其他平台的请自行上百度google下吧:)),双击进行安装,假设安装在某目录A(A为完整路径)。
安装好后,右键“我的电脑”->“属性”->"高级环境配置"->"环境变量",新建一个配置变量(变量名为“JAVA_HOME”,变量值为“A”)。新建另一个配置变量(变量名为“CLASSPATH”,变量值为“%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar”)。然后找到名为Path的配置变量并对其编辑,在其值最后补充上“%JAVA_HOME%\bin;”。最后再命令行工具下输入“java -version”。若能正常输出所安装的jdk版本,就意味着java环境安装完成。
 
2.设置服务器配置。
首先确认MineCraft服务器文件夹是否有服务器启动bat脚本,若没有则添加自行添加一个后缀为bat的文化,代码如下:
@echo OFF
java -Xmx1024M -Xms1024M -jar server.jar
PAUSE
server.jar为服务器jar文件。
再确认MineCraft服务器文件夹里是否有“server.properties”文件,若没有则尝试执行服务器启动脚本看是否会自动生成(通过stop命令关闭服务器)。若已存在则按需修改如下属性:
online-mode:如果是盗版则设置为false,正式版则设置true。貌似官方正式版的服务器配置没有该项。
server-port:该项为服务器端口,最好是四位数,如8887。
servert-ip:该项为服务器地址,直接输入127.0.0.1或在命令行下输入ipconfig进行查看本地ip。
 
3.启动服务器(内网)。
尝试运行服务器启动脚本,若console中出现“help”or“?”字样则表示服务器已正常启动。
接下来是本地测试下服务器是否生效。启动Minecraft客户端。客户端版选择与服务器相应的版本(本人的是1.9.4),验证模式选择离线模式。然后以多人模式登陆。
到服列表窗口下点击“添加服务器”(或“直接连接”),服务器名称可自行命名,服务器地址栏填写“127.0.0.1:8887”后点击完成进行连接。成功登陆则表示服务器已生效。
提示:服务会定时产生日志文件(带Loader和log字样),多了会浪费空间,需自行清理。
 
4.映射外网端口。
端口映射的工具有很多,例如net123,postmapper,花生壳等。本人使用的是花生壳2.8.0版本,
下载安装后,注册个免费用户,它会提供1G每个月的流量。
启动花生壳,右击域名列表->“花生壳管理”->开启“内网映射”->点击“添加映射”。
在“添加映射”窗口中,应用名称可以随意填写。”内网主机“地址填写服务器ip地址。映射类型选”端口映射“,端口则填写服务器监听端口。点击“确定”完成映射添加。
接下来,我们通过telnet来验证端口映射是否生效。切回域名列表页面,右键刚才选中的域名->"域名诊断",上面会显示域名对应的ip地址和端口。同时会显示两个关键信息
“正在测试端口”和“局域网服务器”,两者都显示成功还算映射成功,
前者失败可尝试清理下缓存(命令行cmd下输入ipconfig/flushdns)。
后者失败表示游戏服务器没有成功绑定和监听端口,需要检查服务器是否启动失败了。
接下来,通过telnet命令尝试走外网端口检查。命令行cmd下输入连接命令:
telnet 域名或域名对应的ip地址 域名对应的端口
如telnet 127.0.0.1 8887
若连接失败则原因可能有下:
1)端口占用
2)防火墙没有关闭
3)杀毒软件的保护没有关闭
4)其他原因。
连接成功则意味着外网可访问了,那么事不宜迟,马上启动客户端玩耍吧。
 
参考: