系统环境
- OS: Windows11 26H1(28000.1575)
- IP: 192.168.0.108
- Java: OracleJDK-25.0.1
- Jar文件: PaperMC-1.21.11-69
- WinSW: WinSW v3.0.0-alpha.11
- MCRCON: v0.7.2-windows-x86-64
本次使用的文件路径
- jre: C:/Software/minijre-25
- paper: C:/Software/paper
部署
下载WinSW并添加配置文件
下载地址https://github.com/winsw/winsw/releases ,下载后放在C:/Software/paper/service文件夹下这里重命名为service.exe,因为WinSW运行会创建几个日志文件,直接放在paper根目录显乱。
再在C:/Software/paper/service文件夹下创建service.xml文件
<service>
<!-- 服务注册名 -->
<id>papermc</id>
<!-- 这里的内容在任务管理器中出现在描述栏,在服务中显示在名称栏 -->
<name>PaperMC Server</name>
<!-- 这里的内容在服务中显示在描述栏 -->
<description>PaperMC服务器程序</description>
<!-- 程序的工作文件夹,根据实际修改 -->
<workingdirectory>C:/Software/paper</workingdirectory>
<!-- Java的可执行文件路径,根据实际修改 -->
<executable>C:/Software/minijre-25/bin/java.exe</executable>
<!-- 启动参数,Jar文件的路径根据实际修改 -->
<arguments>-server -Xms4G -Xmx4G -jar C:/Software/paper/paper.jar nogui</arguments>
<log mode="roll" />
<!-- 启动服务用的账户 -->
<!-- 这里不知道为什么不生效,后面安装好服务了在手动改一下 -->
<serviceaccount>
<domain>NT AUTHORITY</domain>
<user>NetworkService</user>
<password></password>
<allowservicelogon>true</allowservicelogon>
</serviceaccount>
</service>
目前C:/Software/paper/service下的文件

安装为服务
右键底部的Windows徽标(就4个方块组成的那个),以管理员权限打开终端/cmd/powershell

输入以下命令,文件路径根据自己的实际情况进行修改,前面为WinSW文件路径,后面为配置文件的路径
C:\Software\paper\service\service.exe install C:\Software\paper\service\service.xml
出现如下结果则安装成功

接下来还需要修改一下启动服务用的账户,不知道为什么注册服务时指定的user不生效,输入以下命令即可修改
cmd /k sc config papermc obj= "NT AUTHORITY\NetworkService"
这里的papermc根据配置文件里id这一项的内容修改<id>papermc</id>,例如配置文件为<id>MyPaper</id>,则对应执行的为
cmd /k sc config MyPaper obj= "NT AUTHORITY\NetworkService"
执行结果如下

启动服务
输入以下命令即可启动服务,这里的papermc根据实际注册的服务名进行修改。
net start papermc
需要注意的是,如果是正常在命令行中启动服务,windows会询问是否允许Java使用端口进行通信,但以服务形式运行是不会弹出提示的,这样外部就无法连接到服务器,所以在以服务形式运行前,需要先在命令行中运行一次以放行端口。
启用Paper的远程控制
按照以上步骤,虽然能在无窗口的情况下,做到开机自动启动服务器,但因为没有窗口了,也就无法管理服务器,这时候就需要使用到RCON了。
修改配置文件
先关闭服务器,可以执行net stop papermc来停止服务,也可以在任务管理器中找到对应的服务按下停止;
再打开Paper文件夹下的server.properties文件(用记事本打开就行),这里的示例文件夹为C:/Software/paper,将enable-rcon这一行等号后面的内容改为true。

在rcon.password这一行的等号后面填写上验证用的密码

rcon.port为RCON服务使用的端口,这里可以保持默认
使用MCRCON连接到服务端
下载文件https://github.com/Tiiffi/mcrcon/releases ,这里下载的为mcrcon-0.7.2-windows-x86-64的这一个,将压缩包内的mcrcon文件解压出来找个位置放,该程序不提供图形化界面,仅能通过命令行使用,使用示例如下
I:\_tmp\mcrcon.exe -H 192.168.0.108 -P 25575 -p test#pwd
mcrcon的文件路径根据自己实际存放位置修改
-H 后面指定服务器IP
-P 后面指定服务器的RCON端口
-p 后面写上连接用的密码
这里需注意端口和密码的两个p的大小写
