开启服务端
你已经做好了准备工作,开始启动你的服务器了
提示新版本的 Forge 和 Neoforge 使用安装器安装后会自动生成启动脚本。参阅 新版 Forge 和 NeoForge 启动方法
笨蛋脚本
下载此脚本,回答几个问题就可以为你自动生成启动脚本!!
直接在终端里敲命令来启动?如果你第一次开服,或者你看不懂这个折叠里的内容,那就跳过,直接去看底下的编写启动脚本
终端路径就像你的文件资源管理器
(估计有人不知道文件资源管理器是什么,所以放张图)
有路径一样,你的 cmd 也是有路径的 (红框中为此 cmd 所在的路径)
cmd 是什么
怎么打开 cmd
启动命令现在你把下载好的服务端核心放到一个空文件夹里
点击地址栏,输入 cmd 然后回车,就会在这个路径下打开 cmd
或者用别的办法打开 cmd,然后用 cd 命令切换路径
怎么用 cd 命令切换到另一个目录
编写启动脚本
最简单的启动命令当然是 java -jar
现在你把下载好的服务端核心放到一个空文件夹里
在这个文件夹里创建一个 txt 文件,重命名为 bat 后缀的文件 如 start.bat
文件看不到后缀怎么办
用你前面下的文本编辑器编辑这个文件,写入以下信息并保存,然后双击 start.bat
start.batjava -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
pause
在脚本的最后加上 pause,让你可以看到 bat 的输出,避免黑窗口一闪而过的情况。
java -jar paper.jarpause
通配符
使用通配符来匹配服务端核心,这样每次更新核心就不需要更改脚本内容或者重命名文件的名字了。
java -jar *.jarjava -jar paper-*.jarjava -jar leaf-*.jar
自动重启
当服务器崩溃或关闭时,使用脚本实现自动重启:
WindowsLinux@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=noguijava %JAVA_OPTS% -jar %SERVER_JAR% %ADDITIONAL_ARGS%pause
常见问题
Downloading mojang_x.x.x.jar
如果你的服务器卡在:
Downloading mojang_x.x.x.jar
请尝试使用科学上网。
我不会在命令行界面 (CMD / 终端 / Powershell) 使用科学上网提示其实你可以直接开启 TUN 模式
记得让小地球变绿
请确定你的科学上网是可用的,不多赘述。
在命令行界面 (一般情况下,一个黑 / 蓝框框) 中执行这两条
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 --nogui
Java 启动找不到 ***.jar
有些时候写好启动脚本启动后,报错Error: Unable to access jarfile xxx.jar,但是相同目录下明明有xxx.jar
像这样:
启动后报错,此时我们可以查看文件后缀名 (不懂如何打开请点这里)
然后你就会看到这样的惊奇一幕
此时,你只需要把 xxx.jar.jar 改成 xxx.jar 就可以正常启动了
Invalid initial heap size: -Xms
备注内存大小设置长这样
-Xms1024M -Xmx2048M不是这样!
-Xms 1024M -Xmx 2048M
新版 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 %*