当前位置: 首页 > news >正文

Linux下部署Minecraft服务器

#本文基于Linux系统,探讨部署Minecraft服务器的方法。

  声明1:只要你的Linux系统能安装Java环境,并能运行Minecraft服务器的jar文件,以下操作步骤都是通用的。不同发行版可能命令行工具略有差异,但核心流程一致。

  声明2:本文出现的Linux版本均为无图形化版本。

总流程

1.更新系统软件包,修复潜在的安全漏洞并保证软件兼容性。

sudo apt update && sudo apt upgrade -y

 2.安装Java运行环境(Linux上如果有JDK可不用安装,但是要检查你要部署的Minecraft版本是否适配你的JDK版本)

    2.1安装

sudo apt install openjdk-17-jre-headless -y

     2.2验证(如果返回版本号说明安装成功)

java -version

                                  如果返回类似以下内容(有版本号),说明安装成功

3.下载Minecraft服务器核心文件

   3.1创建目录(Linux基础知识)

mkdir ~/minecraft-server
cd ~/minecraft-server

   3.2下载MC核心(核心有很多种版本,可以去网上搜搜,这里提供几个直接版本的下载指令(版本号1.20.1)),在此列举7个。

//Vanilla(官方原版服务器)
wget https://launcher.mojang.com/v1/objects/2b2b019f6b1b1b3e6e3c2e2e2e2e2e2e2e2e2e2e/server.jar//PaperMC
wget https://api.papermc.io/v2/projects/paper/versions/1.20.1/builds/196/downloads/paper-1.20.1-196.jar//Spigot(需要下载构造工具,因此要运行两个命令)
wget https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar
java -jar BuildTools.jar --rev 1.20.1//Forge(需下载Forge安装器,因此要运行两个命令)
wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.1-47.0.0/forge-1.20.1-47.0.0-installer.jar
java -jar forge-1.20.1-47.0.0-installer.jar --installServer//Fabric(需下载Fabric安装器,因此要运行两个命令)
wget https://maven.fabricmc.net/net/fabricmc/fabric-installer/0.11.2/fabric-installer-0.11.2.jar
java -jar fabric-installer-0.11.2.jar server -mcversion 1.20.1 -downloadMinecraft//Purpur
wget https://api.purpurmc.org/v2/purpur/1.20.1/latest/download
mv download purpur-1.20.1.jar//Mohist
wget https://mohistmc.com/api/mohist/1.20.1/latest/download
mv download mohist-1.20.1.jar

4.首次启动

   4.1首次尝试启动: 执行启动命令(以后手动启动都要运行这个命令,server.jar代表你上面下载的核心文件,不同的版本下载的核心文件的名字不一样,要看好)。-Xmx-Xms分别代表最大和初始分配内存,请根据你的设备型号调整(如2G、1G)。nogui表示在没有图形界面的命令行模式下运行。

java -Xmx2G -Xms1G -jar server.jar nogui

   4.2首次启动会生成一些配置文件,然后报错(报错是正常的,原因是没有同意EULA协议

   4.3同意EULA协议

echo "eula=true" > eula.txt

   4.4优化启动脚本

nano start.sh
#!/bin/bash
java -Xmx2G -Xms1G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -jar server.jar nogui

 4.5设置可执行权限

chmod +x start.sh

5.配置服务器(端口,最大人数,游戏模式等等)

nano server.properties

   按需配置(给出一下基础的配置命令)

# 基础设置
server-port=25565           # 服务器监听的端口,默认25565,客户端连接时需填写此端口
gamemode=survival           # 默认游戏模式:survival为生存,creative为创造,adventure为冒险,spectator为旁观
difficulty=easy             # 游戏难度:peaceful(和平)、easy(简单)、normal(普通)、hard(困难)
max-players=10              # 最大允许同时在线的玩家数量# 性能优化
view-distance=6             # 玩家可见区块距离,数值越小越省资源,推荐6~8
simulation-distance=6       # 实体和红石等模拟距离,数值越小越省资源,推荐6~8
entity-broadcast-range-percentage=50  # 实体广播范围百分比,降低可减少网络和CPU压力# 世界设置
level-name=world            # 世界存档名称,默认是world,对应文件夹名
spawn-protection=0          # 出生点保护半径,0表示无保护,非0时非OP玩家无法在出生点附近破坏/放置方块

总流程介绍完了,有问题在评论区留言,我看到后会更新到此文章。

http://www.dtcms.com/a/316899.html

相关文章:

  • sqli-labs靶场less36-less40
  • 计算机二级java选择题真题【内附解析】
  • 页表实现机制,分页的缺点,三层页表的原理,页表的意义
  • 微软Dragon Ambient eXperience (DAX) 深度解析
  • mq_open系统调用及示例
  • 嵌入式ARM程序高级调试基础:2.举例说明中断处理时PC值和LR寄存器的具体关系?
  • 数据结构(三)双向链表
  • Linux的LVM逻辑卷管理操作指南
  • 网络编程异步connect学习
  • SpringCloud学习------Hystrix详解
  • java每日精进 8.04【文件管理细致分析】
  • 《手撕设计模式》系列导学目录
  • 仓颉编程语言的基本概念:标识符、变量、注释
  • 信息安全概述--实验总结
  • mcu中的RC振荡器(Resistor-Capacitor Oscillator)
  • 企业高性能web服务器
  • 【docker】UnionFS联合操作系统
  • 2025年渗透测试面试题总结-02(题目+回答)
  • 一种红外遥控RGB灯带控制器-最低价MCU
  • Redis类型之String
  • linux-单用户模式、营救模式
  • 高阶 RAG :技术体系串联与实际落地指南​
  • RHCA03--硬件监控及内核模块调优
  • 【Spring Cloud】-- RestTeplate实现远程调用
  • Java开发时出现的问题---并发与资源管理深层问题
  • 嵌入式开发学习———Linux环境下IO进程线程学习(四)
  • 《嵌入式数据结构笔记(三):数据结构基础与双向链表》
  • 应急响应排查思路
  • MLIR Bufferization
  • JWT 签名验证失败:Java 与 PHP 互操作问题解决方案