> For the complete documentation index, see [llms.txt](https://ruang-feng.gitbook.io/deer-s/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ruang-feng.gitbook.io/deer-s/zheng-wen/jian-dan-fu-wu-duan-zhi-zuo.md).

# 简单服务端制作

### 服务端文件(夹)说明

我们制作服务端是需要清理不必要的沉淀文件的，这就需要我们对服务端文件或文件夹了解。这里我将介绍在服务端常见文件及文件夹。在这里我是直接引用以前在工作室[网页写的一篇文章](http://www.minecraft-fc-stuido.com/page-1.html)。有删改。

**"banned-ips.json"和"banned-players.json"**：被ban掉的ip地址和玩家都存放在这里面，使用方法也很简单不需要详细介绍这个。

**服务端主目录下的"xxx.jar"**：极其重要！这类文件是jar核心，相当于整个服务器的心脏。常见的核心有kc端，thermos，Cat Server，Sponge，龙头头等等，核心的强弱对服务器起着至关重要的作用。并且还决定了你能不能插件、mod，比如forge就不能装插件。1.7.10个人安利thermos，1.12.2安利sponge。

**“ops.json”、“whitelist.json”和“usercache.json”**：这些文件分别储存着op信息，白名单列表，用户缓存。

**"server.properties"**：服务端配置文件，[Wiki](https://minecraft-zh.gamepedia.com/Server.properties)中有详细说明。不过Wiki有些说得过由于冗杂，不便于理解，这里我进行了整理。

| **编号**  | 属性                            | 说明                                       |
| ------- | ----------------------------- | ---------------------------------------- |
| **1**>  | generator-settings            | 本属性质用于自定义超平坦世界的生成                        |
| **2**>  | op-permission-level           | op的权限等级，4为最高                             |
| **3**>  | allow-nether                  | 是否允许玩家进入,只能输入布尔值                         |
| **4**>  | level-name                    | 主世界文件夹名称。                                |
| **5**>  | enable-query                  | 被用于收集服务器信息，只能输入布尔值。                      |
| **6**>  | allow-flight                  | 是否允许生存模式的玩家使用mod中的物品飞行，只能输入布尔值。          |
| **7**>  | announce-player-achievements  | 是否显示玩家获得的成就，只能是布尔值。                      |
| **8**>  | server-port                   | 服务器端口，一般为25565。                          |
| **9**>  | level-type                    | 确定地图的样式。由于表格篇幅限制请浏览下面的详细信息。              |
| **10**> | enable-rcon                   | 是否允许远程访问服务器控制台，只能为布尔值。                   |
| **11**> | force-gamemode                | 玩家是否以退出前的游戏模式进入，只能为布尔值。                  |
| **12**> | level-seed                    | 和单人一样，是地图种子。                             |
| **13**> | server-ip                     | 服务器ip，端口映射不输入任何数值则映射本机。                  |
| **14**> | max-build-height              | 最高高度，默认256。                              |
| **15**> | spawn-npcs                    | 是否生成NPC(wiki中指村民)，只能为布尔值。                |
| **16**> | white-list                    | 是否启用白名单，如启用只有白名单上的用户才能进入。                |
| **17**> | spawn-animals                 | 是否生成生物，只能为布尔值。                           |
| **18**> | snooper-enabled               | 是否定期发送信息至某网站，只能为布尔值。(仅1.3以上有效)           |
| **19**> | hardcore                      | 玩家死亡将会被服务器永久封禁，只能为布尔值。                   |
| **20**> | online-mode                   | 说白了就是是否允许盗版进入，只能为布尔值。                    |
| **21**> | resource-pack                 | 可输入指向一个资源包的URI，玩家将会选择是否使用资源包。            |
| **22**> | pvp                           | 是否允许pvp。只能为布尔值。                          |
| **23**> | difficulty                    | 难度，模式代表数字的与客户端一样。                        |
| **24**> | player-idle-timeout           | 玩家不活动超过某个时间将踢出服务器(单位分钟)。                 |
| **25**> | gamemode                      | 游戏模式，模式代表数字的与客户端一样。                      |
| **26**> | max-players                   | 最大游戏人数。                                  |
| **27**> | spawn-monsters                | 怪物是否生成，只能为布尔值。                           |
| **28**> | view-distance                 | 说白了就是可视距离。                               |
| **29**> | generate-structures           | 是否生成村庄之类的(不包括地牢和下界要塞)。                   |
| **30**> | motd                          | 服务器简介。                                   |
| **31**> | max-world-size                | 服务器世界半径(就是这个数值\*2作为世界边长)。                |
| **32**> | use-native-transport          | 是否对Linux平台收发数据包进行优化。                     |
| **33**> | enforce-whitelist             | 强制执行白名单。不在白名单中的用户将在服务器重载后从服务器踢出。         |
| **34**> | resource-pack-sha1            | 资源包的SHA-1值。                              |
| **35**> | prevent-proxy-connections     | 如果服务器发送的和Mojang的验证服务器的ISP/AS不一样,用户将会被踢出  |
| **36**> | network-compression-threshold | 如果数据包大于N(0-256)将被压缩。-1禁用数据包压缩,0则压缩全部数据包。 |
| **37**> | query.port                    | 设置监听服务器的端口号。                             |
| **38**> | rcon.password                 | 设置远程访问的密码。                               |
| **39**> | rcon.port                     | 设置远程访问的端口号。                              |
| **40**> | spawn-protection              | 通过(n\*2)+1来决定出生点的保护半径。                   |

其中可能漏了几条，不过无关紧要，Wiki中的也不是不能理解。

**"eula.txt"**：协议文件，必须把eula=false改成true。即同意协议。

\
\&#xNAN;**.log后缀文件**：显而易见是日志文件，放心删吧，不要紧。

**.yml后缀文件**：一般都是配置文件，比如"bukkit.yml"。当然也有不是配置文件的比如"help.yml"

**config文件夹**：Mod的配置文件存放于此，不过Sponge端不同，Sponge的mod和插件全部装在mods文件夹。插件配置同时也存放在config文件夹。

**libraries**：就是我们常说的库文件夹，不用多做了解。你只需要知道没有他服务端和客户端都不能开，很重要就行了。

**logs**：日志文件夹，存放着日志，可以用来排错。如果服务端正常开启，logs可以删除。

**Crash-report**：错误日志文件夹，用来排错。

**mods**：放mod的文件夹，不过海绵端还在里面存放插件，并且海绵端的话还能在mods文件夹下新建一个plugins子文件夹用来区分mod和插件。但是带有Mixin的标签的插件不能放在任何子目录下。

**World**：此文件夹为默认的服务器主城地图。可以在"server.properties"中的level-name中更改。

一般情况下只用留jar核心文件；lib/bin文件夹；“server.properties”；mods文件夹；config文件夹；plugins文件夹和一部分yml后缀配置文件。如果mod或插件产生了新文件或文件夹，只要你没有更改里面的东西一般也是可以删的。

### 服务端核心选择

Modpack中自带的服务端一般都是Forge+官服。虽然对mod兼容性很强，但是不能装插件是一个遗憾。我曾经也在工作室的网页里写过[1710服务端索引](http://www.minecraft-fc-stuido.com/page-2.html)，但是因为很少有人做1710包了，这里就不引到文章里来了（很占篇幅）。有兴趣的可以看看。

一般情况下，Forge+官服即可满足需求。但是有的时候又必须要要插件就要自己选核心了，1.12.2一般最好选用Sponge，1710的话就自己去看上面写的索引。

### 技巧性叙述

1.开服前可以在config文件夹中找到forge.cfg，接着把里面的disableVersionCheck从false改成true，毕竟天朝网络你懂的。

2.还是在forge.cfg里面，把removeErroringEntities以及 removeErroringTileEntities改成true，这样做的用意是取消在服务器发生实体冲突或其他原因时（不包括实体ID占用超出）报告crash，且直接删除发生冲突或其他原因导致崩溃的实体。

3.在开mod或插件服时由于信息过多会导致很难找到成功开服信息(Done(多少秒)! For help, type “help” or ”?”),这时候输入help如果有帮助信息出现则是服开好了。

4.安装mod的时候请注意剔除客户端mod（比如CMM）


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://ruang-feng.gitbook.io/deer-s/zheng-wen/jian-dan-fu-wu-duan-zhi-zuo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
