开启服务端
你已经做好了准备工作,开始启动你的服务器了,你需要编写一个 启动脚本 来启动它。
编写启动脚本
Section titled “编写启动脚本”最简单的启动命令当然是 java -jar
现在你把下载好的服务端核心放到一个空文件夹里

在这个文件夹里创建一个 txt 文件,重命名为 bat 后缀的文件 如 start.bat
用你前面下的文本编辑器编辑这个文件,写入以下信息并保存,然后双击 start.bat
java -Xms2G -Xmx2G -jar 核心名.jar --nogui双击启动脚本后,大概会卡在 Downloading mojang_x.x.x.jar,请耐心等待
一旦下载完成,他会提示:
You need to agree to the EULA in order to run the server. Go to eula.txt for more info.用文本编辑器打开此目录下生成的 eula.txt ,将里面的 eula=false 改为 eula=true
eula 就像是用户协议一样的东西,你想知道讲了啥,点 这里
改好之后重新开启服务器,当出现以下字样说明服务器已经成功开启。
Done (6.554s)! For help, type "help"更复杂的 bat
Section titled “更复杂的 bat”在脚本的最后加上 pause,让你可以看到 bat 的输出,避免黑窗口一闪而过的情况。
java -jar paper.jarpause使用通配符来匹配服务端核心,这样每次更新核心就不需要更改脚本内容或者重命名文件的名字了。
java -jar *.jarjava -jar paper-*.jarjava -jar leaf-*.jar当服务器崩溃或关闭时,使用脚本实现自动重启:
@echo off:startjava -Xmx4G -Xms1G -jar server.jar noguiecho 服务器已关闭,5 秒后重启...timeout /t 5goto start#!/bin/bashwhile true; do java -Xmx4G -Xms1G -jar server.jar nogui echo "服务器已关闭,5 秒后重启..." sleep 5done使用变量拆分脚本内容,不再堆在同一行,使得内容更清晰,也方便修改。
@echo offset JAVA_OPTS=-Xmx4G -Xms1G -XX:+UseG1GCset SERVER_JAR=paper-*.jarset ADDITIONAL_ARGS=nogui
java %JAVA_OPTS% -jar %SERVER_JAR% %ADDITIONAL_ARGS%pauseDownloading mojang_x.x.x.jar
Section titled “Downloading mojang_x.x.x.jar”如果你的服务器卡在:
Downloading mojang_x.x.x.jar请尝试使用科学上网。
我不会在命令行界面 (CMD / 终端 / PowerShell) 使用科学上网
Section titled “我不会在命令行界面 (CMD / 终端 / PowerShell) 使用科学上网”请确定你的科学上网是可用的,不多赘述。
在命令行界面 (一般情况下,一个黑 / 蓝框框) 中执行这两条
set http_proxy=http://127.0.0.1:7890set https_proxy=http://127.0.0.1:7890如果在 Linux 下则是这样的:
export HTTP_PROXY=http://127.0.0.1:7890export HTTPS_PROXY=http://127.0.0.1:7890其中 7980 是你的科学上网软件设置的端口,若有不同,请替换。
注:输入之后仅对这个命令行窗口有效,开启新的 / 关闭它 之后要重新输入。
大佬们,浏览器能用不是 cmd 能用,不然你猜我为什么写这个。
如果你用的是 Windows,你需要在启动脚本 最前面 加上 chcp 65001,否则容易 乱码
如上面的方法无效,检查你的系统区域设置是否为中国和中文语言包是否下载。
比如你原来的启动脚本长这样
java -Xms2G -Xmx2G -jar server.jar --nogui你需要改成这样
chcp 65001java -Xms2G -Xmx2G -jar server.jar --noguiJava 启动找不到 ***.jar
Section titled “Java 启动找不到 ***.jar”有些时候写好启动脚本启动后,报错Error: Unable to access jarfile xxx.jar,但是相同目录下明明有xxx.jar
像这样:

启动后报错,此时我们可以查看文件后缀名 (不懂如何打开请点这里)
然后你就会看到这样的惊奇一幕

此时,你只需要把 xxx.jar.jar 改成 xxx.jar 就可以正常启动了
Invalid initial heap size: -Xms
Section titled “Invalid initial heap size: -Xms”新版 Forge 和 NeoForge 启动
Section titled “新版 Forge 和 NeoForge 启动”使用安装器安装后,你无法在根目录找到 xxx.jar,同时会生成一个 bat 脚本。里面大概是这样的
@echo offREM Forge requires a configured set of both JVM and program arguments.REM Add custom JVM arguments to the user_jvm_args.txtREM Add custom program arguments {such as nogui} to this file in the next line before the %* orREM pass them to this script directlyjava @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.18.2-40.1.60/win_args.txt %*pause这是因为新版的 Forge 和 NeoForge 将服务器 jar 包放在 libraries 文件夹里面,并通过自带的启动脚本进行启动。
前面 REM 开头的是注释,大概就是说
Forge 需要一组配置好的 JVM 和程序参数。 向 user_JVM_args.txt 添加自定义 JVM 参数 在%*或之前的下一行将自定义程序参数(如 nogui)添加到此文件中 直接将它们传递给此脚本
此时你会发现有一个 user_JVM_args.txt 在你的根目录下,打开他,将原来的
java -Xms2G -Xmx2G -jar server.jar --nogui中 java 和 -jar 之间的内容填写到该文件中。
如果你想使用 nogui,就像注释里面说的,在 @libraries/net/minecraftforge/forge/1.18.2-40.1.60/win_args.txt 和 %* 之间写入 nogui
就像这样
java @user_jvm_args.txt @libraries/net/minecraftforge/forge/1.18.2-40.1.60/win_args.txt nogui %*