2020.1.31 Linux下搭建minecraft服务器

今天应好友的要求,在云主机上搭建了mc的服务器从而玩耍
本次使用的服务端是minecraft_server官方的版本1.7.10,为了添加一些有趣的Mod,还使用了forge10.13.4.1158和liteloader

主要分为两部分:

  • 搭建Linux服务端(本次使用的是官方服,不是插件服or水桶服)
  • 配置客户端(自制整合包)

1. 搭建服务端

  1. 安装必须的软件:

    yum install -y java-1.8.0-openjdk
    yum install -y screen
    
  2. 下载1.7.10的server客户端 minecraft_server.1.7.10.jar
    在目录下启动客户端

    java -Xms512m -Xmx1024m -jar minecraft_server.1.7.10.jar nogui
    

    ​ 第一次启动会默认中断,需要把目录下的eula.txt中的false改为true,即同意许可协议

    ​ 然后再次执行上面的命令启动服务端,此时会自动生成一个地图,如果成功了就stop关闭服务器

    使用vim打开并且更改server.propertices文件中的online-mode来关闭正版验证

    online-node:false
    
  3. 如果启动正常的话,一个纯净的1.7.10服务端就在本地上跑起来了,修改server.propertices文件可以修改服务器的一些设置,服务器会自动生成一个world,最后使用ctrl+c或者输入stop中断服务器

  4. 接下来安装forge

    1. 首先去forge的官网下载1.7.10版本的forge安装Installer,传送到服务器上,把他放在开服的目录下

    2. 运行installer安装forge

      java -jar forge-1.7.10-10.13.4.1558-1.7.10-installer.jar --installServer nogui
      
    3. 等待下载完成,速度比较慢

    4. 运行forge服务端

      java -Xms512m -Xmx1024m -jar forge-1.7.10-10.13.4.1558-1.7.10-universal.jar nogui
      
    5. 如果可以正常启动forge客户端,就再次stop关闭服务器

  5. forge安装成功后,可以看到当前目录下多出了mods文件夹和一些其他的文件夹,我们想要玩的mod就上传到mods文件夹中

  6. 可以写个shell脚本shart.sh,由于本人shell编程实在捉襟见肘,就简单写写吧:

    #!/bin/bash
    java -Xms512m -Xmx1024m -jar forge-1.7.10-10.13.4.1558-1.7.10-universal.jar nogui
    

    这样以后每次启动直接使用脚本即可

    sh start.sh
    
  7. 到此服务端基本就配置完成了

2. 配置客户端

  1. 配置客户端的工作其实就是配置一个整合包,本文参考的整合包配置教程为mcbbs的官方文章,链接如下:

    如何配置整合包

  2. 根据上面的连接就可以完成一个简单的整合包配置,本人在配置的过程中遇到了几个问题:

    • 如果在安装forge的时候报错说至少打开一次原版1.7.10,需要用启动器启动一次原版,产生安装forge的必要文件
    • 在安装forge的时候会自动下载所需要的libraries(位于.minecraft目录中),速度较慢需要耐心等待
  3. 配置完整合包之后再加入自己想玩的Mod,然后在服务器端加入同样的Mod,就可以玩了

  4. 注意:有些Mod不需要上传到服务器端,比如动态光源、高清修复这类Mod

3. 使用screen命令来保证服务器运行

  • 在开服的时候会遇到这种情况:我的远程登录连接断开之后,服务器就自动关闭了;如果此时我的小伙伴还想继续在服务器上奋战,我的远程连接就必须一直保持

  • 为了解决这个问题,可以使用screen这个命令来新建一个窗口,在这个独立的窗口下运行服务器,然后把这个窗口挂起并且退出;此时我可以断开连接,但是在服务器上的这个窗口内,游戏服务器还是在一直运行的

  • 常用screen的命令比较简单:

    screen -S name	// 新建一个叫name的会话窗口
    screen -ls 		// 列出当前所有的会话
    screen -r name	// 进入某个会话窗口中
    screen -d name	// 远程将名称为name的会话离开
    

    当进入了一个会话窗口之后,使用

    Ctrl + A + D
    

    来离开当前会话,即当前会话窗口会在后台继续执行,即使当前用户登出也会继续执行,直到被中断

    进入一个screen之后,可以输入exit来关闭当前的screen

    除此之外也可以使用

    kill -9 PID(使用screen -ls查看到某个会话的PID)
    screen -wipe
    

    也可以删除会话

2020.1.31 Linux下搭建minecraft服务器_第1张图片

你可能感兴趣的:(总结)