NitWikit/docs/正式开服/开启服务端.md

227 lines
5.9 KiB
Markdown
Raw Normal View History

2024-03-23 20:30:59 +08:00
---
sidebar_position: 1
---
# 开启服务端
你已经做好了准备工作,开始启动你的服务器了
2024-05-01 10:28:48 +08:00
## 笨蛋脚本
2024-05-04 19:55:36 +08:00
下载此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/latest/generate-script.exe),回答几个问题就可以为你自动生成启动脚本!!
2024-05-01 10:28:48 +08:00
2024-04-04 10:58:19 +08:00
<details>
<summary>直接在终端里敲命令来启动?</summary>
如果你第一次开服,或者你看不懂这个折叠里的内容,那就跳过,直接去看底下的编写启动脚本
2024-03-23 20:30:59 +08:00
## 终端路径
就像你的文件资源管理器
![](_images/文件资源管理器.jpg)
(估计有人不知道文件资源管理器是什么,所以放张图)
有路径一样你的cmd也是有路径的(红框中为此cmd所在的路径)
[cmd是什么](https://cn.bing.com/search?q=cmd%E6%98%AF%E4%BB%80%E4%B9%88)
[怎么打开cmd](https://cn.bing.com/search?form=MOZLBR&pc=MOZI&q=%E6%80%8E%E4%B9%88%E6%89%93%E5%BC%80cmd)
2024-03-23 20:30:59 +08:00
## 启动命令
~~最简单的启动命令当然是java -jar~~
现在你把下载好的服务端核心放到一个空文件夹里
![](_images/1.png)
点击地址栏输入cmd然后回车就会在这个路径下打开cmd
![](_images/2.png)
或者用别的办法打开cmd然后用cd命令切换路径
[怎么用cd命令切换到另一个目录](https://cn.bing.com/search?q=%E6%80%8E%E4%B9%88%E7%94%A8cd%E5%91%BD%E4%BB%A4%E5%88%87%E6%8D%A2%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E7%9B%AE%E5%BD%95)
2024-03-23 20:30:59 +08:00
![](_images/3.png)
</details>
## 编写启动脚本
~~最简单的启动命令当然是java -jar~~
现在你把下载好的服务端核心放到一个空文件夹里
![](_images/1.png)
在这个文件夹里创建一个txt文件重命名为bat后缀的文件 如 `run.bat`
[文件看不到后缀怎么办](https://cn.bing.com/search?q=%E6%96%87%E4%BB%B6%E7%9C%8B%E4%B8%8D%E5%88%B0%E5%90%8E%E7%BC%80)
用你前面下的文本编辑器编辑这个文件,写入以下信息
```
java -Xms1G -Xmx2G -jar 核心名.jar --nogui
```
### 解释
| 单词 | 解释 |
| --- | ----------- |
| java | 启动java虚拟机 |
| -Xms1G | 设置初始内存大小为 1GB 可自行调整 |
| -Xmx2G | 设置最大堆内存大小为 2GB 可自行调整 |
| -jar 核心名.jar | 这部分告诉 Java 程序去运行一个叫做 核心名.jar 的 JAR 文件 |
| --nogui | 不显示GUI |
保存,然后双击它
[卡在Downloading mojang_x.x.x.jar怎么办](/docs/常见问题.md)
他会提示你
> 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`
2024-04-27 02:05:03 +08:00
eula就像是用户协议一样的东西,你想知道讲了啥,点 [这里](https://zhuanlan.zhihu.com/p/463084883)
2024-03-23 20:30:59 +08:00
改好之后重新开启服务器
当出现
> Done (6.554s)! For help, type "help"
的字样说明服务器已经开启
2024-04-06 20:10:37 +08:00
:::tip
你可以点击目录中的连接服务器进入下一节内容了!
:::
2024-03-23 20:30:59 +08:00
## 更复杂的bat
你可以用 http://flags.sh/ 或 https://startmc.jakaco.xyz/ 来做优化的启动命令
2024-04-04 17:53:27 +08:00
:::tip
下面这个bat会自动下载[Leaf](/docs/准备工作/服务端核心选择.md)
修改
set jar=leaf-1.20.4.jar
2024-04-04 17:58:31 +08:00
2024-04-04 17:53:27 +08:00
set tag=ver-1.20.4
2024-04-04 17:58:31 +08:00
可以更改下载的核心的版本
2024-04-04 17:53:27 +08:00
:::
2024-03-23 20:30:59 +08:00
```
rem 注释
rem 关闭回显
@echo off
rem 设置编码为UTF-8
chcp 65001
title 此处设置窗口标题
set jar=leaf-1.20.4.jar
set tag=ver-1.20.4
rem 检查此脚本所在的目录中有没有核心
if exist %jar% (
echo %jar%已存在,正在开启服务端
) else (
:downloadJAR
echo 正在从 https://github.com/Winds-Studio/Leaf/releases/download/%tag%/%jar% 下载最新的%jar% 请稍候...
curl -L -o %jar% https://github.com/Winds-Studio/Leaf/releases/download/%tag%/%jar%
echo %jar% 下载完成!
)
java -Xms1G -Xmx2G --add-modules=jdk.incubator.vector -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -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 -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -jar %jar% --nogui
rem 让脚本程序暂停,会打印输出 “请按任意键继续...”字样防止cmd一闪而过什么都没看到
pause
2024-03-31 07:35:58 +08:00
```
2024-05-04 11:32:11 +08:00
## 笨蛋脚本
开启后,你可能需要进行一些简单配置,比如修改服务器端口,正版验证等
[下载](https://github.com/lilingfengdev/NitWiki-Script/releases/download/latest/config-eazy.py),我们会询问一些问题,帮你**自动配置**
目前可以配置的
* 服务器端口
* 正版验证
* 服务器种子
* 最大玩家数
2024-05-09 22:24:19 +08:00
## 正版验证
正版验证默认被开启,如果你没有用正版启动游戏,那么加入服务器会出现
![](_images/无效会话.png)
是的,不关闭正版验证的话盗版玩家是不能加入游戏的
**server.properties** 中找到此项
```
online-mode=true
```
将true改为false,保存,重启服务端
:::danger
不要开服开到一半去改正版验证!!!
那样会造成UUID混乱,玩家数据丢失
:::
## 最大玩家数
**server.properties** 中找到此项
```
max-players=20
```
后面的数字就是你希望这个服务器最大能进入的玩家数
## 服务器种子
2024-05-10 12:49:12 +08:00
2024-05-09 22:24:19 +08:00
**server.properties** 中找到此项
```
level-seed=
```
这里面就可以填上你想要的种子
:::note
2024-05-10 12:49:12 +08:00
你可能会发现一些结构,比如村庄的生成,并不会遵循种子,是由于spigot及其下游服务端加入了随机种子,地形的生成也会出现一些偏差
当然,你仍然可以利用种子定位群系,比如找史莱姆区块
2024-05-09 22:24:19 +08:00
:::
2024-05-10 22:29:21 +08:00
## 服务器端口
**server.properties** 中找到此项
```
server-port=25565
```
后面就可以改成你想要的服务器端口,当然,玩家连接的也需要更改(或者使用srv转发)
2024-05-10 12:49:12 +08:00
2024-05-09 22:24:19 +08:00