MC Forge Ubuntu开服

待做清单

  1. 需要一台云服务器(可以是带公网也可以是局域网,但是局域网服务器是你一定能访问,Ubuntu系统),不带公网服务器需要内网穿透,后面会讲
  2. 需要提前安装好对应版本的forge服务端核心(我这里以1.20.1版本为例),forge核心下载地址:https://files.minecraftforge.net/net/minecraftforge/forge/
  3. 选择使用的开服方式,有MCSM面板管理开服,也有直接终端开服,面板服是使用docker容器,可以容器分离互不影响,可以多开,终端服适用于单独开服,比较简单

MCSM面板开服

MCSM面板安装

  1. 输入以下命令安装,如果遇到是否继续的输入y来确定

    1
    2
    3
    4
    5
    #更新下载源
    apt update && apt install wget && apt install git

    #下载MCSM面板
    sudo wget -qO- https://gitee.com/mcsmanager/script/raw/master/setup_cn.sh | bash
  2. 出现以下图片代表着安装成功:

image-20240529145247136

  1. 输入以下命令开启web端面板服务以及开机自启

    1
    2
    systemctl start mcsm-{daemon,web}
    systemctl enable mcsm-{daemon,web}.service
  2. 然后带上你的IP地址:23333打开mcsm面板,第一次进去会告诉要创建一个管理员,创建好后,进去如图(我的是配置好的跟你,可能有些许信息不一样):

    image-20240529145612213

安装docker

  1. 输入以下命令安装docker并开启docker服务

    1
    2
    3
    4
    5
    6
    7
    8
    # 安装docker,如果遇到问是否继续的就输入y来确定
    apt install docker.io

    # 设置docker开机自启和启动docker
    systemctl enable docker && systemctl start docker

    # 检查是否安装成功,若安装成功会显示 Docker version x.x.x
    docker -v
  2. 更换docker容器下载源(终端输入):

    1
    2
    3
    4
    5
    6
    7
    8
    9
    vi /etc/docker/daemon.json

    #输入以下内容,按esc输入英文冒号,然后输入wq保存
    {
    "registry-mirrors": ["https://docker.nju.edu.cn"]
    }

    # 重启docker服务
    systemctl restart docker.service

创建jdk镜像

  1. 在面板左边节点管理中找到你的节点,并点击镜像管理

    image-20240529150018323

  2. 进去后点击新建镜像,选择自己玩的mc版本对应需要的jdk版本,我这边1.20.1选择jdk17

    image-20240529150128500

  3. 点击后进去,直接按确定,等待镜像创建成功

创建实例并配置服务端

  1. 在mcsm面板中,点击应用实例,先在应用示例列表选择应用实例

  2. 点击新建实例

    image-20240529150646581

  3. 选择java版Minecraft游戏服务端,然后选择上传单个服务端软件的创建方式

  4. 填写实例名,然后将以下命令替换掉启动命令模板里的内容

    1
    java -server -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -jar ${ProgramName} --installServer
  5. 去下载对应版本的forge核心的安装程序,点击如图所示按钮,跳过广告下载

    image-20240529151058568

  6. 去面板上传下载好的forge核心的安装包,然后进入配置面板

    image-20240529151236467

  7. 选择进程启动方式选择虚拟化容器,然后环境容器选择刚刚创建的jdk镜像,然后选择网络模式为host,设置最大内存,点击保存配置

    image-20240529151520054

  8. 点击控制台,返回到控制台后,点击开启实例,然后等待下载成功,如图所示

    image-20240529151711754

  9. 点击文件管理,然后选择并编辑run.sh文件,在@libraries前面添加以下内容

    1
    -server -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN

    注意空格间隔,如下图所示

    image-20240529151924569

  10. 点击保存文件,然后回到控制台,点击高级实例设置,将启动命令替换如下命令

    1
    bash run.sh

    如下图所示

    image-20240529152116621

  11. 点击保存设置,回到控制台,再次开启实例

  12. 然后开启后需要修改eula.txt文件里的信息,同意eula协议

    image-20240529152334221

    image-20240529152410549

  13. 回到控制台,再次点击开启实例。出现Done则表示服务器开启成功。

  14. 然后可以回到服务端配置文件中,点击浏览[通用] server.properties,将online-mode正版验证关掉,然后回到控制台重启实例即可

连接服务器

打开你的mc游戏,然后连接服务器输入你的服务器IP:25565即可连接

终端服开服

