Minecraft服务端开服脚本

您所在的位置:网站首页 开服侠指令 Minecraft服务端开服脚本

Minecraft服务端开服脚本

2024-06-18 18:08| 来源: 网络整理| 查看: 265

这是MC开服教程系列的第二篇,目录我会放在置顶评论

注意

本教程中均以server.jar作为核心名字,实际使用时请手动改成你的服务端核心jar名字

开服需要安装Java (64位机器装64位Java)

1.17及以上使用Java16 https://adoptopenjdk.net/releases.html?variant=openjdk16&jvmVariant=hotspot

1.16及以下使用Java8 https://adoptopenjdk.net/releases.html?variant=openjdk8&jvmVariant=hotspot

Windows创建脚本

在服务端文件夹新建一个txt文件,将其改名为start.bat

若文件没有显示默认的txt扩展名,请看 http://sakuramc.top:9999/?p=279

编辑脚本

右键bat文件,点击编辑

打开后输入下方的开服代码

脚本示例

java -jar server.jar

pause

最简单的脚本,没有优化,没有自动重启,没有指定Java

"C:\Program Files\Java\jdk1.8.0_301\bin\java" -jar server.jar

pause

指定Java的脚本,此示例默认Java文件夹位于  文件夹,你的Java文件夹在哪里,下面的脚本里就怎么写

java -jar server.jar

timeout /T 3

goto start

带自动重启的脚本,关服时输入stop,当出现  时关闭cmd窗口

java -Xms2G -Xmx2G -jar server.jar

pause

设置内存的脚本,最大最小内存设置一致避免重新分配内存

@ECHO OFF

@REM 此脚本由404E制作

set a=0

echo ------------------------------------------------------------------

echo --                                                              --

echo --                           正在启动                           --

echo --                                                              --

echo ------------------------------------------------------------------

:start

set b = %date:~0,4%.%date:~5,2%.%date:~8,2% %time:~0,2%:%time:~3,2%:%date:~8,2%

title 服务端 重启%a%次 上次重启于%b%

set date1=%date:~0,4%%date:~5,2%%date:~8,2%

set time1=%time:~0,2%%time:~3,2%%time:~6,2%

java -Xms2G -Xmx2G -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 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui

set date2=%date:~0,4%%date:~5,2%%date:~8,2%

set /a c=%time:~0,2%%time:~3,2%%time:~6,2% - %time1%

if %c% LEQ 1 (

   if %date2% == %date1% (

       echo ------------------------------------------------------------------

       echo --                                                              --

       echo --                  :( 启动异常,请检查启动参数                  --

       echo --                  或者咨询其他人,按任意键退出                 --

       echo --                                                              --

       echo ------------------------------------------------------------------

       pause>null

       exit

   )

)

set /a a=%a%+1

echo ------------------------------------------------------------------

echo --                                                              --

echo --                       将在3秒后自动重启                      --

echo --                       按任意键跳过等待                       --

echo --                      或者直接关闭服务端                      --

echo --                                                              --

echo ------------------------------------------------------------------

timeout /T 3

goto start

我用的脚本,优化参数 https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/

Linux创建&编辑脚本

vi start.sh

按i或insert键进入编辑模式

输入下方示例的中的脚本代码

按esc,输入保存

给予可执行权限

使用  给脚本添加可执行权限

脚本示例

#!/bin/bash

java -jar server.jar

最简单的脚本,没有优化,没有自动重启,没有指定Java

#!/bin/bash

/usr/local/jdk1.8.0_301/bin/java -jar server.jar

指定Java的脚本,此示例默认Java文件夹位于  文件夹,你的Java文件夹在哪里,下面的脚本里就怎么写

while true

do

   java -jar server.jar

   for i in $(seq 3 -1 1)

   echo "3秒后重启..."

   do

       echo -n "·"

       sleep 1s

   done

done

关服时输入stop,当出现  时按ctrl+c停止

#!/bin/bash

java -Xms2G -Xmx2G -jar server.jar

设置内存的脚本,最大最小内存设置一致避免重新分配内存

#!/bin/bash

#作者404E

echo '------------------------------------------------------------------'

echo '-                                                                -'

echo '-                         开始启动服务端                         -'

echo '-                                                                -'

echo '------------------------------------------------------------------'

while true

do

   d=$(date "+%Y.%m.%d %H:%M:%S")

   echo -e "\033]0; 服务端 "$d"\007""\c"

   /usr/local/src/openJDK16/bin/java -Xms2G -Xmx2G -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 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar nogui

   h=$(date "+%H")

   if [ $h -gt 1 ] && [ $h -lt 6 ];then

       echo '------------------------------------------------------------------'

       echo '-                                                                -'

       echo '-                     服务器将在3秒后开始备份                    -'

       echo '-                     按 ctrl + c 停止服务端                     -'

       echo '-                                                                -'

       echo '------------------------------------------------------------------'

       for i in $(seq 3 -1 1)

       do

           echo -n "·"

           sleep 1s

       done

       c=5

       if [ ! -d "backup" ];then

           mkdir backup

       fi

       rm -rf backup/$c.tar.gz

       for((i=$c;i>0;i--));

       do if [ -f "backup/"$i".tar.gz" ];then

           mv backup/$i.tar.gz backup/`expr $i + 1`.tar.gz

       fi done

       tar -zcf backup/1.tar.gz world #world_nether world_the_end

   fi

   echo '------------------------------------------------------------------'

   echo '-                                                                -'

   echo '-                       服务器将在3秒后重启                      -'

   echo '-                     按 ctrl + c 停止服务端                     -'

   echo '-                                                                -'

   echo '------------------------------------------------------------------'

   for i in $(seq 3 -1 1)

   do

       echo -n "·"

       sleep 1s

   done

   echo ''

   echo '------------------------------------------------------------------'

   echo '-                                                                -'

   echo '-                         开始重启服务端                         -'

   echo '-                                                                -'

   echo '------------------------------------------------------------------'

done

我用的脚本,优化参数 https://aikar.co/2018/07/02/tuning-the-jvm-g1gc-garbage-collector-flags-for-minecraft/

如果本教程对你有帮助,请点个赞,如果能三连就更好了

本系列教程在我的博客同步更新 http://sakuramc.top:9999/?p=342

本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可 cv9957763



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3