在Ubuntu上搭建并通过systemctl和Nginx管理Minecraft Java版服务器

ops/2024/9/22 17:34:33/

本教程将详细介绍如何在Ubuntu操作系统上搭建一个Minecraft Java版服务器,并使用systemctl服务来管理服务器的启动、停止和重启。同时,我们还将探讨如何通过NGINX设置TCP/UDP转发,使得玩家能够通过域名方便地连接到你的Minecraft服务器

准备工作

确保你的Ubuntu系统具备以下条件:

  • 至少2GB的可用内存(推荐4GB以上)
  • 稳定的网络连接
  • root权限或sudo权限

步骤1:安装Java

Minecraft服务器需要Java运行环境。我们推荐在Ubuntu上安装OpenJDK。

  1. 打开终端。
  2. 更新包列表:
    sudo apt update
    
  3. 安装OpenJDK 21:
    sudo apt install openjdk-21-jdk
    
  4. 验证Java安装:
    java -version
    

Minecraft_28">步骤2:下载Minecraft服务器软件

  1. 创建存放服务器的目录:
    mkdir minecraft-server
    cd minecraft-server
    
  2. 下载Minecraft服务器jar文件。官网下载

步骤3:首次运行服务器

  1. 启动服务器以生成配置文件:
    java -Xmx1024M -Xms1024M -jar server.jar nogui
    
  2. 编辑eula.txt,同意EULA:
    echo "eula=true" > eula.txt
    

步骤4:创建systemd服务

  1. 创建systemd服务文件:
    sudo nano /etc/systemd/system/minecraft.service
    
  2. 添加以下内容:
    [Unit]
    Description=Minecraft Server
    After=network.target[Service]
    User=minecraft
    Nice=5
    KillMode=none
    SuccessExitStatus=0 1
    ProtectHome=true
    ProtectSystem=full
    PrivateDevices=true
    NoNewPrivileges=true
    WorkingDirectory=/home/minecraft/minecraft-server
    ExecStart=/usr/bin/java -Xmx1024M -Xms1024M -jar server.jar nogui
    ExecStop=/bin/kill -SIGINT $MAINPID
    Restart=on-failure[Install]
    WantedBy=multi-user.target
    
  3. 启用并启动服务:
    sudo systemctl enable --now minecraft
    

步骤5:配置NGINX为TCP/UDP转发器

  1. 确保NGINX安装了stream模块:
    nginx -V
    
  2. 编辑NGINX配置以添加TCP转发:
    sudo nano /etc/nginx/nginx.conf
    
    在文件底部添加:
    nginx">stream {server {listen 25565;proxy_pass localhost:25565;}
    }
    
  3. 重启NGINX:
    sudo systemctl restart nginx
    

步骤6:配置DNS

在你的域名注册商处添加A记录,指向你的服务器公网IP。

步骤7:邀请玩家

玩家可以通过你的域名连接到服务器,例如通过Minecraft客户端输入 example.com

总结

通过以上步骤,你不仅能在Ubuntu系统上成功搭建Minecraft Java版服务器,还能通过systemctl和Nginx方便地管理和转发服务器连接。这使得服务器更易于管理,同时提供了高度的可访问性和控制能力。希望这篇指南能帮助你顺利搭建和运行你的Minecraft服务器,并享受与朋友们共同探索Minecraft世界的乐趣。如果在搭建或管理过程中遇到任何问题,欢迎随时咨询获取帮助。


http://www.ppmy.cn/ops/34016.html

相关文章

AEC Capital Limited:开启可持续金融新纪元

在当今社会,环保和可持续发展已成为全球关注的焦点。在这个背景下,AEC Capital Limited作为香港的一家金融服务公司,以其专业、高端的服务和创新的理念,成为可持续金融领域的引领者。我们致力于将环境保护与金融服务相结合&#x…

在STM32中用寄存器方式点亮流水灯

文章目录 实验资料一、对寄存器的理解1.通俗认识寄存器2.深入了解寄存器(1)端口配置低寄存器(配置0到7引脚的寄存器)(2)端口配置高寄存器(配置8到15引脚) 3.GPIO口的功能描述 二、配…

yum仓库

文章目录 一、yum仓库简介yum实现过程yum配置文件yum命令 二、搭建仓库的方式搭建本地yum仓库ftp方式搭建云仓库搭建阿里云仓库 一、yum仓库 简介 yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制&#xff0c…

保研面试408复习 2——操作系统、计网

文章目录 1、操作系统一、进程、线程的概念以及区别?二、进程间的通信方式? 2、计算机网络一、香农准则二、协议的三要素1. 语法2. 语义3. 时序 标记文字记忆,加粗文字注意,普通文字理解。 1、操作系统 一、进程、线程的概念以及…

MySQL 运维篇

回顾基本语句: 数据定义语言(DDL) 这类语言用于定义和修改数据库的结构,包括创建、删除和修改数据库、 表、视图和索引等对象。 主要的语句关键字包括 CREATE 、 DROP 、 ALTER 、 RENAME 、 TRUNCATE 等。 create database 数据库 ; cr…

c++性能分析工具类 统计程序每一步的执行时间

c性能分析工具类 统计程序每一步的执行时间 在c中,经常需要做性能分析,统计 不同的函数,不同的代码块的执行时间,为了方便统计,实现了一个 统计类 有两个函数,第一个是统计从 时间统计类 从初始化到当前调…

IFPP-01

这份文件是一份关于In-Factory Profile Provisioning (IFPP)的立场文件,由物联网转型主题赞助。以下是其核心内容的概述: 1. **IFPP的概念**:IFPP是一种新兴技术,用于简化将蜂窝SIM配置文件嵌入到物联网(IoT)设备和其他连接设备中…

【银角大王——Django课程——靓号搜索实现/单独一篇】

搜索框功能实现 靓号搜索在Django框架中搜索功能实现——底层就是模糊查询添加一个搜索框,使用bootstrap框架将GO!修改成一个放大镜靓号列表函数代码解释效果演示 靓号搜索 在Django框架中搜索功能实现——底层就是模糊查询 数字条件用法字符串条件用法…