本帖最后由 贺兰兰 于 2021-5-22 22:51 编辑
- 当使用(A|B)时,即表示此处文字代表A或B,如: "...对于使用`GroupManger(X|Plus)`的服主...",即代表"...对于使用`GroupManger,GroupMangerX或GroupMangerPlus`的服主..."
- 当使用(A&B)时,即代表此处文字代表A和B,如: "...然后输入`/rg flag [区域名] -w [区域所在世界名] (passthrough&build) allow`..."即代表"...然后输入`/rg flag [区域名] -w [区域所在世界名] passthrough allow`和`/rg flag [区域名] -w [区域所在世界名] build allow`..."
- 如无特殊说明,文中`./`指服务端根目录路径
- 如无特殊说明,本文采用`CC BY-NC 3.0中国大陆`协议授权分发和使用
正文:
- 尝试进入服务器时提示`登陆失败:无效的会话(请尝试重新启动游戏)`或`登陆失败:身份验证主机正在停机维护`或`Bed Login`
- 问题定位: (对于正版服务器,)玩家无法连接Mojang正版验证服务器,(对于离线服务器,)或是服务器未使用离线验证模式,(对于使用BungeeCord的正版服务器),还有可能是未正确配置BC端和子端的正版验证开关导致的
- 解决方案:
- 对于正版服务器: 尝试在玩家计算机和服务器计算机中运行`ping sessionserver.mojang.com`,查看Mojang正版验证服务器连通性,如无法连接,请尝试设置hosts,使用代理或是等待Mojang官方消息;
- 对于离线服务器: 前往`./server.properties`文件,将`online-mode`项由`true`改为`false`
- 对于使用了BungeeCord代理端的正版服务器: 确保BungerCord端`./config.yml`的`online-mode`项值为`true`,且各下游服务端的`./server.properties`的`online-mode`项均为`false`
- 对于使用了BungeeCord代理端的离线服务器: 分别前往BungeeCord端的`./config.yml`和各下游服务端的`./server.properties`,将`online-mode`项由`true`改为`false`
- 尝试进入服务器时提示`if you want to enable IP forward,please enable it on BungeeCord as well!`
- 问题定位: (作为群组服)可能是未正确配置IP跟踪功能,(作为单独的服务器)也可能是错误的在服务端端内启用了BungeeCord模式
- 解决方案:
- 对于群组服务器: 前往BungeeCord端的`./config.yml`,确保`ip_forwarding`项值为`true`;同时前往各子端(主要是第一优先级服务器)的`./spigot.yml`,确保`bungeecord`项值为`true`
- 对于单独的服务器: 前往`./spigot.yml`,将`bungeecord`项设置为`false`
- 当我试图破坏/建造时,操作被拦截并显示`&4you don't have premission to break [方块ID]
- 问题定位: `Essentials(X)Build`插件阻止了玩家破坏/建造方块
- 解决方案: 删除`Essentials(X)Build`插件或给予玩家`essentials.build.*`权限,对于使用`GroupManger(X|Plus)`的服主,还可以前往`./plugins/GroupManger/data/world/group.yml`,将`[权限组名].default`项被设置为`true`的权限组的`build`项设置为`true`
- 当我试图破坏/建造时,操作被拦截并显示`&cSorry! &8But you can't break that.`
- 问题定位: 可能是所在区域(通常是主城等需要被保护的地块)或整个世界被设置了WorldGuard保护
- 解决方案:
- 对于仅部分区域无法操作: 先通过`/rg list`搜寻被保护的区域所对应的WorldGuard区域名,然后输入`/rg flag [区域名] -w [区域所在世界名] (passthrough&build) allow`以允许所有人操作此区域,或是输入`/rg addowner [区域名] -w [区域所在世界名] [自己的ID]`以将自己设置为区域所有者以操作此区域
- 对于整个世界无法操作: 输入`/rg flag __global__ -w [区域所在世界名] (passthrough&build) allow`以允许所有人操作全局区域,或是输入`/rg addowner __global__ -w [区域所在世界名] [自己的ID]`以将自己设置为全局区域所有者以操作此区域
- 当我在每一个世界的出生点附近尝试破坏/建造/触发脚本方块/触发商店购买/触发指令木牌等操作时,操作无反应,无任何提示
- 问题定位: 服务端自带的出生点保护系统会拦截在出生点指定范围内的一切操作并拦截事件
- 解决方案: 前往`./server.properties`,将`spawn-protection`项值设置为`0`
- 我经常被无缘无故的踢出服务器,理由是`Flying is not enable in this server`
- 问题定位: 服务端自带的飞行外挂检测功能在根本无法检测任何市面上流行的飞行外挂的情况下经常踢出使用鞘翅/由于卡顿被弹起/使用如电力背包这样的能够飞行的Mod物品的玩家
- 解决方案: 前往`./server.properties`,将`allow-flight`项值设置为`false`,并转而使用诸如Reflex,AAC等现代反作弊插件
- 在Sponge服务器上通过使用`/op`指令给予管理员权限后,依然没有管理员权限
- 问题定位: 原版的`/op`指令无法生效于Sponge权限系统上
- 解决方案: 安装任一权限组管理插件(如`Luckperms`,给予自己`*`权限(对于Luckperms,指令为`/lp user [自己的ID] permission set * true`
- 如何在不使用任何Motd管理插件的情况下,设置服务器Motd(标语)和Logo?
- 回答:
- 对于单独的服务器,设置Motd: 前往`./server.properties`,将`motd`项值设置为希望使用的Motd(如内容中包含中文,请先将中文转换为Unicode码后写入;如内容中包含样式代码(彩色字符),请使用`\u00A7`代替`&`或是`§`;如希望换行(Since 1.7+),请使用`\n`
- 对于群组服,设置Motd: 前往BungeeCord端的`config.yml`,将`listener.motd`和`servers.[第一优先级服务器].motd`设置为希望使用的Motd(如内容中包含中文,请先在BungeeCord的启动参数中加入`-Dfile.encoding=UTF8`后写入;如希望使用样式代码(彩色字符),请使用`§`而不是`&`;如希望换行,请遵循YAML多行内容格式换行,如:
```YAML
motd: |
§a第一行MOTD
§2第二行MOTD
```
- 设置Logo: 准备一个图片像素为64*64,文件名称和后缀为`server-icon.png`的图片,将其放入`./`(即服务端根目录,单端放入单端根目录,群组服仅需放入BC根目录)文件夹中
- 如何在玩家聊天栏前显示中文世界名?
- 问题定位: 服务端不支持将世界名设置为中文字符,因此需要使用别的方法显示中文世界名
- 解决方案:
- 对于Bukkit系服务器:
- 对于未安装聊天栏格式管理插件(不包括EssentialsChat)的服务器: 使用Multiverse-Core作为多世界管理插件,并前往`./plugins/Multiverse-Core/worlds.yml`,设置`[世界名].alias`项值为世界别名,设置完成后输入`/mv reload`重载配置
- 对于安装了聊天栏格式管理插件的服务器: 安装`PlaceHolderAPI`插件,输入`/papi ecloud download Multiverse`安装`Multiverse`拓展包,并使用`%multiverse_world_alias%`占位符表示玩家所处世界的别名(如无,则显示世界名称)
- 对于Sponge系服务器: 使用Nucleus基础插件手动配置世界别名(alias)
- 在高版本服务器`/plugins`指令显示的插件列表中,为什么有的插件名称后显示了`*`,而有的没有?
- 回答: 自1.13+服务器起,因BukkitAPI大幅度变动,部分旧版插件将无法兼容新版服务端;所有在插件名称后显示`*`的插件均代表了使用了旧版API的插件,其未在插件说明文件`plugin.yml`内标注`api-version: 1.13`
- 开启服务器时出现以下报错:
```
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
```
- 问题定位: JVM虚拟机由于未知原因无法被创建,程序自动退出。虽然我们无法详细分析出现这种情况时究竟是什么具体问题,但我们可以给出这种问题的一般定位: 内存堆分配错误
- 解决方案: 编辑服务端启动脚本(通常是后缀为bat,cmd或sh的文件),查看`-Xmx[A]M -Xms[B]M`处中A是否大于B,如否,调整大小,使A大于B,如是,检查A位置设置的最大内存堆大小是否大于您服务器/计算机的最大安装内存(RAM),如是,请适当调小此项,如否,检查服务器操作系统是否为64位,如是,请在控制台(Windows操作系统下请按`Windows+R`,然后输入cmd以启动控制台)中输入`java -version`,查看返回内容中是否包含`64-Bit`,如不包含,请重新安装64位的Java,如为32位操作系统,请尝试将-A处调整至低于`1024`
- 服务器崩溃,报错内容中含有`java.lang.OutOfMemoryError`
- 问题分析: Java内存溢出
- 解决方案: 编辑服务器启动脚本,调大最大内存堆(-Xmx)大小
- 如何关闭/禁止生成/禁止玩家进入地狱和末地?
- 回答: 前往`./server.properties`,将`allow-nether`项值设置为`false`以关闭地狱;前往`./bukkit.yml`,将`allow-end`项值设置为`false`以关闭末地
- 服务器出现以下报错,且插件无法加载
```
Cloud not load plugin '[A]' in folder 'plugins'
org.bukkit.plugin.UnknownDependencyException: [B]
...
```
- 问题分析: 插件[A]缺失依赖插件[B]
- 解决方案: 安装[B]插件
- 服务器弹出以下警告,并无法正常开启服务端
```
****FAILED TO BIND TO PORT!
The exception was: java.net.BondException: Address already in use: bind
Perhaps a server is already running on that port?
```
- 问题分析: 服务器端口被占用(端口冲突)
- 解决方案: 前往`./server.properties`,修改`server-port`项值为1-65535范围内的其他未被占用的端口号,或检查本服务器是否已经被启动
- 生物/玩家血量无法大于2048
- 问题分析: Spigot默认规定生物血量不能大于2048.0
- 解决方案: 前往`spigot.yml`,将`max-health`项值调大至您所希望的最大生物血量大小
- `/give`指令无法指定NBT参数
- 问题分析: Essentials(X)等基础插件覆写的`/give`指令无法指定NBT参数
- 解决方案: 使用`/minecraft:give`指令代替`/give`以通过原版指令系统执行
- 如何禁用自然生物刷新?
- 回答: 前往`./server.properties`,将`spawn-monster`,`spawn-animals`值设置为false即可分别禁用怪物,动物的自然生成
最后,本文完全由本人凭开服记忆手写,难免有各种问题,如有发现欢迎指正。
如果您有什么开服问题无法得到解决(或是有更成熟的解决方案想要提供),也欢迎在本帖下回复,有代表性的可能将会被我们收录进本帖中!
另外,如果您认为本文对您有帮助,请千万不要吝惜您的金粒,人气和回复,这对我很有帮助!
在本文开始前,本文作者约定:
- 当使用(A|B)时,即表示此处文字代表A或B,如: "...对于使用
GroupManger(X|Plus)
的服主...",即代表"...对于使用GroupManger,GroupMangerX或GroupMangerPlus
的服主..." - 当使用(A&B)时,即代表此处文字代表A和B,如: "...然后输入
/rg flag [区域名] -w [区域所在世界名] (passthrough&build) allow
..."即代表"...然后输入/rg flag [区域名] -w [区域所在世界名] passthrough allow
和/rg flag [区域名] -w [区域所在世界名] build allow
..." - 如无特殊说明,文中
./
指服务端根目录路径 - 如无特殊说明,本文采用
CC BY-NC 3.0中国大陆
协议授权分发和使用
正文: - 尝试进入服务器时提示
登陆失败:无效的会话(请尝试重新启动游戏)
或登陆失败:身份验证主机正在停机维护
或Bed Login
- 问题定位: (对于正版服务器,)玩家无法连接Mojang正版验证服务器,(对于离线服务器,)或是服务器未使用离线验证模式,(对于使用BungeeCord的正版服务器),还有可能是未正确配置BC端和子端的正版验证开关导致的
- 解决方案:
- 对于正版服务器: 尝试在玩家计算机和服务器计算机中运行
ping sessionserver.mojang.com
,查看Mojang正版验证服务器连通性,如无法连接,请尝试设置hosts,使用代理或是等待Mojang官方消息; - 对于离线服务器: 前往
./server.properties
文件,将online-mode
项由true
改为false
- 对于使用了BungeeCord代理端的正版服务器: 确保BungerCord端
./config.yml
的online-mode
项值为true
,且各下游服务端的./server.properties
的online-mode
项均为false
- 对于使用了BungeeCord代理端的离线服务器: 分别前往BungeeCord端的
./config.yml
和各下游服务端的./server.properties
,将online-mode
项由true
改为false
- 尝试进入服务器时提示
if you want to enable IP forward,please enable it on BungeeCord as well!
- 问题定位: (作为群组服)可能是未正确配置IP跟踪功能,(作为单独的服务器)也可能是错误的在服务端端内启用了BungeeCord模式
- 解决方案:
- 对于群组服务器: 前往BungeeCord端的
./config.yml
,确保ip_forwarding
项值为true
;同时前往各子端(主要是第一优先级服务器)的./spigot.yml
,确保bungeecord
项值为true
- 对于单独的服务器: 前往
./spigot.yml
,将bungeecord
项设置为false
- 当我试图破坏/建造时,操作被拦截并显示`&4you don't have premission to break [方块ID]
- 问题定位:
Essentials(X)Build
插件阻止了玩家破坏/建造方块 - 解决方案: 删除
Essentials(X)Build
插件或给予玩家essentials.build.*
权限,对于使用GroupManger(X|Plus)
的服主,还可以前往./plugins/GroupManger/data/world/group.yml
,将[权限组名].default
项被设置为true
的权限组的build
项设置为true
- 问题定位:
- 当我试图破坏/建造时,操作被拦截并显示
&cSorry! &8But you can't break that.
- 问题定位: 可能是所在区域(通常是主城等需要被保护的地块)或整个世界被设置了WorldGuard保护
- 解决方案:
- 对于仅部分区域无法操作: 先通过
/rg list
搜寻被保护的区域所对应的WorldGuard区域名,然后输入/rg flag [区域名] -w [区域所在世界名] (passthrough&build) allow
以允许所有人操作此区域,或是输入/rg addowner [区域名] -w [区域所在世界名] [自己的ID]
以将自己设置为区域所有者以操作此区域 - 对于整个世界无法操作: 输入
/rg flag __global__ -w [区域所在世界名] (passthrough&build) allow
以允许所有人操作全局区域,或是输入/rg addowner __global__ -w [区域所在世界名] [自己的ID]
以将自己设置为全局区域所有者以操作此区域
- 当我在每一个世界的出生点附近尝试破坏/建造/触发脚本方块/触发商店购买/触发指令木牌等操作时,操作无反应,无任何提示
- 问题定位: 服务端自带的出生点保护系统会拦截在出生点指定范围内的一切操作并拦截事件
- 解决方案: 前往
./server.properties
,将spawn-protection
项值设置为0
- 我经常被无缘无故的踢出服务器,理由是
Flying is not enable in this server
- 问题定位: 服务端自带的飞行外挂检测功能在根本无法检测任何市面上流行的飞行外挂的情况下经常踢出使用鞘翅/由于卡顿被弹起/使用如电力背包这样的能够飞行的Mod物品的玩家
- 解决方案: 前往
./server.properties
,将allow-flight
项值设置为false
,并转而使用诸如Reflex,AAC等现代反作弊插件
- 在Sponge服务器上通过使用
/op
指令给予管理员权限后,依然没有管理员权限
- 问题定位: 原版的
/op
指令无法生效于Sponge权限系统上 - 解决方案: 安装任一权限组管理插件(如
Luckperms
,给予自己*
权限(对于Luckperms,指令为/lp user [自己的ID] permission set * true
- 问题定位: 原版的
- 如何在不使用任何Motd管理插件的情况下,设置服务器Motd(标语)和Logo?
- 回答:
- 对于单独的服务器,设置Motd: 前往
./server.properties
,将motd
项值设置为希望使用的Motd(如内容中包含中文,请先将中文转换为Unicode码后写入;如内容中包含样式代码(彩色字符),请使用\u00A7
代替&
或是§
;如希望换行(Since 1.7+),请使用\n
- 对于群组服,设置Motd: 前往BungeeCord端的
config.yml
,将listener.motd
和servers.[第一优先级服务器].motd
设置为希望使用的Motd(如内容中包含中文,请先在BungeeCord的启动参数中加入-Dfile.encoding=UTF8
后写入;如希望使用样式代码(彩色字符),请使用§
而不是&
;如希望换行,请遵循YAML多行内容格式换行,如:
motd: |
§a第一行MOTD
§2第二行MOTD - 设置Logo: 准备一个图片像素为64*64,文件名称和后缀为
server-icon.png
的图片,将其放入./
(即服务端根目录,单端放入单端根目录,群组服仅需放入BC根目录)文件夹中
- 如何在玩家聊天栏前显示中文世界名?
- 问题定位: 服务端不支持将世界名设置为中文字符,因此需要使用别的方法显示中文世界名
- 解决方案:
- 对于Bukkit系服务器:
- 对于未安装聊天栏格式管理插件(不包括EssentialsChat)的服务器: 使用Multiverse-Core作为多世界管理插件,并前往
./plugins/Multiverse-Core/worlds.yml
,设置[世界名].alias
项值为世界别名,设置完成后输入/mv reload
重载配置
- 对于未安装聊天栏格式管理插件(不包括EssentialsChat)的服务器: 使用Multiverse-Core作为多世界管理插件,并前往
- 对于安装了聊天栏格式管理插件的服务器: 安装
PlaceHolderAPI
插件,输入/papi ecloud download Multiverse
安装Multiverse
拓展包,并使用%multiverse_world_alias%
占位符表示玩家所处世界的别名(如无,则显示世界名称) - 对于Sponge系服务器: 使用Nucleus基础插件手动配置世界别名(alias)
- 在高版本服务器
/plugins
指令显示的插件列表中,为什么有的插件名称后显示了*
,而有的没有?
- 回答: 自1.13+服务器起,因BukkitAPI大幅度变动,部分旧版插件将无法兼容新版服务端;所有在插件名称后显示
*
的插件均代表了使用了旧版API的插件,其未在插件说明文件plugin.yml
内标注api-version: 1.13
- 回答: 自1.13+服务器起,因BukkitAPI大幅度变动,部分旧版插件将无法兼容新版服务端;所有在插件名称后显示
- 开启服务器时出现以下报错:
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
- 问题定位: JVM虚拟机由于未知原因无法被创建,程序自动退出。虽然我们无法详细分析出现这种情况时究竟是什么具体问题,但我们可以给出这种问题的一般定位: 内存堆分配错误
- 解决方案: 编辑服务端启动脚本(通常是后缀为bat,cmd或sh的文件),查看
-Xmx[A]M -Xms[B]M
处中A是否大于B,如否,调整大小,使A大于B,如是,检查A位置设置的最大内存堆大小是否大于您服务器/计算机的最大安装内存(RAM),如是,请适当调小此项,如否,检查服务器操作系统是否为64位,如是,请在控制台(Windows操作系统下请按Windows+R
,然后输入cmd以启动控制台)中输入java -version
,查看返回内容中是否包含64-Bit
,如不包含,请重新安装64位的Java,如为32位操作系统,请尝试将-A处调整至低于1024
- 服务器崩溃,报错内容中含有
java.lang.OutOfMemoryError
- 问题分析: Java内存溢出
- 解决方案: 编辑服务器启动脚本,调大最大内存堆(-Xmx)大小
- 如何关闭/禁止生成/禁止玩家进入地狱和末地?
- 回答: 前往
./server.properties
,将allow-nether
项值设置为false
以关闭地狱;前往./bukkit.yml
,将allow-end
项值设置为false
以关闭末地
- 回答: 前往
- 服务器出现以下报错,且插件无法加载
Cloud not load plugin '[A]' in folder 'plugins'
org.bukkit.plugin.UnknownDependencyException: [B]
...
- 问题分析: 插件[A]缺失依赖插件[B]
- 解决方案: 安装[B]插件
- 服务器弹出以下警告,并无法正常开启服务端
****FAILED TO BIND TO PORT!
The exception was: java.net.BondException: Address already in use: bind
Perhaps a server is already running on that port?
- 问题分析: 服务器端口被占用(端口冲突)
- 解决方案: 前往
./server.properties
,修改server-port
项值为1-65535范围内的其他未被占用的端口号,或检查本服务器是否已经被启动
- 生物/玩家血量无法大于2048
- 问题分析: Spigot默认规定生物血量不能大于2048.0
- 解决方案: 前往
spigot.yml
,将max-health
项值调大至您所希望的最大生物血量大小
/give
指令无法指定NBT参数
- 问题分析: Essentials(X)等基础插件覆写的
/give
指令无法指定NBT参数 - 解决方案: 使用
/minecraft:give
指令代替/give
以通过原版指令系统执行
- 如何禁用自然生物刷新?
回答: 前往
./server.properties
,将spawn-monster
,spawn-animals
值设置为false即可分别禁用怪物,动物的自然生成
最后,本文完全由本人凭开服记忆手写,难免有各种问题,如有发现欢迎指正。
如果您有什么开服问题无法得到解决(或是有更成熟的解决方案想要提供),也欢迎在本帖下回复,有代表性的可能将会被我们收录进本帖中!
另外,如果您认为本文对您有帮助,请千万不要吝惜您的金粒,人气和回复,这对我很有帮助!
2021.12 数据,可能有更多内容
在本文开始前,本文作者约定:- 当使用(A|B)时,即表示此处文字代表A或B,如: "...对于使用`GroupManger(X|Plus)`的服主...",即代表"...对于使用`GroupManger,GroupMangerX或GroupMangerPlus`的服主..."
- 当使用(A&B)时,即代表此处文字代表A和B,如: "...然后输入`/rg flag [区域名] -w [区域所在世界名] (passthrough&build) allow`..."即代表"...然后输入`/rg flag [区域名] -w [区域所在世界名] passthrough allow`和`/rg flag [区域名] -w [区域所在世界名] build allow`..."
- 如无特殊说明,文中`./`指服务端根目录路径
- 如无特殊说明,本文采用`CC BY-NC 3.0中国大陆`协议授权分发和使用
正文:
- 尝试进入服务器时提示`登陆失败:无效的会话(请尝试重新启动游戏)`或`登陆失败:身份验证主机正在停机维护`或`Bed Login`
- 问题定位: (对于正版服务器,)玩家无法连接Mojang正版验证服务器,(对于离线服务器,)或是服务器未使用离线验证模式,(对于使用BungeeCord的正版服务器),还有可能是未正确配置BC端和子端的正版验证开关导致的
- 解决方案:
- 对于正版服务器: 尝试在玩家计算机和服务器计算机中运行`ping sessionserver.mojang.com`,查看Mojang正版验证服务器连通性,如无法连接,请尝试设置hosts,使用代理或是等待Mojang官方消息;
- 对于离线服务器: 前往`./server.properties`文件,将`online-mode`项由`true`改为`false`
- 对于使用了BungeeCord代理端的正版服务器: 确保BungerCord端`./config.yml`的`online-mode`项值为`true`,且各下游服务端的`./server.properties`的`online-mode`项均为`false`
- 对于使用了BungeeCord代理端的离线服务器: 分别前往BungeeCord端的`./config.yml`和各下游服务端的`./server.properties`,将`online-mode`项由`true`改为`false`
- 尝试进入服务器时提示`if you want to enable IP forward,please enable it on BungeeCord as well!`
- 问题定位: (作为群组服)可能是未正确配置IP跟踪功能,(作为单独的服务器)也可能是错误的在服务端端内启用了BungeeCord模式
- 解决方案:
- 对于群组服务器: 前往BungeeCord端的`./config.yml`,确保`ip_forwarding`项值为`true`;同时前往各子端(主要是第一优先级服务器)的`./spigot.yml`,确保`bungeecord`项值为`true`
- 对于单独的服务器: 前往`./spigot.yml`,将`bungeecord`项设置为`false`
- 当我试图破坏/建造时,操作被拦截并显示`&4you don't have premission to break [方块ID]
- 问题定位: `Essentials(X)Build`插件阻止了玩家破坏/建造方块
- 解决方案: 删除`Essentials(X)Build`插件或给予玩家`essentials.build.*`权限,对于使用`GroupManger(X|Plus)`的服主,还可以前往`./plugins/GroupManger/data/world/group.yml`,将`[权限组名].default`项被设置为`true`的权限组的`build`项设置为`true`
- 当我试图破坏/建造时,操作被拦截并显示`&cSorry! &8But you can't break that.`
- 问题定位: 可能是所在区域(通常是主城等需要被保护的地块)或整个世界被设置了WorldGuard保护
- 解决方案:
- 对于仅部分区域无法操作: 先通过`/rg list`搜寻被保护的区域所对应的WorldGuard区域名,然后输入`/rg flag [区域名] -w [区域所在世界名] (passthrough&build) allow`以允许所有人操作此区域,或是输入`/rg addowner [区域名] -w [区域所在世界名] [自己的ID]`以将自己设置为区域所有者以操作此区域
- 对于整个世界无法操作: 输入`/rg flag __global__ -w [区域所在世界名] (passthrough&build) allow`以允许所有人操作全局区域,或是输入`/rg addowner __global__ -w [区域所在世界名] [自己的ID]`以将自己设置为全局区域所有者以操作此区域
- 当我在每一个世界的出生点附近尝试破坏/建造/触发脚本方块/触发商店购买/触发指令木牌等操作时,操作无反应,无任何提示
- 问题定位: 服务端自带的出生点保护系统会拦截在出生点指定范围内的一切操作并拦截事件
- 解决方案: 前往`./server.properties`,将`spawn-protection`项值设置为`0`
- 我经常被无缘无故的踢出服务器,理由是`Flying is not enable in this server`
- 问题定位: 服务端自带的飞行外挂检测功能在根本无法检测任何市面上流行的飞行外挂的情况下经常踢出使用鞘翅/由于卡顿被弹起/使用如电力背包这样的能够飞行的Mod物品的玩家
- 解决方案: 前往`./server.properties`,将`allow-flight`项值设置为`false`,并转而使用诸如Reflex,AAC等现代反作弊插件
- 在Sponge服务器上通过使用`/op`指令给予管理员权限后,依然没有管理员权限
- 问题定位: 原版的`/op`指令无法生效于Sponge权限系统上
- 解决方案: 安装任一权限组管理插件(如`Luckperms`,给予自己`*`权限(对于Luckperms,指令为`/lp user [自己的ID] permission set * true`
- 如何在不使用任何Motd管理插件的情况下,设置服务器Motd(标语)和Logo?
- 回答:
- 对于单独的服务器,设置Motd: 前往`./server.properties`,将`motd`项值设置为希望使用的Motd(如内容中包含中文,请先将中文转换为Unicode码后写入;如内容中包含样式代码(彩色字符),请使用`\u00A7`代替`&`或是`§`;如希望换行(Since 1.7+),请使用`\n`
- 对于群组服,设置Motd: 前往BungeeCord端的`config.yml`,将`listener.motd`和`servers.[第一优先级服务器].motd`设置为希望使用的Motd(如内容中包含中文,请先在BungeeCord的启动参数中加入`-Dfile.encoding=UTF8`后写入;如希望使用样式代码(彩色字符),请使用`§`而不是`&`;如希望换行,请遵循YAML多行内容格式换行,如:
```YAML
motd: |
§a第一行MOTD
§2第二行MOTD
```
- 设置Logo: 准备一个图片像素为64*64,文件名称和后缀为`server-icon.png`的图片,将其放入`./`(即服务端根目录,单端放入单端根目录,群组服仅需放入BC根目录)文件夹中
- 如何在玩家聊天栏前显示中文世界名?
- 问题定位: 服务端不支持将世界名设置为中文字符,因此需要使用别的方法显示中文世界名
- 解决方案:
- 对于Bukkit系服务器:
- 对于未安装聊天栏格式管理插件(不包括EssentialsChat)的服务器: 使用Multiverse-Core作为多世界管理插件,并前往`./plugins/Multiverse-Core/worlds.yml`,设置`[世界名].alias`项值为世界别名,设置完成后输入`/mv reload`重载配置
- 对于安装了聊天栏格式管理插件的服务器: 安装`PlaceHolderAPI`插件,输入`/papi ecloud download Multiverse`安装`Multiverse`拓展包,并使用`%multiverse_world_alias%`占位符表示玩家所处世界的别名(如无,则显示世界名称)
- 对于Sponge系服务器: 使用Nucleus基础插件手动配置世界别名(alias)
- 在高版本服务器`/plugins`指令显示的插件列表中,为什么有的插件名称后显示了`*`,而有的没有?
- 回答: 自1.13+服务器起,因BukkitAPI大幅度变动,部分旧版插件将无法兼容新版服务端;所有在插件名称后显示`*`的插件均代表了使用了旧版API的插件,其未在插件说明文件`plugin.yml`内标注`api-version: 1.13`
- 开启服务器时出现以下报错:
```
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
```
- 问题定位: JVM虚拟机由于未知原因无法被创建,程序自动退出。虽然我们无法详细分析出现这种情况时究竟是什么具体问题,但我们可以给出这种问题的一般定位: 内存堆分配错误
- 解决方案: 编辑服务端启动脚本(通常是后缀为bat,cmd或sh的文件),查看`-Xmx[A]M -Xms[B]M`处中A是否大于B,如否,调整大小,使A大于B,如是,检查A位置设置的最大内存堆大小是否大于您服务器/计算机的最大安装内存(RAM),如是,请适当调小此项,如否,检查服务器操作系统是否为64位,如是,请在控制台(Windows操作系统下请按`Windows+R`,然后输入cmd以启动控制台)中输入`java -version`,查看返回内容中是否包含`64-Bit`,如不包含,请重新安装64位的Java,如为32位操作系统,请尝试将-A处调整至低于`1024`
- 服务器崩溃,报错内容中含有`java.lang.OutOfMemoryError`
- 问题分析: Java内存溢出
- 解决方案: 编辑服务器启动脚本,调大最大内存堆(-Xmx)大小
- 如何关闭/禁止生成/禁止玩家进入地狱和末地?
- 回答: 前往`./server.properties`,将`allow-nether`项值设置为`false`以关闭地狱;前往`./bukkit.yml`,将`allow-end`项值设置为`false`以关闭末地
- 服务器出现以下报错,且插件无法加载
```
Cloud not load plugin '[A]' in folder 'plugins'
org.bukkit.plugin.UnknownDependencyException: [B]
...
```
- 问题分析: 插件[A]缺失依赖插件[B]
- 解决方案: 安装[B]插件
- 服务器弹出以下警告,并无法正常开启服务端
```
****FAILED TO BIND TO PORT!
The exception was: java.net.BondException: Address already in use: bind
Perhaps a server is already running on that port?
```
- 问题分析: 服务器端口被占用(端口冲突)
- 解决方案: 前往`./server.properties`,修改`server-port`项值为1-65535范围内的其他未被占用的端口号,或检查本服务器是否已经被启动
- 生物/玩家血量无法大于2048
- 问题分析: Spigot默认规定生物血量不能大于2048.0
- 解决方案: 前往`spigot.yml`,将`max-health`项值调大至您所希望的最大生物血量大小
- `/give`指令无法指定NBT参数
- 问题分析: Essentials(X)等基础插件覆写的`/give`指令无法指定NBT参数
- 解决方案: 使用`/minecraft:give`指令代替`/give`以通过原版指令系统执行
- 如何禁用自然生物刷新?
- 回答: 前往`./server.properties`,将`spawn-monster`,`spawn-animals`值设置为false即可分别禁用怪物,动物的自然生成
最后,本文完全由本人凭开服记忆手写,难免有各种问题,如有发现欢迎指正。
如果您有什么开服问题无法得到解决(或是有更成熟的解决方案想要提供),也欢迎在本帖下回复,有代表性的可能将会被我们收录进本帖中!
另外,如果您认为本文对您有帮助,请千万不要吝惜您的金粒,人气和回复,这对我很有帮助!
这个教程不错的,正好我服务器我还想不让它刷怪呢。
楼主写的太好了!
正常玩家进入服务器啥谁没有,op进入服务器就崩溃qwq,咋回事
还是比较详细的
本帖最后由 凯特君 于 2021-2-6 02:44 编辑
问题:我用号登进去刷屏,没装任何插件,然后被踢出来了是这么显示的: 连接已丢失
Kicked for spamming
我用的喵端,能解决吗
问题:我用号登进去刷屏,没装任何插件,然后被踢出来了是这么显示的: 连接已丢失
Kicked for spamming
我用的喵端,能解决吗

感谢分享
感谢分享
写得很不错

帖主讲的非常详细
请问用fabric开完服务器之后没有插件文件夹要怎么加插件
Dacheng_ 发表于 2021-4-24 00:22
请问用fabric开完服务器之后没有插件文件夹要怎么加插件
原版 VanillaFabric 不能加插件
谢谢大佬,非常不错的教程
感谢分享感谢分享
太省心了
厉害牛逼厉害牛逼厉害牛逼厉害牛逼厉害牛逼
大佬大佬,我的客户端搜索不到服务端,有没有办法

请问服务端如何让玩家不在线的时候同样还在刷新作物生长?
你好,作者大大,我想问问如果进入自己开的服务器显示连接已丢失怎么办啊?
打任何指令都是未知的物品ID是怎么回事
谢谢大佬,教程很详细
谢谢分享学到了
感谢楼主,问题解决了