环境配置

  1. 在终端中输入以下命令进行更新下载源,以及下载工具

    1
    apt update && apt install wget
  2. 配置jdk环境

    1
    2
    3
    4
    5
    6
    #替换成你要下载的jdk版本
    sudo apt-get install openjdk-17-jdk
    #安装jdk17环境

    #验证是否安装成功
    java -version
  3. 安装forge核心,进入forge下载地址:https://files.minecraftforge.net/net/minecraftforge/forge/,然后找到如下图所示版本的安装程序

    image-20240529151058568

  4. 右键复制链接,然后在地址栏里粘贴下来,将url=后面的地址复制下来,得到真正下载链接:https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.1-47.2.32/forge-1.20.1-47.2.32-installer.jar如下图所示

    image-20240529185815742

  5. 然后回到你的云服务器里,在终端输入以下命令进行下载forge核心的安装包

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    #我想将核心下载在我home目录下的mc目录
    cd /home
    mkdir mc && cd mc

    #在mc目录下载刚刚复制下来的链接
    wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.1-47.2.32/forge-1.20.1-47.2.32-installer.jar

    #下载好后查看是否下载成功
    ls
    #发现目录中有类似于forge-1.20.1-47.2.32-installer.jar的包,版本不一样也是类似这种格式的
  6. 安装forge核心

    1
    2
    #forge-1.20.1-47.2.32-installer.jar这是我的包名,需替换到你自己的包名才行
    java -server -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN -jar forge-1.20.1-47.2.32-installer.jar --installServer

启动服务端

  1. 以上操作安装好后,会发现目录底下有个run.sh(用ls命令查看),输入以下命令启动服务端

    image-20240529190923413

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #需要添加一些东西到run.sh再进行启动
    vi run.sh
    #在@libraries前面加入以下,使用crtl+shift+v粘贴到编辑器里
    -server -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN

    #最终编辑器里完整语句为
    java @user_jvm_args.txt -server -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.country=CN @libraries/net/minecraftforge/forge/1.20.1-47.2.32/unix_args.txt "$@"

    #按esc,输入:wq,然后回车保存

    bash run.sh
  2. 运行好后,中途会被自动退出,是因为他需要同意eula协议,如下图所示

    image-20240529191033029

  3. 输入以下命令进行同意eula协议

    1
    2
    3
    4
    5
    6
    vi eula.txt

    #将eula=falsefalse改为true,按住shift+a切换末尾输入模式,然后删除false,改成true
    eula=true

    #按esc,输入:wq,然后回车保存

    image-20240529191747476

  4. 然后再次输入bash run.sh启动服务端,等待出现done就等于启动成功,如下图所示

    image-20240529192016111

  5. 然后按住crtl+c退出服务端,然后输入以下命令,进行查看和修改mc游戏特殊设置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    #输入ls查看
    ls

    #会看到有一个server.properties文件,进去编辑它
    vi server.properties

    #会发现里面有很多设置,我们这里就修改一个设置,剩下的可以根据后面发的地址,对着解释自己改

    #输入/online-mode回车,将online-mode=truetrue改为false,将正版验证关闭

    #按住shift+a切换末尾输入模式,然后删除true,改成false
    online-mode=true

    #按esc,输入:wq,然后回车保存

    #重启服务端
    bash run.sh

    image-20240529192557897

连接服务器

打开你的mc游戏,然后连接服务器输入你的服务器IP:25565即可连接

内网穿透

引言

  • 如果你跟我一样,服务器是在校园网这种自己能够访问的局域网ip服务器,这个时候跟公网好友联机就得需要内网穿透出去
  • 如果你是单纯就是没买公网ip的云服务器,你也可以直接在云服务器部署并启动mcsm面板,然后内网穿透出来面板地址来进行配置,配置好后,就内网穿透服务端口出来,再连接即可

安装内网穿透工具cpolar

  1. 安装下载工具

    1
    sudo apt-get install curl
  2. 安装cpolar

    1
    2
    3
    4
    5
    #安装cpolar
    curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

    #查看是否安装成功
    cpolar version

token认证

  1. 进去cpolar官网注册账号,官网:https://www.cpolar.com/

  2. 选择免费套藏

  3. 登陆后,点击验证,将authtoken复制下来

    image-20240529193350933

  4. 然后在终端输入以下命令

    1
    2
    3
    4
    5
    6
    #xxxxxx为你刚刚复制的authtoken
    cpolar authtoken xxxxxxx

    #启动服务以及设置开机自启动
    sudo systemctl start cpolar
    sudo systemctl enable cpolar

进行内网穿透

需要内网穿透部署mcsm面板服务器的

  1. 如果要穿透mcsm面板则输入以下命令

    1
    cpolar http 233333

    image-20240529193749097

  2. 然后copy进行访问mcsm面板进行回到mcsm面板开服那里开服

需要内网穿透服务端口供公网联机

  1. 输入以下命令:

    1
    2
    #端口号为自己设定的mc服务端端口,如果按照我的教学来的默认就是25565
    cpolar tcp 25565
  2. image-20240529194051216

  3. 将上方框框的地址和端口复制下来,即可去mc服务器连接了


MC Forge Ubuntu开服
https://moonfordream.github.io/posts/MC-Forge-Ubuntu开服/
作者
Moon
发布于
2024年5月29日
许可协议