如何建立一个小型的Minecraft服务器?


勿忘初心提问于 2018-11-28 16:09
1 个回答
  • 未来已来2018-11-28 16:12

    基于这个问题,推荐我厂祝建锋同学的一篇文章,这篇文章笔者教大家用最简单的方式创建一个MC服务器,希望对题主有所帮助,以下为文章的部分内容:

    如何搭建

    众所周知,MC是JAVA编写的,无论是客户端还是服务端都直接是个jar包,因此前提条件就是需要有个jre。本人的MC服完全是手动搭建起来的,先跟大家简单讲下手动搭建的步骤。

    1. 创建一个linux容器,ubuntu、debian、centos看你喜欢什么,我用的是debian
    2. 安装jre或jdk
    3. 安装基本的工具,tmux、vim等
    4. 下载Minecraft的服务端文件
    5. 使用tmux将Minecraft服务端文件运行起来
    6. 进行基本的服务器配置

    这里为什么要用tmux呢?因为我们开的是游戏服呀,我们要在不停服的前提下执行一些操作,比如添加op,ban掉某个ip等等,之后要让其继续在后台运行。tmux刚好满足这个需求,当然其他的工具也可以,只不过本人习惯用tmux而已。

    可以看到手动操作还是比较麻烦的,那有更简单的方法嘛?答案是肯定的,网易蜂巢是基于docker的容器云平台,利用docker的特性,我们可以通过Dockerfile制作MC服务器镜像,然后使用该镜像创建一个容器就可以了,闲话不多说,直接上Dockerfile。

    Dockerfile

    # 1FROM hub.c.163.com/nce2/jdk:1.7.0_03
    RUN apt-get install -y wget tmux
    
    # 2RUN mkdir -p /home/minecraftServer/1.8.9WORKDIR /home/minecraftServer/1.8.9
    RUN wget https://git.oschina.net/EchoDemos/MinecraftServer/raw/master/minecraft_server.1.8.9.jar
    # 3RUN echo eula=true > eula.txt
    
    # 4ENTRYPOINT tmux new-session -d -s server 'java -jar minecraft_server.1.8.9.jar' & /usr/sbin/sshd -D
    

    介绍下这个Dockerfile,因为网易云计算基础服务有jdk的镜像,所以直接拿来用作基础镜像,然后装一些基本的工具。第2部分是创建一个目录用作工作目录,并将服务器文件下载到该目录下。第3部分是创建并设置MC服务器需要的文件,下面再具体讲。第4部分表示容器启动时的入口,使用tmux让服务端运行在后台,同时启用ssh登录。因为不确定大家创建容器时使用的规格,所以启动服务器时,并没有指定jvm的参数。

    其中第2步,为了便于演示,我将服务器文件上传到了oschina的git库中。当然这里你可以替换成你自己想要下载的服务器文件地址,如果本地已经有下载好的文件,可以直接上传到容器中。

    下面讲一下MC服务器需要的文件,其实这些文件的名字就很明显的告诉了你它们的作用。


    • 第一个文件是eula.txt,字面意思,最终用户许可协议,你必须同意协议(文件中设置eula=true)才能正常启动服务器。当你没有创建该文件,服务器在第一次运行时,会自动创建eula.txt,同时告诉你必须同意协议才能继续启动。
    • 另外一个很重要的文件是server.properties,这个文件里存放服务器相关的各种参数配置。具体各个参数的意义,大家可以直接去wiki查看。这里只讲一个跟登录相关的参数online-mode=true,该参数表示是否开启线上验证,什么意思呢,当开始线上验证,对每个登录的账号,服务器都会到Minecraft的账号系统里验证该账号是否合法,如果不合法会被拒绝登录。如果你希望在服务器启动时就关闭线上验证,可以在第3部分增加RUN echo online-mode=false > server.properties即可,但是当关闭线上验证时,则任何登录的账号都不会验证,直接登录的,也就是说你只要知道别人的用户名,就可以直接登录别人的账号,因此建议大家开启线上验证。
    • 其他文件,如ip黑名单banned-ips.json、账号黑名单banned-players.json、op列表ops.json等,这里就不详细讲了,有兴趣的同学可以去wiki看下,文件结构都是很简单的。

    开启MC之旅

    使用Dockerfile构建自定义镜像,并用构建好的镜像创建容器,具体方法就不在这里展开了,大家可以参考蜂巢官方的帮助文档 https://c.163.com/wiki/index.php?title=创建自定义镜像 以及 https://c.163.com/wiki/index.php?title=创建容器。

    等容器创建完成后,打开Minecraft客户端,输入刚创建的容器外网ip,开启你的Minecraft之旅吧。

    友情提示:众所周知,Minecraft是很吃内存的,因此还是建议大家使用内存1G以上的规格。

    后记

    本教程只是教大家用最简单的方式创建一个MC服务器,当然利用脚本可以让创建以及启动过程更优雅,定制性更强。例如,利用Dockerfile的环境变量ENV配合脚本,可以生成一个完全定制化的server.properties。关于MC服务器如何配置的知识,后面有机会再跟大家分享。


    更多内容请见原文:3分钟搭建 Minecraft 服务器