From 40abdba6222aebaa023df7eefb09bf4f751a1e5a Mon Sep 17 00:00:00 2001 From: lilingfengdev Date: Tue, 27 Aug 2024 10:57:34 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=B7=E4=B8=8D=E8=A6=81=E5=9C=A8=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E4=B8=AD=E6=96=87=E7=AC=A6=E5=8F=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CONTRIBUTING.md | 24 +- README.md | 6 +- .../bds-core/preparation/preparation.md | 6 +- .../bds-core/preparation/vcruntime.md | 6 +- docs-bedrock/bds-core/preparation/websites.md | 12 +- .../process/LeviLamina/LeviLamina-Install.md | 28 +- .../process/LeviLamina/LeviLamina-Plugins.md | 34 +- .../bds-core/process/LeviLamina/LeviLamina.md | 2 +- .../LeviLamina/legacy-script-engine.md | 24 +- .../process/LiteLoaderBDS/LiteLoaderBDS.md | 6 +- .../bds-core/process/LiteLoaderBDS/install.md | 12 +- .../bds-core/process/LiteLoaderBDS/plugins.md | 12 +- .../process/plugins/plugins-loader-choose.md | 78 ++-- .../bds-core/process/plugins/plugins.md | 2 +- docs-bedrock/bds-core/process/process.md | 4 +- docs-bedrock/bds-core/start/basic/basic.md | 6 +- .../start/basic/server-file-structure.md | 70 +-- docs-bedrock/bds-core/start/start.md | 2 +- docs-bedrock/intro.md | 4 +- .../nukkit-core/preparation/preparation.md | 6 +- .../pnx-core/preparation/preparation.md | 6 +- .../super-basic/protocol-version-number.md | 6 +- .../super-basic/server-core-choose.md | 102 ++--- docs-bedrock/super-basic/server-type.md | 54 +-- docs-bedrock/super-basic/super-basic.md | 6 +- docs-bedrock/super-basic/version.md | 32 +- docs-java/advance/MiniMessage.md | 24 +- .../advance/Resource-pack-distribution.md | 38 +- docs-java/advance/Skript/AdvancedTutorials.md | 106 ++--- docs-java/advance/Skript/BasicTutorials.md | 402 +++++++++--------- docs-java/advance/Skript/skript.md | 18 +- docs-java/advance/YAML/YAML.md | 18 +- docs-java/advance/YAML/extention.md | 12 +- docs-java/advance/YAML/foundation.md | 24 +- docs-java/advance/advance.md | 4 +- docs-java/advance/bot.md | 28 +- docs-java/advance/chinese-username.md | 10 +- docs-java/advance/command.yml.md | 60 +-- .../build-up/BungeeCord/build-up.md | 2 +- .../build-up/BungeeCord/bungeecord.md | 2 +- .../build-up/BungeeCord/config.yml.md | 32 +- .../build-up/Velocity/build-up.md | 48 +-- .../build-up/Velocity/velocity.md | 40 +- .../build-up/Velocity/velocity.toml.md | 58 +-- .../cross-server/command/BungeeCord.md | 12 +- .../advance/cross-server/command/Velocity.md | 18 +- .../advance/cross-server/cross-server.md | 32 +- .../advance/cross-server/hide-the-real-IP.md | 4 +- docs-java/advance/cross-server/join-server.md | 6 +- .../advance/cross-server/plugin/BC&WF.md | 18 +- .../advance/cross-server/plugin/plugin.md | 6 +- .../advance/cross-server/plugin/velocity.md | 30 +- docs-java/advance/cross-server/precautions.md | 16 +- .../cross-server/server-core-choose.md | 20 +- docs-java/advance/folia.md | 10 +- docs-java/advance/format-code.md | 14 +- docs-java/advance/kether/basic.md | 62 +-- docs-java/advance/kether/idk.md | 8 +- docs-java/advance/kether/if.md | 64 +-- docs-java/advance/kether/kether.md | 2 +- docs-java/advance/kether/math.md | 4 +- docs-java/advance/kether/preparation.md | 6 +- docs-java/advance/kether/variable.md | 30 +- docs-java/advance/loginchoices.md | 70 +-- docs-java/intro.md | 4 +- docs-java/preparation/preparation.md | 6 +- docs-java/preparation/websites.md | 46 +- .../maintenance/anticheat/anticheat.md | 14 +- .../maintenance/anticheat/anticheatplugins.md | 70 +-- .../process/maintenance/anticheat/antixray.md | 60 +-- .../process/maintenance/anticheat/rng.md | 14 +- docs-java/process/maintenance/backup.md | 44 +- .../maintenance/optimize/ask-for-help.md | 8 +- docs-java/process/maintenance/optimize/go.md | 244 +++++------ .../maintenance/optimize/jvm/common.md | 26 +- .../maintenance/optimize/jvm/dragonwell11.md | 6 +- .../maintenance/optimize/jvm/dragonwell8.md | 10 +- .../process/maintenance/optimize/jvm/graal.md | 4 +- .../process/maintenance/optimize/jvm/jvm.md | 4 +- .../process/maintenance/optimize/jvm/zing.md | 12 +- .../process/maintenance/optimize/optimize.md | 62 +-- .../maintenance/optimize/optimized-plugin.md | 118 ++--- .../optimize/performance-analysis.md | 34 +- .../optimize/storage-space-optimization.md | 54 +-- .../Geyser/Upgrade/Custom-item-model-map.md | 52 +-- .../Geyser/Upgrade/Extended/Extended.md | 10 +- .../Geyser/Upgrade/Extended/Fix.md | 26 +- .../Geyser/Upgrade/Extended/More.md | 6 +- .../Geyser/Upgrade/Extended/compatible.md | 10 +- .../Geyser/Upgrade/Font-image-conversion.md | 6 +- .../Geyser/Upgrade/Geyser-skull.md | 32 +- .../Geyser/Upgrade/GeyserMEG4-supports.md | 6 +- .../mobile-player/Geyser/Upgrade/Slimefun.md | 6 +- .../mobile-player/Geyser/introduction/FAQ.md | 26 +- .../Geyser/introduction/install.md | 96 ++--- .../Geyser/introduction/overview.md | 8 +- .../process/mobile-player/Pojav_Android.md | 10 +- docs-java/process/mobile-player/Pojav_iOS.md | 82 ++-- .../process/mobile-player/mobile-player.md | 2 +- .../plugin/Front-Plugin/Front-Plugin.md | 2 +- .../Front-Plugin/PlaceHolderAPI/CheckItem.md | 10 +- .../Front-Plugin/PlaceHolderAPI/Math.md | 4 +- .../Front-Plugin/PlaceHolderAPI/outline.md | 8 +- .../plugin/Front-Plugin/PlayerPoints.md | 6 +- .../plugin/Front-Plugin/ProtocolLib.md | 4 +- .../process/plugin/Front-Plugin/XConomy.md | 6 +- .../process/plugin/Front-Plugin/vault.md | 8 +- .../plugin/ManageTool/AntiGrief/AntiGrief.md | 2 +- .../plugin/ManageTool/AntiGrief/InvSee++.md | 20 +- .../ManageTool/AntiGrief/PrismRefracted.md | 4 +- .../ManageTool/BasicPlugins/BasicPlugins.md | 8 +- .../plugin/ManageTool/BasicPlugins/CMI/CMI.md | 2 +- .../BasicPlugins/EssentialsX/ConfigTips.md | 26 +- .../BasicPlugins/EssentialsX/EssentialsX.md | 12 +- .../BasicPlugins/EssentialsX/PapiSupport.md | 2 +- .../BasicPlugins/EssentialsX/config.yml.md | 268 ++++++------ .../BasicPlugins/EssentialsX/kit.md | 6 +- .../BasicPlugins/EssentialsX/warp.md | 2 +- .../plugin/ManageTool/BasicPlugins/delete.md | 10 +- .../plugin/ManageTool/Permission/Group.md | 16 +- .../ManageTool/Permission/Permission.md | 8 +- .../plugin/ManageTool/Permission/Tips.md | 6 +- .../ManageTool/Permission/WhatIsPermission.md | 12 +- .../plugin/ManageTool/Permission/meta.md | 28 +- .../ManageTool/PluginManagement/PlugManX.md | 6 +- .../PluginManagement/Plugin Portal.md | 2 +- .../PluginManagement/PluginManagement.md | 4 +- .../plugin/ManageTool/PluginManagement/Yum.md | 2 +- .../ResourcePackManagement/ItemsAdder.md | 26 +- .../ResourcePackManagement/Oraxen.md | 8 +- .../ResourcePackManagement.md | 14 +- .../process/plugin/ManageTool/chat/Carbon.md | 2 +- .../plugin/ManageTool/chat/HuskChat.md | 2 +- .../process/plugin/ManageTool/chat/TrChat.md | 2 +- .../process/plugin/ManageTool/chat/chat.md | 2 +- .../plugin/WorldManagement/Multiverse.md | 36 +- .../plugin/WorldManagement/WorldGuard.md | 4 +- docs-java/process/plugin/config.md | 28 +- docs-java/process/plugin/game/Nova.md | 10 +- .../plugin/game/Slimefun/AutoUpdate.md | 6 +- .../game/Slimefun/ResourcePackForSlimefun.md | 4 +- .../process/plugin/game/Slimefun/Slimefun.md | 6 +- .../plugin/other/Holograms/DecentHolograms.md | 12 +- .../plugin/other/Holograms/Holograms.md | 4 +- .../other/Holograms/HolographicDisplays.md | 6 +- .../process/plugin/other/Login/Authme.md | 8 +- .../plugin/other/Login/CatSeedLogin.md | 8 +- .../process/plugin/other/MOTD/MiniMOTD.md | 2 +- .../plugin/other/Menu/ChestCommands.md | 6 +- .../process/plugin/other/Menu/DeluxeMenus.md | 2 +- docs-java/process/plugin/other/Menu/Invero.md | 10 +- docs-java/process/plugin/other/Menu/Menu.md | 2 +- docs-java/process/plugin/other/Menu/TrMenu.md | 30 +- .../plugin/other/Menu/demo/inv-称号系统.yml | 2 +- .../plugin/other/Menu/demo/trmv3-每日签到.yml | 2 +- docs-java/process/plugin/other/Other.md | 2 +- .../process/plugin/other/SkinsRestorer.md | 2 +- .../plugin/other/TAB&Scoreboard/TAB.md | 8 +- .../other/TAB&Scoreboard/Tab&Scoreboard.md | 2 +- .../process/plugin/other/Via/MoreforVia.md | 22 +- docs-java/process/plugin/other/Via/Via.md | 50 +-- .../process/plugin/other/Via/ViaBackwards.md | 20 +- .../process/plugin/other/Via/ViaRewind.md | 16 +- .../process/plugin/other/Via/ViaVersion.md | 182 ++++---- docs-java/process/plugin/other/npc/NPC.md | 2 +- .../process/plugin/other/npc/ZNPCsPlus.md | 2 +- .../process/plugin/other/npc/citizens.md | 4 +- .../process/plugin/plugin-abbreviation.md | 10 +- docs-java/process/plugin/plugin-select.md | 38 +- .../process/plugin/plugin-signature-file.md | 38 +- docs-java/process/plugin/plugin.md | 48 +-- .../process/plugin/protection/BentoBox.md | 6 +- .../plugin/protection/GriefDefender.md | 6 +- .../process/plugin/protection/PlotSquared.md | 6 +- .../process/plugin/protection/Residence.md | 34 +- docs-java/process/plugin/protection/Towny.md | 2 +- .../process/plugin/protection/protection.md | 4 +- docs-java/process/process.md | 8 +- docs-java/start/basic/basic.md | 6 +- .../basic/relationship-between-servers.md | 38 +- .../start/basic/server-file-structure.md | 38 +- .../start/basic/server-management-command.md | 32 +- docs-java/start/basic/what-is-datapack.md | 62 +-- docs-java/start/basic/what-is-mod.md | 30 +- docs-java/start/basic/what-is-world.md | 24 +- docs-java/start/config-server.md | 26 +- docs-java/start/connect-to-server.md | 26 +- docs-java/start/install-server.md | 38 +- docs-java/start/launch-server.md | 40 +- docs-java/start/server-core-choose.md | 76 ++-- docs-java/start/start.md | 2 +- docs/advance/Linux/Connect-to-server.md | 52 +-- docs/advance/Linux/Database-installation.MD | 28 +- docs/advance/Linux/Linux.md | 22 +- docs/advance/Linux/backup.md | 16 +- docs/advance/Linux/frp.md | 66 +-- docs/advance/Linux/keep-running.md | 28 +- docs/advance/Linux/start.md | 20 +- docs/advance/bot/bot.md | 10 +- docs/advance/bot/framework.md | 38 +- docs/advance/bot/general.md | 4 +- docs/advance/database/backup.md | 30 +- docs/advance/database/configure.md | 84 ++-- docs/advance/database/database.md | 10 +- docs/advance/database/install.md | 16 +- docs/advance/database/uninstall.md | 4 +- docs/advance/database/use.md | 60 +-- .../domain-application-and-dns-resolution.md | 136 +++--- docs/advance/management/management.md | 40 +- .../player-management/announcement.md | 70 +-- .../management/player-management/auditing.md | 42 +- .../management/player-management/chunkbase.md | 18 +- .../management/player-management/feedback.md | 24 +- .../management/player-management/platform.md | 140 +++--- .../management/player-management/rules.md | 76 ++-- .../management/player-management/whitelist.md | 30 +- .../management/player-management/wiki.md | 6 +- docs/advance/open-website.md | 26 +- docs/contribution/contribution.md | 4 +- docs/contribution/todos.md | 14 +- .../writing-specification/blank.md | 22 +- .../documentation-system.md | 30 +- .../writing-specification/numerical-value.md | 28 +- .../writing-specification/paragraph.md | 14 +- .../punctuation-marks.md | 76 ++-- .../writing-specification/text.md | 90 ++-- .../writing-specification/title.md | 24 +- .../writing-specification.md | 2 +- docs/intro.md | 8 +- docs/love.md | 6 +- .../choose-and-download-and-install-java.md | 24 +- docs/preparation/dumb-script-using.md | 22 +- docs/preparation/preparation.md | 8 +- docs/preparation/services.md | 20 +- docs/preparation/text-editor.md | 30 +- docs/process/create-art-assets.md | 88 ++-- docs/process/dashboard.md | 18 +- .../deploy/apply-for-public-ip-address.md | 120 +++--- docs/process/deploy/connect-to-the-cloud.md | 34 +- docs/process/deploy/deploy.md | 16 +- docs/process/deploy/intranet-penetration.md | 22 +- docs/process/deploy/optional-mode.md | 46 +- docs/process/deploy/purchase-server.md | 94 ++-- .../how-to-defend-against-cyber-attacks.md | 132 +++--- .../how-to-prevent-crash-server.md | 28 +- ...how-to-troubleshoot-problematic-plugins.md | 28 +- docs/process/maintenance/maintenance.md | 10 +- docs/process/process.md | 8 +- docs/reading-guide.md | 8 +- docs/start/ask-for-help.md | 82 ++-- docs/start/basic/basic.md | 6 +- docs/start/basic/what-is-caton.md | 48 +-- docs/start/basic/what-is-log.md | 30 +- docs/start/basic/what-is-messy-code.md | 20 +- docs/start/basic/what-is-permission.md | 18 +- docs/start/basic/what-is-plugin.md | 42 +- docs/start/basic/what-is-server.md | 20 +- docs/start/basic/what-is-startup-script.md | 36 +- docs/start/start.md | 2 +- i18n/zh-Hans/plugin-ideal-image.json | 2 +- i18n/zh-Hans/theme-common.json | 8 +- 261 files changed, 3652 insertions(+), 3646 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 756ca4f12..efb220a16 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,8 +1,8 @@ # 为笨蛋文档做出贡献 -首先,感谢你抽出宝贵时间做出巨大贡献!! +首先,感谢你抽出宝贵时间做出巨大贡献!! -所有类型的更改都会最大限度通过,但在此之前,你需要先阅读以下几点来加快审核进度 +所有类型的更改都会最大限度通过,但在此之前,你需要先阅读以下几点来加快审核进度 ## 目录 @@ -14,35 +14,35 @@ ## 这篇文档有问题 -由于此文档由大量人员共同编辑,难免会有瑕疵,如果你发现了文档中的问题之处,请按照以下方法提交: +由于此文档由大量人员共同编辑,难免会有瑕疵,如果你发现了文档中的问题之处,请按照以下方法提交: - 打开 [ISSUE](https://github.com/postyizhan/NitWikit/issues) -- 查看是否有相似问题,无论其处于打开状态还是关闭状态 +- 查看是否有相似问题,无论其处于打开状态还是关闭状态 - 尽可能详细地提出出错的地方和问题详情 -然后,我们将尽快处理该问题 +然后,我们将尽快处理该问题 ## 我想要为文档做出贡献 -我们不接受任何无意义或偏离主题的意见,所以你应当说明此更改的合理性,并且你应当在提交更改前查看是否有类似更改 +我们不接受任何无意义或偏离主题的意见,所以你应当说明此更改的合理性,并且你应当在提交更改前查看是否有类似更改 你也可以提供针对[待办事项](https://github.com/postyizhan/NitWikit/blob/main/docs/contribution/todos.md)中未完成事项的更改来提高通过的几率 -记住!你的任何更改不止会影响到你,还有其他需要通过这篇文档来搭建服务器的人 +记住!你的任何更改不止会影响到你,还有其他需要通过这篇文档来搭建服务器的人 -我们可以在你说明未排版的前提下代替你进行排版,但在此之前,请遵循以下要求: +我们可以在你说明未排版的前提下代替你进行排版,但在此之前,请遵循以下要求: ### 格式要求 -对于文档,我们有格式要求,详见 [格式要求](https://github.com/postyizhan/NitWikit/blob/main/docs/contribution/writing-specification/writing-specification.md) +对于文档,我们有格式要求,详见 [格式要求](https://github.com/postyizhan/NitWikit/blob/main/docs/contribution/writing-specification/writing-specification.md) -若格式不规范但不会或不想排版时请在 PR 时提出**文档需排版**,否则我们极大概率会关闭此处更改 +若格式不规范但不会或不想排版时请在 PR 时提出**文档需排版**,否则我们极大概率会关闭此处更改 ### 尽量使用个人分叉而不是组织分叉 -我们可能会在一些极端情况下去修改你的分叉,无论是解决大量冲突还是修改错误,这比你自己来回检查要快速且方便的多 +我们可能会在一些极端情况下去修改你的分叉,无论是解决大量冲突还是修改错误,这比你自己来回检查要快速且方便的多 -问题是,如果你是组织分叉,我们无法将对其进行更改,_详见 isaacs/github#1681_ ,这会导致我们会关闭它并手动合并,而不是被标记为合并 +问题是,如果你是组织分叉,我们无法将对其进行更改,_详见 isaacs/github#1681_ ,这会导致我们会关闭它并手动合并,而不是被标记为合并 _我们更加希望它会显示为合并而不是被关闭_ diff --git a/README.md b/README.md index 55dbc9d99..751163b42 100644 --- a/README.md +++ b/README.md @@ -61,8 +61,8 @@ https://nitwikit.yizhan.wiki/ 1. Fork 此仓库至自己的 GitHub 账户下 2. 将自己账户下的仓库克隆至本地 `git clone https://github.com/你的用户名/NitWikit.git` -3. 在本地仓库中进行修改并构建文档测试,无误后 push 至自己的仓库 -4. 回到此仓库,点击 Pull requests -> New pull request 发起 PR +3. 在本地仓库中进行修改并构建文档测试,无误后 push 至自己的仓库 +4. 回到此仓库,点击 Pull requests -> New pull request 发起 PR 5. 前往 [NitWikit-PR](https://github.com/users/postyizhan/projects/2) 查看审核状态 # 🤝 贡献者 @@ -379,7 +379,7 @@ https://nitwikit.yizhan.wiki/ MSCMDD
- 磁铁开发部(MDD) + 磁铁开发部(MDD)
diff --git a/docs-bedrock/bds-core/preparation/preparation.md b/docs-bedrock/bds-core/preparation/preparation.md index 1a5744619..bb789939d 100644 --- a/docs-bedrock/bds-core/preparation/preparation.md +++ b/docs-bedrock/bds-core/preparation/preparation.md @@ -5,7 +5,7 @@ sidebar_position: 1 # 准备工作 -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: +在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; @@ -13,8 +13,8 @@ import DocCardList from '@theme/DocCardList'; 其中: -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; +文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; +网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; 笨蛋脚本主要用于一键式配置文件、安装插件等。 diff --git a/docs-bedrock/bds-core/preparation/vcruntime.md b/docs-bedrock/bds-core/preparation/vcruntime.md index 65b48ace6..844bb1457 100644 --- a/docs-bedrock/bds-core/preparation/vcruntime.md +++ b/docs-bedrock/bds-core/preparation/vcruntime.md @@ -5,10 +5,10 @@ sidebar_position: 3 # Visual C++ 运行库 -我的世界基岩版由于使用微软开发的 Visual C++ 编写,需要依赖 Visual C++ 运行库(vc运行库)才能正常运行。在玩家的电脑上,由于 Windows 系统会自动为游戏补全这些运行库,所以玩家下载好基岩版之后就可以直接开始游戏。 +我的世界基岩版由于使用微软开发的 Visual C++ 编写,需要依赖 Visual C++ 运行库(vc运行库)才能正常运行。在玩家的电脑上,由于 Windows 系统会自动为游戏补全这些运行库,所以玩家下载好基岩版之后就可以直接开始游戏。 -但是在基岩版的服务器软件BDS这边情况就有所不同了。BDS 只是一个可执行文件,它并不具备自己补全 vc 运行库的功能,需要手动进行安装,否则就会报错“缺少vmruntimexxx.dll”。你需要为服务器安装至少 [Visual C++ Redistributable for Visual Studio 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) 这个运行库才行。 +但是在基岩版的服务器软件BDS这边情况就有所不同了。BDS 只是一个可执行文件,它并不具备自己补全 vc 运行库的功能,需要手动进行安装,否则就会报错“缺少vmruntimexxx.dll”。你需要为服务器安装至少 [Visual C++ Redistributable for Visual Studio 2015-2022](https://aka.ms/vs/17/release/vc_redist.x64.exe) 这个运行库才行。 -有时一些辅助软件也会依赖这个运行库,例如LeviLamina在缺少运行库时会报错“Error code: 1114 动态裢接库(DLL)初始化例程失败。”,安装这个运行库也可以解决问题。 +有时一些辅助软件也会依赖这个运行库,例如LeviLamina在缺少运行库时会报错“Error code: 1114 动态裢接库(DLL)初始化例程失败。”,安装这个运行库也可以解决问题。 你也可以使用[常用VC运行库合集](https://cloud.wujiyan.cc/f/D0DIW/MSVBCRT.AIO.2024.08.16.exe)来快速安装 \ No newline at end of file diff --git a/docs-bedrock/bds-core/preparation/websites.md b/docs-bedrock/bds-core/preparation/websites.md index 487792c1f..1ec5a33f3 100644 --- a/docs-bedrock/bds-core/preparation/websites.md +++ b/docs-bedrock/bds-core/preparation/websites.md @@ -14,13 +14,13 @@ sidebar_position: 1 # 可能用到的网站 -开服不能只是从某一网站或者简单百度、Bing、谷歌获取资源,这样获取的资源种类非常贫乏。 +开服不能只是从某一网站或者简单百度、Bing、谷歌获取资源,这样获取的资源种类非常贫乏。 以下是一些可供参考的推荐网站: # MineBBS -国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。 +国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。
点击展开 @@ -39,7 +39,7 @@ sidebar_position: 1 插件板块:https://www.minebbs.com/forums/mcjeplugin/ -同时,本教程在 MineBBS 也有搬运贴:https://www.minebbs.com/threads/nitwikit-geyser.26356/ +同时,本教程在 MineBBS 也有搬运贴:https://www.minebbs.com/threads/nitwikit-geyser.26356/
@@ -68,7 +68,7 @@ sidebar_position: 1 虽然不登录账号不影响你浏览仓库和下载 Release 等。 -但是登录后可以给作者发 Issues 来报告问题,提交新需求/建议,还可以下载 Actions 中的文件。 +但是登录后可以给作者发 Issues 来报告问题,提交新需求/建议,还可以下载 Actions 中的文件。
注册问题 @@ -81,12 +81,12 @@ sidebar_position: 1 连不上怎么办 -这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要Github域名指向任意IP,该IP的443端口就会超时3分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。 +这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要Github域名指向任意IP,该IP的443端口就会超时3分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。 有以下几种解决办法: 1. 魔法 2. [改hosts](https://www.cnblogs.com/eudaimonia/p/16001981.html#1034247326) -3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到**网络加速**,点击**平台加速(免费)**,往下翻勾上GitHub,然后点击**一键加速**,随后就可以正常访问GitHub了 +3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到**网络加速**,点击**平台加速(免费)**,往下翻勾上GitHub,然后点击**一键加速**,随后就可以正常访问GitHub了 diff --git a/docs-bedrock/bds-core/process/LeviLamina/LeviLamina-Install.md b/docs-bedrock/bds-core/process/LeviLamina/LeviLamina-Install.md index 0b2380276..8291e8f68 100644 --- a/docs-bedrock/bds-core/process/LeviLamina/LeviLamina-Install.md +++ b/docs-bedrock/bds-core/process/LeviLamina/LeviLamina-Install.md @@ -24,15 +24,15 @@ sidebar_position: 1 ### 准备工作-安装 Lip -首先,从 [GitHub](https://github.com/lippkg/lip/releases/latest) 下载 Lip 的最新版本的应用 +首先,从 [GitHub](https://github.com/lippkg/lip/releases/latest) 下载 Lip 的最新版本的应用 -然后,解压文件到你想要安装 Lip 的位置。 +然后,解压文件到你想要安装 Lip 的位置。 -最后,将该位置添加到 PATH 环境变量中。 +最后,将该位置添加到 PATH 环境变量中。 -要检查是否成功安装 Lip ,请在终端中运行 `lip --version`。你应该看到刚刚安装的lip的版本。 +要检查是否成功安装 Lip ,请在终端中运行 `lip --version`。你应该看到刚刚安装的lip的版本。 -如果你使用的是 Windows 系统,你也可以在 GitHub 中下载 `.exe` 后缀的安装程序来安装。 +如果你使用的是 Windows 系统,你也可以在 GitHub 中下载 `.exe` 后缀的安装程序来安装。 ### 安装 @@ -49,7 +49,7 @@ Lip 会自动下载 BDS 并配置 LeviLamina 加载器 :::info -如果因网络问题无法下载 GO 模块或 LeviLamina 及其依赖,可以运行命令 +如果因网络问题无法下载 GO 模块或 LeviLamina 及其依赖,可以运行命令 ``` lip config GoModuleProxyURL @@ -67,20 +67,20 @@ lip config GitHubMirrorURL :::info -如果因网络问题无法下载 BDS 服务端文件可以去其他地方寻找文件下载,并将压缩包放在 `your-folder\.cache\bdsdown`中 +如果因网络问题无法下载 BDS 服务端文件可以去其他地方寻找文件下载,并将压缩包放在 `your-folder\.cache\bdsdown`中 ::: -现在,你已成功安装了 LeviLamina 了,要启动它,请运行命今 +现在,你已成功安装了 LeviLamina 了,要启动它,请运行命今 ``` bedrock_server_mod.exe ``` -# 方法二: 手动安装(不推荐) +# 方法二: 手动安装(不推荐) -只有想要调试新版本的开发人员才会手动安装,手动安装只会安装允许 LeviLamina 运行的基本部件,它缺少 CrashLogger、I18N 等组件。 +只有想要调试新版本的开发人员才会手动安装,手动安装只会安装允许 LeviLamina 运行的基本部件,它缺少 CrashLogger、I18N 等组件。 ### 下载必要的文件 @@ -90,7 +90,7 @@ bedrock_server_mod.exe * 从所选版本Release中下载文件 `levilamina-windows-x64.zip` 2. ​**下载 BDS(Minecraft服务器)**​: * 访问 [Minecraft 的服务器下载页面](https://www.minecraft.net/en-us/download/server/bedrock)。 - * 获取与你的 LeviLamina 版本相对应的 Bedrock 专用服务器 (BDS) 版本,名为 + * 获取与你的 LeviLamina 版本相对应的 Bedrock 专用服务器 (BDS) 版本,名为 `bedrock-server-.zip` 3. ​**获取 PeEditor 和 PreLoader**​: * 前往他们各自的 GitHub 发布页面:[PeEditor Releases](https://github.com/LiteLDev/PeEditor/releases) 和 [PreLoader Releases](https://github.com/LiteLDev/PreLoader/releases)。 @@ -98,7 +98,7 @@ bedrock_server_mod.exe :::warning -​**注意**​:通常,最新版本的 LeviLamina 与最新版本的 PeEditor 和 PreLoader 保持一致。确保它们与你的 BDS 版本兼容。 +​**注意**​:通常,最新版本的 LeviLamina 与最新版本的 PeEditor 和 PreLoader 保持一致。确保它们与你的 BDS 版本兼容。 ::: @@ -113,9 +113,9 @@ bedrock_server_mod.exe * 将文件夹放入BDS同一目录中 4. ​**运行 PeEditor**​: * 双击 `PeEditor.exe` 并等待配置完成 - * 然后,你可以在目录中找到一个名为 `bedrock_server_mod.exe` 的新文件,原始文件 `bedrock_server.exe` 将重命名为 `bedrock_server.exe.bak` + * 然后,你可以在目录中找到一个名为 `bedrock_server_mod.exe` 的新文件,原始文件 `bedrock_server.exe` 将重命名为 `bedrock_server.exe.bak` -现在,你已成功安装了 LeviLamina 了,要启动它,请运行命今 +现在,你已成功安装了 LeviLamina 了,要启动它,请运行命今 ``` bedrock_server_mod.exe diff --git a/docs-bedrock/bds-core/process/LeviLamina/LeviLamina-Plugins.md b/docs-bedrock/bds-core/process/LeviLamina/LeviLamina-Plugins.md index fd60d1f9c..30585775c 100644 --- a/docs-bedrock/bds-core/process/LeviLamina/LeviLamina-Plugins.md +++ b/docs-bedrock/bds-core/process/LeviLamina/LeviLamina-Plugins.md @@ -14,58 +14,58 @@ sidebar_position: 1 LeviLamina 的插件是以文件夹的格式存在的。通常插件文件夹中包含以下内容: ```c 插件文件夹 -├─manifest.json // 插件元数据文件,该文件必须存在并格式正确才能被 LeviLamina 识别 -├─(插件配置文件和数据库)... // 插件生成的配置文件和数据库等,大多数插件的配置文件名叫config.json,并以一个文件夹或一个 .db 或 .json 后缀文件作为数据库 -├─(插件代码或二进制文件)... // 插件源代码,通常是 .js、.lua、.dll 后缀的文件。不要删除,修改或重命名文件,否则可能导致插件无法运行! +├─manifest.json // 插件元数据文件,该文件必须存在并格式正确才能被 LeviLamina 识别 +├─(插件配置文件和数据库)... // 插件生成的配置文件和数据库等,大多数插件的配置文件名叫config.json,并以一个文件夹或一个 .db 或 .json 后缀文件作为数据库 +├─(插件代码或二进制文件)... // 插件源代码,通常是 .js、.lua、.dll 后缀的文件。不要删除,修改或重命名文件,否则可能导致插件无法运行! ``` -通常情况下,你不需要手动修改 `manifest.json` 这个文件,因为插件作者会将它事先配置好。如果有特殊插件需要手动配置这个文件,该插件文档应该会给出相应教程。 +通常情况下,你不需要手动修改 `manifest.json` 这个文件,因为插件作者会将它事先配置好。如果有特殊插件需要手动配置这个文件,该插件文档应该会给出相应教程。 ## 使用 Lip 安装插件 -如果你还没有安装 Lip,可以参考 [上一章的教程](./LeviLamina-Install.md#准备工作-安装-lip) 。 +如果你还没有安装 Lip,可以参考 [上一章的教程](./LeviLamina-Install.md#准备工作-安装-lip) 。 -要使用 Lip 安装插件,你必须确保该插件**支持通过 Lip 安装** 。如果插件文档没有写明任何使用 Lip 安装的方法或命令,你就不应该使用 Lip 安装该插件。 +要使用 Lip 安装插件,你必须确保该插件**支持通过 Lip 安装** 。如果插件文档没有写明任何使用 Lip 安装的方法或命令,你就不应该使用 Lip 安装该插件。 -通常情况下,一个 Lip 插件的安装命令会像这样: +通常情况下,一个 Lip 插件的安装命令会像这样: ```shell lip install <一个URL> ``` ### 通过命令安装插件 -在服务端根目录(包含 `bedrock_server_mod.exe` 的文件夹)打开 powershell,执行插件使用说明给出的 Lip 安装命令, +在服务端根目录(包含 `bedrock_server_mod.exe` 的文件夹)打开 powershell,执行插件使用说明给出的 Lip 安装命令, ### 通过 LipUI 安装插件 TODO -随后插件将在服务器下次启动时被加载。要想让正在运行的服务器加载该插件,你必须**重启服务器** 。 +随后插件将在服务器下次启动时被加载。要想让正在运行的服务器加载该插件,你必须**重启服务器** 。 ## 手动安装插件 -### 原生(native)插件 +### 原生(native)插件 -解压并整理插件文件夹,确保其结构符合上文结出的插件结构。**有时插件压缩包解压后里面会套一层文件夹,这点要格外留意。** +解压并整理插件文件夹,确保其结构符合上文结出的插件结构。**有时插件压缩包解压后里面会套一层文件夹,这点要格外留意。** -将插件文件夹放入服务器的 `plugins` 文件夹,它将在服务器下次启动时被加载。要想让正在运行的服务器加载该插件,你必须**重启服务器** 。 +将插件文件夹放入服务器的 `plugins` 文件夹,它将在服务器下次启动时被加载。要想让正在运行的服务器加载该插件,你必须**重启服务器** 。 ### LSE 插件 -要安装 LSE 插件,你的服务器必须安装了 [Legacy Script Engine](./legacy-script-engine.md) 作为前置。 +要安装 LSE 插件,你的服务器必须安装了 [Legacy Script Engine](./legacy-script-engine.md) 作为前置。 #### quick-js、lua、python 单文件 指只有一个 .js/.lua/.py 代码文件的插件。 -首先将插件文件放入 `plugins` 文件夹,然后启动或重启一次服务器。此时服务器将警告 `WARN [legacy-script-engine-quickjs] Legacy plugins have been migrated, please restart the server to load them!`。**此时插件并未被加载,你需要再次重启服务器** ,之后插件就能加载了。 +首先将插件文件放入 `plugins` 文件夹,然后启动或重启一次服务器。此时服务器将警告 `WARN [legacy-script-engine-quickjs] Legacy plugins have been migrated, please restart the server to load them!`。**此时插件并未被加载,你需要再次重启服务器** ,之后插件就能加载了。 #### nodejs、python 多文件 指 .llplugin 后缀名或解压后为一个文件夹的 LSE 插件。 -如果插件为文件夹,那么检查该文件夹结构。如果其中包含 `manifest.json`,直接将其放入 `plugins` 文件夹即可。随后它将在服务器下次启动时被加载。要想让正在运行的服务器加载该插件,你必须**重启服务器** 。 +如果插件为文件夹,那么检查该文件夹结构。如果其中包含 `manifest.json`,直接将其放入 `plugins` 文件夹即可。随后它将在服务器下次启动时被加载。要想让正在运行的服务器加载该插件,你必须**重启服务器** 。 -如果该插件为文件夹但不包含 `manifest.json`,你需要将其放入 `plugins` 文件夹后,按上文 quickjs、lua、python 单文件的操作方法进行操作。 +如果该插件为文件夹但不包含 `manifest.json`,你需要将其放入 `plugins` 文件夹后,按上文 quickjs、lua、python 单文件的操作方法进行操作。 -如果该插件为 .llplugin 后缀名的单个文件,你需要将其后缀名改成 .zip 并解压,之后按照上面两种方法进行操作。 +如果该插件为 .llplugin 后缀名的单个文件,你需要将其后缀名改成 .zip 并解压,之后按照上面两种方法进行操作。 diff --git a/docs-bedrock/bds-core/process/LeviLamina/LeviLamina.md b/docs-bedrock/bds-core/process/LeviLamina/LeviLamina.md index f40041fec..b7b25ea2a 100644 --- a/docs-bedrock/bds-core/process/LeviLamina/LeviLamina.md +++ b/docs-bedrock/bds-core/process/LeviLamina/LeviLamina.md @@ -5,7 +5,7 @@ sidebar_position: 3 # LeviLamina -LeviLamina 是 BDS 核心的一款功能强大的插件加载器, 曾被称为 LiteLoaderBDS。 +LeviLamina 是 BDS 核心的一款功能强大的插件加载器, 曾被称为 LiteLoaderBDS。 以下内容为 LeviLamina 的配置教程 diff --git a/docs-bedrock/bds-core/process/LeviLamina/legacy-script-engine.md b/docs-bedrock/bds-core/process/LeviLamina/legacy-script-engine.md index d52770655..31230899e 100644 --- a/docs-bedrock/bds-core/process/LeviLamina/legacy-script-engine.md +++ b/docs-bedrock/bds-core/process/LeviLamina/legacy-script-engine.md @@ -1,18 +1,18 @@ --- -title: Legacy Script Engine(LSE) +title: Legacy Script Engine(LSE) sidebar_position: 2 --- -# Legacy Script Engine(LSE) +# Legacy Script Engine(LSE) ## 什么是 Legacy Script Engine -Legacy Script Engine 简称 LSE,是 LeviLamina 上的一系列插件,被用作 LiteLoader Scipt Engine(LLSE)到 LeviScript(LS)的过渡。LSE 的一些特性与 LLSE 相同,你可以阅读 LLSE 来了解该插件的特点。以下是这两个插件的不同之处: -1. LSE 只能在 LeviLamina 上运行,LLSE 只能在 LiteLoader 上运行 -2. LSE 的插件格式与 LLSE 不同。要想让 LSE 运行 LLSE 插件,需要 LSE 自动或服主手动进行格式转换。 -3. LSE 虽然是 LeviLamina 开发计划的一部分,但是它被设计作为可选模块,需要服主额外安装。而 LLSE 则是集成在 LiteLoaderBDS 中,安装 LiteLoaderBDS 的过程中即安装完毕,不需要额外安装。 +Legacy Script Engine 简称 LSE,是 LeviLamina 上的一系列插件,被用作 LiteLoader Scipt Engine(LLSE)到 LeviScript(LS)的过渡。LSE 的一些特性与 LLSE 相同,你可以阅读 LLSE 来了解该插件的特点。以下是这两个插件的不同之处: +1. LSE 只能在 LeviLamina 上运行,LLSE 只能在 LiteLoader 上运行 +2. LSE 的插件格式与 LLSE 不同。要想让 LSE 运行 LLSE 插件,需要 LSE 自动或服主手动进行格式转换。 +3. LSE 虽然是 LeviLamina 开发计划的一部分,但是它被设计作为可选模块,需要服主额外安装。而 LLSE 则是集成在 LiteLoaderBDS 中,安装 LiteLoaderBDS 的过程中即安装完毕,不需要额外安装。 4. LSE 的 python 脚本引擎 legacy-script-engine-python 与系统中的 python 解释器冲突。 -5. LSE 的更新仅提供版本适配和错误修复,不会更新新的 API 等功能,也不受理任何相关建议。 +5. LSE 的更新仅提供版本适配和错误修复,不会更新新的 API 等功能,也不受理任何相关建议。 ## 插件内容 @@ -21,11 +21,11 @@ Legacy Script Engine 简称 LSE,是 LeviLamina 上的一系列插件,被用 - **LegacyParticleAPI** :用于为 LSE 插件提供 ParticleAPI 相关功能 - **LegacyRemoteCall** : 用于为 LSE 插件提供插件间相互调用功能 - **legacy-script-engine-lua** :用于加载和运行 lua 插件 -- **legacy-script-engine-quickjs** :用于加载和运行单文件 js 插件(quickjs 插件) +- **legacy-script-engine-quickjs** :用于加载和运行单文件 js 插件(quickjs 插件) - **legacy-script-engine-nodejs** :用于加载和运行 nodejs 插件 -- **legacy-script-engine-python** :用于加载和运行 python 插件,**和系统中的 python 解释器冲突** +- **legacy-script-engine-python** :用于加载和运行 python 插件,**和系统中的 python 解释器冲突** -这其中 LegacyMoney、LegacyParticleAPI、LegacyRemoteCall 几乎是必须安装的,因为很多插件都依赖这些插件运行。其他四个用于加载不同种类 LSE 插件的可以根据服务器所用到的插件的类型进行安装。 +这其中 LegacyMoney、LegacyParticleAPI、LegacyRemoteCall 几乎是必须安装的,因为很多插件都依赖这些插件运行。其他四个用于加载不同种类 LSE 插件的可以根据服务器所用到的插件的类型进行安装。 ## [安装方法](https://lse.liteldev.com/zh/) @@ -49,10 +49,10 @@ lip install gitea.litebds.com/LiteLDev/legacy-script-engine-python ``` :::warning -由于 legacy-script-engine-python 与系统中的 python 解释器冲突,安装时你需要确保系统中没有 python 解释器。如果系统中已安装 python 解释器,你需要将其**彻底卸载** 。如果你必须使用系统中的 python 解释器,你只能放弃所有的 python 插件。 +由于 legacy-script-engine-python 与系统中的 python 解释器冲突,安装时你需要确保系统中没有 python 解释器。如果系统中已安装 python 解释器,你需要将其**彻底卸载** 。如果你必须使用系统中的 python 解释器,你只能放弃所有的 python 插件。 ::: ### 手动安装 -手动安装要装一大堆插件,我还没试过,教程求大佬补充qaq +手动安装要装一大堆插件,我还没试过,教程求大佬补充qaq diff --git a/docs-bedrock/bds-core/process/LiteLoaderBDS/LiteLoaderBDS.md b/docs-bedrock/bds-core/process/LiteLoaderBDS/LiteLoaderBDS.md index 34f08889e..2f78f493d 100644 --- a/docs-bedrock/bds-core/process/LiteLoaderBDS/LiteLoaderBDS.md +++ b/docs-bedrock/bds-core/process/LiteLoaderBDS/LiteLoaderBDS.md @@ -5,17 +5,17 @@ sidebar_position: 4 # LiteLoaderBDS -LiteLoaderBDS 是 BDS 核心的一款功能强大的插件加载器,简称 ll,是 [LeviLamina](../LeviLamina/LeviLamina.md) 的前身,**现已停更**。 +LiteLoaderBDS 是 BDS 核心的一款功能强大的插件加载器,简称 ll,是 [LeviLamina](../LeviLamina/LeviLamina.md) 的前身,**现已停更**。 :::tip[你知道吗] -根据该加载器开发者所说,他们本来是因为 LiteLoaderBDS 的代码过于臃肿、难以维护、开发标准老旧、功能太过局限而希望重构 LiteLoaderBDS,后来转为计划启动新项目 LeviLamina。这也是 LeviLamina 的“ll3”别称的来历。 +根据该加载器开发者所说,他们本来是因为 LiteLoaderBDS 的代码过于臃肿、难以维护、开发标准老旧、功能太过局限而希望重构 LiteLoaderBDS,后来转为计划启动新项目 LeviLamina。这也是 LeviLamina 的“ll3”别称的来历。 ::: :::warning -由于该加载器已经停止维护,目前只建议给无法使用 LeviLamina 的旧版 BDS 使用。 +由于该加载器已经停止维护,目前只建议给无法使用 LeviLamina 的旧版 BDS 使用。 ::: diff --git a/docs-bedrock/bds-core/process/LiteLoaderBDS/install.md b/docs-bedrock/bds-core/process/LiteLoaderBDS/install.md index c5c390299..53ee38c4a 100644 --- a/docs-bedrock/bds-core/process/LiteLoaderBDS/install.md +++ b/docs-bedrock/bds-core/process/LiteLoaderBDS/install.md @@ -7,23 +7,23 @@ sidebar_position: 1 ## 下载安装 BDS -LiteLoaderBDS 不会自动下载安装对应版本 BDS,你需要手动寻找和下载相应版本的旧版 BDS。 +LiteLoaderBDS 不会自动下载安装对应版本 BDS,你需要手动寻找和下载相应版本的旧版 BDS。 -除了一些第三方网站提供的存档以外,你可以通过这种方式下载到旧版 BDS:将 `https://minecraft.azureedge.net/bin-win/` 与 BDS 压缩包文件名拼接起来。例如要下载1.20.30.02,你就可以在浏览器中访问 `https://minecraft.azureedge.net/bin-win/bedrock-server-1.20.30.02.zip` +除了一些第三方网站提供的存档以外,你可以通过这种方式下载到旧版 BDS:将 `https://minecraft.azureedge.net/bin-win/` 与 BDS 压缩包文件名拼接起来。例如要下载1.20.30.02,你就可以在浏览器中访问 `https://minecraft.azureedge.net/bin-win/bedrock-server-1.20.30.02.zip` ## 下载 LiteLoaderBDS :::warning -LiteLoaderBDS 仅适配了 BDS 的1.20.32 及以下版本。对于更高版本的 BDS 需要使用 [LeviLamina](../LeviLamina/LeviLamina.md) 加载器。对于 1.20.40 - 1.20.51 版本,你需要使用其他加载器。如果你只需要兼容 1.20.40 - 1.20.51 的客户端进服,你可以选用 BDS 1.20.32、最新版 LiteLoader 和 Glacie 插件的方案。 +LiteLoaderBDS 仅适配了 BDS 的1.20.32 及以下版本。对于更高版本的 BDS 需要使用 [LeviLamina](../LeviLamina/LeviLamina.md) 加载器。对于 1.20.40 - 1.20.51 版本,你需要使用其他加载器。如果你只需要兼容 1.20.40 - 1.20.51 的客户端进服,你可以选用 BDS 1.20.32、最新版 LiteLoader 和 Glacie 插件的方案。 ::: -前往 https://github.com/LiteLDev/LiteLoaderBDSv2/releases 下载 BDS 版本对应的发行版。你可以在更新日志的 BDS 标签中找到该发行版适配的 BDS 版本。例如 2.14.1、2.14.0 的 BDS 标签写着 1.20.0.01,证明该发行版适配了 BDS 的 1.20.0.01 版本。 +前往 https://github.com/LiteLDev/LiteLoaderBDSv2/releases 下载 BDS 版本对应的发行版。你可以在更新日志的 BDS 标签中找到该发行版适配的 BDS 版本。例如 2.14.1、2.14.0 的 BDS 标签写着 1.20.0.01,证明该发行版适配了 BDS 的 1.20.0.01 版本。 ## 安装 LiteLoaderBDS -下载好 `LiteLoaderBDS.zip` 后,解压该压缩包,其中包含四个文件/文件夹: +下载好 `LiteLoaderBDS.zip` 后,解压该压缩包,其中包含四个文件/文件夹: - LiteLoader.dll - LLPreLoader.dll - PreEditor.exe @@ -31,7 +31,7 @@ LiteLoaderBDS 仅适配了 BDS 的1.20.32 及以下版本。对于更高版本 将这四个文件放进 BDS 的根目录。 -随后,双击运行 PreEditor.exe。该程序会弹出一个命令行窗口,当其中显示 **Done** 的时候,证明安装成功。 +随后,双击运行 PreEditor.exe。该程序会弹出一个命令行窗口,当其中显示 **Done** 的时候,证明安装成功。 ## 运行带有 LiteLoaderBDS 加载器的 BDS diff --git a/docs-bedrock/bds-core/process/LiteLoaderBDS/plugins.md b/docs-bedrock/bds-core/process/LiteLoaderBDS/plugins.md index c808397e3..8b75843cc 100644 --- a/docs-bedrock/bds-core/process/LiteLoaderBDS/plugins.md +++ b/docs-bedrock/bds-core/process/LiteLoaderBDS/plugins.md @@ -9,24 +9,24 @@ sidebar_position: 2 LiteLoaderBDS 的插件共有以下几类: -1. 原生插件(native):俗称 dll 插件。通常是一个 .dll 后缀的文件。 -2. QuickJS 插件(qjs):俗称单文件 js 插件。通常是一个 .js 后缀的文件。 +1. 原生插件(native):俗称 dll 插件。通常是一个 .dll 后缀的文件。 +2. QuickJS 插件(qjs):俗称单文件 js 插件。通常是一个 .js 后缀的文件。 3. Lua 插件:通常是一个 .lua 后缀的文件。 4. NodeJS 插件:通常是一个文件夹或是一个 .llplugin 后缀的文件。 5. Python 插件:通常是一个文件夹或是一个 .py 后缀的文件。 -6. LL.NET 插件:通常是一个 .dll 后缀的文件。虽然和原生插件后缀相同,但是这种插件必须安装了 LL.NET 插件的依赖才能正常加载和运行。 +6. LL.NET 插件:通常是一个 .dll 后缀的文件。虽然和原生插件后缀相同,但是这种插件必须安装了 LL.NET 插件的依赖才能正常加载和运行。 ## 安装原生、QuickJS、Lua、Python 单文件插件 -将插件的所有文件放入 `plugins` 文件夹,然后服务器将在下次启动时加载该插件。 +将插件的所有文件放入 `plugins` 文件夹,然后服务器将在下次启动时加载该插件。 ## 安装 NodeJS 插件 -将插件的所有文件放入 `plugins` 文件夹中的 `nodejs` 文件夹,然后服务器将在下次启动时加载该插件。 +将插件的所有文件放入 `plugins` 文件夹中的 `nodejs` 文件夹,然后服务器将在下次启动时加载该插件。 ## 安装 Python 多文件插件 -将插件的所有文件放入 `plugins` 文件夹中的 `python` 文件夹,然后服务器将在下次启动时加载该插件。 +将插件的所有文件放入 `plugins` 文件夹中的 `python` 文件夹,然后服务器将在下次启动时加载该插件。 ## 安装 LL.NET 插件 diff --git a/docs-bedrock/bds-core/process/plugins/plugins-loader-choose.md b/docs-bedrock/bds-core/process/plugins/plugins-loader-choose.md index e7ebb3a1d..405a3e765 100644 --- a/docs-bedrock/bds-core/process/plugins/plugins-loader-choose.md +++ b/docs-bedrock/bds-core/process/plugins/plugins-loader-choose.md @@ -20,122 +20,122 @@ import TabItem from '@theme/TabItem'; -| 插件加载器 | 别名:LLL,LLv3 | +| 插件加载器 | 别名:LLL,LLv3 | | --- | --- | | 名称 | [LeviLamina](https://levilamina.liteldev.com/zh) | | 作者 | [LiteLDev](https://github.com/LiteLDev) | -| 介绍 | 轻量级、模块化和多功能的 Minecraft Bedrock Server BDS 插件加载器,曾被称为 LiteLoaderBDS | +| 介绍 | 轻量级、模块化和多功能的 Minecraft Bedrock Server BDS 插件加载器,曾被称为 LiteLoaderBDS | | 推荐与否 | 非常推荐 | -| 理由 | 插件生态不错,跟 [LiteLoader](#寿终正寝の加载器) 时代一样巅峰 | +| 理由 | 插件生态不错,跟 [LiteLoader](#寿终正寝の加载器) 时代一样巅峰 | | 下载 | [GitHub 下载](https://github.com/LiteLDev/LeviLamina/releases) | -| 支持的 MC 版本 | 1.20.61-1.21.3(目前保持更新) | +| 支持的 MC 版本 | 1.20.61-1.21.3(目前保持更新) | | 插件加载器 | | | --- | --- | | 名称 | [EndStone](https://github.com/EndstoneMC/endstone) | | 作者 | [EndStoneMC](https://github.com/EndstoneMC) | -| 介绍 | 提供类似 Bukkit 插件开发者的友好 API,简化了低层系统 API 和挂钩的处理。可以使用 C++ 或 Python 编写插件 | +| 介绍 | 提供类似 Bukkit 插件开发者的友好 API,简化了低层系统 API 和挂钩的处理。可以使用 C++ 或 Python 编写插件 | | 推荐与否 | 比较慢推荐 | -| 理由 | 虽然几乎没有插件生态,仅社区有 **极少** 的插件,但最近形势较好,社区内有参与开发的声音,后续可能会追平 LeviLamina | +| 理由 | 虽然几乎没有插件生态,仅社区有 **极少** 的插件,但最近形势较好,社区内有参与开发的声音,后续可能会追平 LeviLamina | | 下载 | [Github 下载](https://github.com/EndstoneMC/endstone/releases) | -| 支持的 MC 版本 | 1.20.71 - 1.21.2(目前保持更新) | +| 支持的 MC 版本 | 1.20.71 - 1.21.2(目前保持更新) | ## 官方提供的脚本加载器 - + | 插件加载器 | 别名:SAPI | | --- | --- | | 名称 | [原生 BDS Script API](https://wiki.mcbe-dev.net/-/6424) | | 作者 | [Mojang Studio](https://github.com/Mojang) | -| 介绍 | 随着 BDS 服务端的发展,官方已推出并逐渐完善基于 Javascript 语言的脚本 API,受到官方的支持与维护,可帮助创作者完成复杂的逻辑
(其加载器直接内置于 BDS 核心包内,不用腐竹手动下载,这里仅提供 BDS 核心下载方式) | +| 介绍 | 随着 BDS 服务端的发展,官方已推出并逐渐完善基于 Javascript 语言的脚本 API,受到官方的支持与维护,可帮助创作者完成复杂的逻辑
(其加载器直接内置于 BDS 核心包内,不用腐竹手动下载,这里仅提供 BDS 核心下载方式) | | 推荐与否 | 非常不推荐 | -| 理由 | 几乎没有插件生态,仅社区有 **极少** 的插件 | +| 理由 | 几乎没有插件生态,仅社区有 **极少** 的插件 | | 下载 | [官网下载](https://www.minecraft.net/zh-hans/download/server/bedrock)
[原子云下载](https://res.nullatom.com/Minecraft/Server/BDS) | -| 支持的 MC 版本 | 1.16.210 - 最新(稳定更新) | +| 支持的 MC 版本 | 1.16.210 - 最新(稳定更新) |
## 寿终正寝の加载器 -| 插件加载器 | 别名:LL,LLv2([详情点我](#litexloader-合并至-liteloader2022年2月12日)) | +| 插件加载器 | 别名:LL,LLv2([详情点我](#litexloader-合并至-liteloader2022年2月12日)) | | --- | --- | | 名称 | [LiteLoaderBDS](https://github.com/LiteLDev/LiteLoaderBDSv2/) | | 作者 | [LiteLDev](https://github.com/LiteLDev) | -| 介绍 | LiteLoaderBDSv2 是一款专为 BDS 编写的插件加载器,旨在弥补官方行为包开发接口的不足。LiteLoaderBDSv2 支持多种编程语言编写插件,并保证了插件开发与维护的便利性 | +| 介绍 | LiteLoaderBDSv2 是一款专为 BDS 编写的插件加载器,旨在弥补官方行为包开发接口的不足。LiteLoaderBDSv2 支持多种编程语言编写插件,并保证了插件开发与维护的便利性 | | 推荐与否 | 非常不推荐 | -| 理由 | 插件生态无可厚非,没人会否定它的巅峰时代,可惜岁月不饶人啊...如果你服务器愿意在此版本区间便罢了,因为不好找插件了([详情点我](#liteloader-宣布停更2023年10月份)) | +| 理由 | 插件生态无可厚非,没人会否定它的巅峰时代,可惜岁月不饶人啊...如果你服务器愿意在此版本区间便罢了,因为不好找插件了([详情点我](#liteloader-宣布停更2023年10月份)) | | 下载 | [GitHub 下载](https://github.com/LiteLDev/LeviLamina/releases) | -| 支持的 MC 版本 | 1.16.210-1.20.31.01(已存档)[^Archived] | +| 支持的 MC 版本 | 1.16.210-1.20.31.01(已存档)[^Archived] | | 插件加载器 | 别名:LXL | | --- | --- | | 名称 | [LiteXLoader](https://www.minebbs.com/threads/litexloader-x-bds.7439/) | | 作者 | [LiteDev](https://github.com/LiteLDev) | -| 介绍 | LiteXLoader 是一款专为 LiteLoader 编写的拓展类插件加载器,旨在弥补 LiteLoader 可开发语言的不足。LiteXLoader 支持多种编程语言编写插件,并保证了插件开发与维护的便利性,例如拓展支持 Node-Js、Python、Qucik-Js 的开发 | +| 介绍 | LiteXLoader 是一款专为 LiteLoader 编写的拓展类插件加载器,旨在弥补 LiteLoader 可开发语言的不足。LiteXLoader 支持多种编程语言编写插件,并保证了插件开发与维护的便利性,例如拓展支持 Node-Js、Python、Qucik-Js 的开发 | | 推荐与否 | 非常不推荐 | | 理由 | 后续合并到 LiteLoader 中。[详情点我](#litexloader-合并至-liteloader2022年2月12日) | | 下载 | [Github 下载](https://github.com/EndstoneMC/endstone/releases) | -| 支持的 MC 版本 | 1.20.71 - 1.21.2(已存档)[^Archived] | +| 支持的 MC 版本 | 1.20.71 - 1.21.2(已存档)[^Archived] | | 插件加载器 | 别名:BDSX | | --- | --- | | 名称 | [bdsx](https://github.com/bdsx/bdsx) | | 作者 | [bdsx](https://github.com/bdsx) | -| 介绍 | BDSX 是一个支持 node.js 的 Minecraft 基岩版专用服务器(BDS)修改版本。基于官方 BDS 实现,包含了原版 Minecraft 的所有特性,并支持 Hook 函数与网络数据包以添加或修改服务器的功能与表现。 | +| 介绍 | BDSX 是一个支持 node.js 的 Minecraft 基岩版专用服务器(BDS)修改版本。基于官方 BDS 实现,包含了原版 Minecraft 的所有特性,并支持 Hook 函数与网络数据包以添加或修改服务器的功能与表现。 | | 推荐与否 | 不推荐 | -| 理由 | 官方决定在将来仅提供给 LiteDev 开发团队 PDB 文件,LiteDev 仅被授权向社区分发将 PDB 封装后产生的 "Magic Blob" 文件,而 BDSX 大概率在后续不会跟进对利用 "Magic Blob" 来 Hook 函数的支持。 | +| 理由 | 官方决定在将来仅提供给 LiteDev 开发团队 PDB 文件,LiteDev 仅被授权向社区分发将 PDB 封装后产生的 "Magic Blob" 文件,而 BDSX 大概率在后续不会跟进对利用 "Magic Blob" 来 Hook 函数的支持。 | | 下载 | [克隆源代码下载](https://github.com/bdsx/bdsx) | | 插件下载 | [npm源](https://www.npmjs.com/search?q=%40bdsx%2F)
[Github](https://github.com/topics/bdsx-plugins) | -| 支持的 MC 版本 | 1.12 - 最新(目前保持更新) | +| 支持的 MC 版本 | 1.12 - 最新(目前保持更新) |
## 相关历史 -### PDB 事件(2024年6月6日) +### PDB 事件(2024年6月6日) -此文段部分引用自 B站 Dofes 与 MRUIAW 的合作视频,稍作了修改。 +此文段部分引用自 B站 Dofes 与 MRUIAW 的合作视频,稍作了修改。 [Mojang删除了对基岩版最重要的东西...](https://www.bilibili.com/video/BV1GS421o7Dz/) -2024 年 6 月 6 日 凌晨,在发布的 1.21.10.22 Preview 版本的 BDS 中,LiteDev 开发成员注意到 PDB 文件被移除,紧接着社区开发者传来消息,称官方曾召开过会讨论 BDS 的 PDB 文件的去向。结果显然是 **决定移除**。如果将来都是如此的话,那么我们将会在高版本迎来首个没有 PDB 的版本。 +2024 年 6 月 6 日 凌晨,在发布的 1.21.10.22 Preview 版本的 BDS 中,LiteDev 开发成员注意到 PDB 文件被移除,紧接着社区开发者传来消息,称官方曾召开过会讨论 BDS 的 PDB 文件的去向。结果显然是 **决定移除**。如果将来都是如此的话,那么我们将会在高版本迎来首个没有 PDB 的版本。 -官方声称他们知道此次行为会激怒社区开发者,并且是完全故意的。他们认为 MOD 存在所谓的 **“行业标准形式”**,使用调试符号和钩子(Hook)不是 MOD 的 “行业标准形式”。也就是说,他们认为他们提供的 **附加组件** 才是 MOD 的 “行业标准形式”,即宣布当前的所有 MOD 为 **非法**。 +官方声称他们知道此次行为会激怒社区开发者,并且是完全故意的。他们认为 MOD 存在所谓的 **“行业标准形式”**,使用调试符号和钩子(Hook)不是 MOD 的 “行业标准形式”。也就是说,他们认为他们提供的 **附加组件** 才是 MOD 的 “行业标准形式”,即宣布当前的所有 MOD 为 **非法**。 -他们还认为,服务端符合文件只适用于制作客户端的作弊软件,而不适用于制作服务端的反作弊系统。这说法就好比说菜刀可以用来杀人,所以禁止出售菜刀(?)。 -但事实上客户端外挂并不使用 PDB 来查找函数地址,而是用签名来查找所需函数或变量的地址,但事实是服务端的反作弊 **极其依赖** PDB 符号文件。 -他们甚至可能还不知道特们的合作服务器使用的都是自己开发的服务端,而不是 BDS,重新写一个服务端不叫修改。 +他们还认为,服务端符合文件只适用于制作客户端的作弊软件,而不适用于制作服务端的反作弊系统。这说法就好比说菜刀可以用来杀人,所以禁止出售菜刀(?)。 +但事实上客户端外挂并不使用 PDB 来查找函数地址,而是用签名来查找所需函数或变量的地址,但事实是服务端的反作弊 **极其依赖** PDB 符号文件。 +他们甚至可能还不知道特们的合作服务器使用的都是自己开发的服务端,而不是 BDS,重新写一个服务端不叫修改。 -开 BDS 的目的是为了生存玩法,而第三方服务端缺少原生特性,顶多开小游戏服。但 MOD BDS 的存在,就是为了在拥有原生特性的服务器上支持一些原生插件。因此,我们有理由相信这只是一个借口,而真正的原因我们还不得而知。我个人猜测,这可能与 Minecraft 的商业化有关。毕竟 Minecraft 是一个商业游戏,而 MOD BDS 可能被视为对其商业模式的一种威胁。社区对这种不顺应社区需求的行为表示了不满,有人已经提出了抵制的声音,目前相关的请求帖子,已经获得了超过1000个赞同。 +开 BDS 的目的是为了生存玩法,而第三方服务端缺少原生特性,顶多开小游戏服。但 MOD BDS 的存在,就是为了在拥有原生特性的服务器上支持一些原生插件。因此,我们有理由相信这只是一个借口,而真正的原因我们还不得而知。我个人猜测,这可能与 Minecraft 的商业化有关。毕竟 Minecraft 是一个商业游戏,而 MOD BDS 可能被视为对其商业模式的一种威胁。社区对这种不顺应社区需求的行为表示了不满,有人已经提出了抵制的声音,目前相关的请求帖子,已经获得了超过1000个赞同。 我们也了解到官方相关负责人正在讨论此事。 -我们呼吁大家积极参与讨论,让官方了解我们的诉求!Partner 项目总监和工作室里的人讨论过,反正他们的观点是力推CRIPT的API,这将势不可挡,未来是 [All in JavaScript(即 SAPI)](#冷门加载器) 的时代,只要社区的需求大且合理,他们就会添加对应的接口。在PDB方面,他们认为这是 **非行业化的**,他们不认为这是合适且合法的 MOD 的行为,并 **《希望》** 社区给出一定要 PDB 才能实现的功能。 +我们呼吁大家积极参与讨论,让官方了解我们的诉求!Partner 项目总监和工作室里的人讨论过,反正他们的观点是力推CRIPT的API,这将势不可挡,未来是 [All in JavaScript(即 SAPI)](#冷门加载器) 的时代,只要社区的需求大且合理,他们就会添加对应的接口。在PDB方面,他们认为这是 **非行业化的**,他们不认为这是合适且合法的 MOD 的行为,并 **《希望》** 社区给出一定要 PDB 才能实现的功能。 -此后,著名插件加载器 LeviLamina 刚出生不久就胎死腹中了... +此后,著名插件加载器 LeviLamina 刚出生不久就胎死腹中了... ![LeviLamina 在未来将会存档](./_images/levilamina-will-archived.png) -总之,在这场 PDB 事件风波不久后,很多基岩版腐竹都转移到 Java版服务端,以求后路。 +总之,在这场 PDB 事件风波不久后,很多基岩版腐竹都转移到 Java版服务端,以求后路。 -不过,[EndStone](./plugins-loader-choose.md?plugins-loader=endstone#热门加载器) 的出现貌似给基岩版服务端带来了希望。 +不过,[EndStone](./plugins-loader-choose.md?plugins-loader=endstone#热门加载器) 的出现貌似给基岩版服务端带来了希望。 -### LiteLoader 宣布停更(2023年10月份) -LiteLoaderBDS 最初是基于 BedrockX 开发的,在 2.0 版本进行了完全重写。它一直处于存档状态,是以前最流行的 BDS 插件加载器之一。最后的版本是 2.16.2,发布于 2023 年 10 月 9 日,支持 BDS 1.20.32 版本。 +### LiteLoader 宣布停更(2023年10月份) +LiteLoaderBDS 最初是基于 BedrockX 开发的,在 2.0 版本进行了完全重写。它一直处于存档状态,是以前最流行的 BDS 插件加载器之一。最后的版本是 2.16.2,发布于 2023 年 10 月 9 日,支持 BDS 1.20.32 版本。 一代骄子难道就此陨落了? -不,LiteDev 在后续发布了此文 +不,LiteDev 在后续发布了此文 ![LeviLamina在来的路上](./_images/levilamina-is-coming.png) -所以并不是 LiteDev 扔下史山跑路了(这是官方原话自嘲),而是着手重构 LiteLoader,预计在未来发布 LiteLoaderBDSV3,即 LeviLamina。 +所以并不是 LiteDev 扔下史山跑路了(这是官方原话自嘲),而是着手重构 LiteLoader,预计在未来发布 LiteLoaderBDSV3,即 LeviLamina。 -### LiteXLoader 合并至 LiteLoader(2022年2月12日) -LiteXLoader 于 2022 年 2 月 12 日 合并至 LiteLoader 项目,LXL成为LL的一个子模块。 LiteLoaderBDS将继续更新,作为C++、Go、Js、Lua和其他语言的通用加载器。所有以前的LXL插件将继续在新的LL版本下正常运行,所有现有的API将保持不变。 +### LiteXLoader 合并至 LiteLoader(2022年2月12日) +LiteXLoader 于 2022 年 2 月 12 日 合并至 LiteLoader 项目,LXL成为LL的一个子模块。 LiteLoaderBDS将继续更新,作为C++、Go、Js、Lua和其他语言的通用加载器。所有以前的LXL插件将继续在新的LL版本下正常运行,所有现有的API将保持不变。 -[^Archived]: 已存档(Archived):这意味着该项目已经不再活跃或不再被维护。当一个项目被标记为 "Archived" 时,它通常表示项目已经完成或不再进行更新。这可能是由于多种原因,比如项目已经达到其目标,或者开发者已经停止了项目的开发。 +[^Archived]: 已存档(Archived):这意味着该项目已经不再活跃或不再被维护。当一个项目被标记为 "Archived" 时,它通常表示项目已经完成或不再进行更新。这可能是由于多种原因,比如项目已经达到其目标,或者开发者已经停止了项目的开发。 diff --git a/docs-bedrock/bds-core/process/plugins/plugins.md b/docs-bedrock/bds-core/process/plugins/plugins.md index ffde1ce27..271e5e05f 100644 --- a/docs-bedrock/bds-core/process/plugins/plugins.md +++ b/docs-bedrock/bds-core/process/plugins/plugins.md @@ -14,7 +14,7 @@ sidebar_position: 1 # 插件 -**本文档中提到的插件都有较多用户基础和完善的 Wiki,具体插件请查看插件的 Wiki。** +**本文档中提到的插件都有较多用户基础和完善的 Wiki,具体插件请查看插件的 Wiki。** **建议阅读** diff --git a/docs-bedrock/bds-core/process/process.md b/docs-bedrock/bds-core/process/process.md index 1d5e65780..a924b0069 100644 --- a/docs-bedrock/bds-core/process/process.md +++ b/docs-bedrock/bds-core/process/process.md @@ -5,7 +5,7 @@ sidebar_position: 3 # 建设阶段 -在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 +在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 在这一章我们主要围绕以下几个点: @@ -13,4 +13,4 @@ import DocCardList from '@theme/DocCardList'; -插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识。 +插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识。 diff --git a/docs-bedrock/bds-core/start/basic/basic.md b/docs-bedrock/bds-core/start/basic/basic.md index e53b96235..0c9bcb17b 100644 --- a/docs-bedrock/bds-core/start/basic/basic.md +++ b/docs-bedrock/bds-core/start/basic/basic.md @@ -5,11 +5,11 @@ sidebar_position: 1 # 基础知识 -考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 +考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 -本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, +本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, -**跳过他吧**,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 +**跳过他吧**,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 import DocCardList from '@theme/DocCardList'; diff --git a/docs-bedrock/bds-core/start/basic/server-file-structure.md b/docs-bedrock/bds-core/start/basic/server-file-structure.md index ccf2729e9..a73b4c1cd 100644 --- a/docs-bedrock/bds-core/start/basic/server-file-structure.md +++ b/docs-bedrock/bds-core/start/basic/server-file-structure.md @@ -30,13 +30,13 @@ BDS服务端文件夹 │ └─Bedrock level // 世界存档 │ ├─db // 存档数据文件夹 │ ├─level_dat // 存档设定 -│ ├─level.dat_old // 存档设定(旧) +│ ├─level.dat_old // 存档设定(旧) │ └─level_name.txt // 存档名称 ├─allowlist.json // 白名单文件 ├─bedrock_server.exe // 服务端启动程序 ├─bedrock_server.pdb // 程序数据库文件 -├─bedrock_server_how_to.html // 如何使用BDS服务器的官方指南(没多大用处,看看就行) -├─permissions.json // 管理员(OP)玩家相关数据 +├─bedrock_server_how_to.html // 如何使用BDS服务器的官方指南(没多大用处,看看就行) +├─permissions.json // 管理员(OP)玩家相关数据 ├─release-notes.txt // 服务端发行版本详情 ├─server.properties // 配置文件 └─valid_known_packs.json // 已知的附加包 @@ -44,16 +44,16 @@ BDS服务端文件夹 ## 根目录下的一些文件 :::warning -请不要让你的服务端结构与文档解说结构有任何的 **缺少**,否则可能会出现 **玄学问题** +请不要让你的服务端结构与文档解说结构有任何的 **缺少**,否则可能会出现 **玄学问题** -若你 **一致认为** 有可删之处,那么以下是 **绝对可以删** 的服务端结构(反正每次开服都会检测是否有这些文件夹,如果没有还是会创建的) +若你 **一致认为** 有可删之处,那么以下是 **绝对可以删** 的服务端结构(反正每次开服都会检测是否有这些文件夹,如果没有还是会创建的)
点击展开 @@ -63,8 +63,8 @@ BDS服务端文件夹 - development_resource_packs - development_skin_packs - world-templates -- bedrock_server_how_to.html(这个不会自己创建) -- release-notes.txt(这个不会自己创建) +- bedrock_server_how_to.html(这个不会自己创建) +- release-notes.txt(这个不会自己创建) - valid_known_packs.json
@@ -73,7 +73,7 @@ BDS服务端文件夹 --- - `behavior_packs` - - 用于安装新的行为包。行为包可以改变游戏中的某些行为,例如,它们可以修改怪物行为、游戏规则或添加新的游戏机制。 + - 用于安装新的行为包。行为包可以改变游戏中的某些行为,例如,它们可以修改怪物行为、游戏规则或添加新的游戏机制。 - BUT! 没啥用...后续也不会涉及... --- - `config` @@ -81,15 +81,15 @@ BDS服务端文件夹 - BUT! 没啥用...后续也不会涉及... --- - `definitions` - - 这个文件夹包含定义文件,这些文件通常用于定义游戏中的群系、结构、生物生成等信息。它们决定了世界中不同区域的特性和外观。 + - 这个文件夹包含定义文件,这些文件通常用于定义游戏中的群系、结构、生物生成等信息。它们决定了世界中不同区域的特性和外观。 - BUT! 没啥用...后续也不会涉及... --- - `development_behavior_packs` - - 为开发者提供安装新行为包的文件夹。这允许开发者测试和开发自定义的行为包,而不会影响到主服务器的行为包。 + - 为开发者提供安装新行为包的文件夹。这允许开发者测试和开发自定义的行为包,而不会影响到主服务器的行为包。 - BUT! 没啥用...后续也不会涉及... --- - `development_resource_packs` - - 为开发者提供安装新资源包的文件夹。开发者可以在这里添加、测试和开发自定义的资源包,如纹理、模型和音效等。 + - 为开发者提供安装新资源包的文件夹。开发者可以在这里添加、测试和开发自定义的资源包,如纹理、模型和音效等。 - BUT! 没啥用...后续也不会涉及... --- - `development_skin_packs` @@ -97,65 +97,65 @@ BDS服务端文件夹 - BUT! 没啥用...后续也不会涉及... --- - `resource_packs` - - 用于安装新的资源包。资源包可以改变游戏中的视觉和声音元素,例如,它们可以提供新的纹理、音效和模型。 + - 用于安装新的资源包。资源包可以改变游戏中的视觉和声音元素,例如,它们可以提供新的纹理、音效和模型。 - BUT! 没啥用...后续也不会涉及... --- - `world-templates` - - 包含世界模板,这些模板可以被用来快速创建具有特定设置和结构的新世界。 - - 有点用,但不多。 + - 包含世界模板,这些模板可以被用来快速创建具有特定设置和结构的新世界。 + - 有点用,但不多。 --- - `worlds` - - 这是存储主世界文件夹的地方。每个世界都有自己的子文件夹,其中包含该世界的所有数据,如地形、建筑、玩家进度等。 + - 这是存储主世界文件夹的地方。每个世界都有自己的子文件夹,其中包含该世界的所有数据,如地形、建筑、玩家进度等。 - `Bedrock level` - 包含特定世界的存档数据。 - `db` - - 存档数据文件夹,通常包含有关世界的数据库文件。 + - 存档数据文件夹,通常包含有关世界的数据库文件。 - `level_dat` - - 包含世界的基本设置和属性,如游戏规则、时间、天气等。 + - 包含世界的基本设置和属性,如游戏规则、时间、天气等。 - `level.dat_old` - - 旧版的存档设定文件,通常在更新或备份时使用。 + - 旧版的存档设定文件,通常在更新或备份时使用。 - `level_name.txt` - 包含世界名称的文件。 --- - `allowlist.json` - - 白名单文件,列出了允许进入服务器的玩家列表。 - - (如果你在 `server.properties` 中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器)。 + - 白名单文件,列出了允许进入服务器的玩家列表。 + - (如果你在 `server.properties` 中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器)。 --- - `bedrock_server.exe` - - 服务端启动程序,用于启动和运行《我的世界》基岩版服务器。 + - 服务端启动程序,用于启动和运行《我的世界》基岩版服务器。 - - 你可以改名叫任何名字(只要以 `.exe` 结尾就行),但不建议你这么做,可能会导致成为后续操作报错的因素。例如: - 1. 若你使用 **面板** 开服,需要在对应的 **启动路径** 中修改服务端启动程序的文件名 - 2. 若你使用 **启用脚本** 开服,需要在脚本对应位置的 **启动命令** 中修改 **启动程序的文件名** 为 **该服务端启动程序的文件名**(bedrock_server.exe) + - 你可以改名叫任何名字(只要以 `.exe` 结尾就行),但不建议你这么做,可能会导致成为后续操作报错的因素。例如: + 1. 若你使用 **面板** 开服,需要在对应的 **启动路径** 中修改服务端启动程序的文件名 + 2. 若你使用 **启用脚本** 开服,需要在脚本对应位置的 **启动命令** 中修改 **启动程序的文件名** 为 **该服务端启动程序的文件名**(bedrock_server.exe) --- - `bedrock_server.pdb` - - 程序数据库文件,通常用于调试和错误分析。 + - 程序数据库文件,通常用于调试和错误分析。 --- - `bedrock_server_how_to.html` - - 如何使用BDS服务器的官方指南,虽然你说“没多大用处”,但它可能包含有关配置和运行服务器的有用信息。 - - 有点用,但不多 + - 如何使用BDS服务器的官方指南,虽然你说“没多大用处”,但它可能包含有关配置和运行服务器的有用信息。 + - 有点用,但不多 --- - `permissions.json` - - 管理员(OP)玩家相关数据(如 UUID 及游戏名称等相关信息),包括权限设置和角色定义。 + - 管理员(OP)玩家相关数据(如 UUID 及游戏名称等相关信息),包括权限设置和角色定义。 --- - `release-notes.txt` - - 服务端发行版本详情,包含了每个版本更新的日志和更改内容。 + - 服务端发行版本详情,包含了每个版本更新的日志和更改内容。 - BUT! 没啥用...后续也不会涉及... --- - `server.properties` - - 服务器配置文件,用于调整各种服务器设置,如设置端口,设置游戏难度,设置游戏模式(生存、创造等)等。 + - 服务器配置文件,用于调整各种服务器设置,如设置端口,设置游戏难度,设置游戏模式(生存、创造等)等。 - [**如何使用?**](#) --- - `valid_known_packs.json` - - 包含已知的附加包列表,这些包可能包括行为包、资源包等,服务器会根据这个列表来验证安装的包。 - - 有点用,但不多。 + - 包含已知的附加包列表,这些包可能包括行为包、资源包等,服务器会根据这个列表来验证安装的包。 + - 有点用,但不多。 --- -至此,大部分的以 BDS 为基础的服务器核心服务端的结构已经大致呈现在你眼前。 +至此,大部分的以 BDS 为基础的服务器核心服务端的结构已经大致呈现在你眼前。 :::tip -如果你的服务端有更多的文件,大概率是 [**插件加载器** / **插件**](../../process/plugins/plugins-loader-choose.md)(如针对 BDS 的 Levilamina 插件加载器会释放更多文件夹)创建的文件夹,一般来说无需担心。 +如果你的服务端有更多的文件,大概率是 [**插件加载器** / **插件**](../../process/plugins/plugins-loader-choose.md)(如针对 BDS 的 Levilamina 插件加载器会释放更多文件夹)创建的文件夹,一般来说无需担心。 ::: diff --git a/docs-bedrock/bds-core/start/start.md b/docs-bedrock/bds-core/start/start.md index 0c9ee0e6f..a27c5b0c9 100644 --- a/docs-bedrock/bds-core/start/start.md +++ b/docs-bedrock/bds-core/start/start.md @@ -5,7 +5,7 @@ sidebar_position: 2 # 开始阶段 -在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 +在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 import DocCardList from '@theme/DocCardList'; diff --git a/docs-bedrock/intro.md b/docs-bedrock/intro.md index 066a502b8..0be39eb21 100644 --- a/docs-bedrock/intro.md +++ b/docs-bedrock/intro.md @@ -7,13 +7,13 @@ sidebar_position: 1 👋 欢迎来到笨蛋开服教程 **基岩** 板块! -此板块是一篇主要针对 **基岩版** 服务器的开服指南,而非 **Java 版**。 +此板块是一篇主要针对 **基岩版** 服务器的开服指南,而非 **Java 版**。 # 开始你的旅程 ![:NitWikit](https://count.kjchmc.cn/get/@:NitWikit) -如果你确定你符合条件,请点击一侧的目录开始阅读文档。 +如果你确定你符合条件,请点击一侧的目录开始阅读文档。 # 更多 diff --git a/docs-bedrock/nukkit-core/preparation/preparation.md b/docs-bedrock/nukkit-core/preparation/preparation.md index 1a5744619..bb789939d 100644 --- a/docs-bedrock/nukkit-core/preparation/preparation.md +++ b/docs-bedrock/nukkit-core/preparation/preparation.md @@ -5,7 +5,7 @@ sidebar_position: 1 # 准备工作 -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: +在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; @@ -13,8 +13,8 @@ import DocCardList from '@theme/DocCardList'; 其中: -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; +文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; +网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; 笨蛋脚本主要用于一键式配置文件、安装插件等。 diff --git a/docs-bedrock/pnx-core/preparation/preparation.md b/docs-bedrock/pnx-core/preparation/preparation.md index 1a5744619..bb789939d 100644 --- a/docs-bedrock/pnx-core/preparation/preparation.md +++ b/docs-bedrock/pnx-core/preparation/preparation.md @@ -5,7 +5,7 @@ sidebar_position: 1 # 准备工作 -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: +在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; @@ -13,8 +13,8 @@ import DocCardList from '@theme/DocCardList'; 其中: -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; +文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; +网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; 笨蛋脚本主要用于一键式配置文件、安装插件等。 diff --git a/docs-bedrock/super-basic/protocol-version-number.md b/docs-bedrock/super-basic/protocol-version-number.md index 4becff601..9296b4f7b 100644 --- a/docs-bedrock/super-basic/protocol-version-number.md +++ b/docs-bedrock/super-basic/protocol-version-number.md @@ -7,12 +7,12 @@ sidebar_position: 3 Minecraft Wiki 中有对该概念的 [详细介绍](https://zh.minecraft.wiki/w/%E5%8D%8F%E8%AE%AE%E7%89%88%E6%9C%AC) 。本文将讲解开服过程中需要注意的重点内容。 -简单来说,协议版本就像客户端与服务器之间的语言版本。把旧版协议比作老奶奶,比如“古代人” 1.20.50 讲的是“古汉语”协议 630,而你 1.20.60 讲的是“现代汉语”协议 649。古代人(1.20.50)和你(1.20.60)讲(连接)古汉语(使用协议 630)时,你听不懂。同理,你(1.20.60)和古代人(1.20.50)讲(连接)现代汉语(使用协议 649)时,古代人听不懂。为了能互相理解,你只能和同为现代人(同为 649 协议)交谈,古代人也只能和古代人(同为 630 协议)交谈。 +简单来说,协议版本就像客户端与服务器之间的语言版本。把旧版协议比作老奶奶,比如“古代人” 1.20.50 讲的是“古汉语”协议 630,而你 1.20.60 讲的是“现代汉语”协议 649。古代人(1.20.50)和你(1.20.60)讲(连接)古汉语(使用协议 630)时,你听不懂。同理,你(1.20.60)和古代人(1.20.50)讲(连接)现代汉语(使用协议 649)时,古代人听不懂。为了能互相理解,你只能和同为现代人(同为 649 协议)交谈,古代人也只能和古代人(同为 630 协议)交谈。 ## 更新规律 -通常来说,MOJANG 会在每个修订版本号十位发生改变时改变协议版本。例如,1.20.10 - 1.20.15 同为协议版本 594,而 1.20.30 开始协议版本变更为618。之后的 1.20.31、1.20.32 都是 618 协议版本,到 1.20.40时再次更新为 622。 +通常来说,MOJANG 会在每个修订版本号十位发生改变时改变协议版本。例如,1.20.10 - 1.20.15 同为协议版本 594,而 1.20.30 开始协议版本变更为618。之后的 1.20.31、1.20.32 都是 618 协议版本,到 1.20.40时再次更新为 622。 -有时 MOJANG 会为了一些原因和目的在十位之内更新协议版本,例如 1.19.60 - 62 和 1.19.63 协议版本不同,1.21.0 - 1.21.1 和 1.21.2 - 1.21.3 协议版本不同。 +有时 MOJANG 会为了一些原因和目的在十位之内更新协议版本,例如 1.19.60 - 62 和 1.19.63 协议版本不同,1.21.0 - 1.21.1 和 1.21.2 - 1.21.3 协议版本不同。 通常 MOJANG 会每五周左右发布一次这种更新协议的版本。 diff --git a/docs-bedrock/super-basic/server-core-choose.md b/docs-bedrock/super-basic/server-core-choose.md index d44152e78..b4213fd2c 100644 --- a/docs-bedrock/super-basic/server-core-choose.md +++ b/docs-bedrock/super-basic/server-core-choose.md @@ -20,61 +20,61 @@ import TabItem from '@theme/TabItem'; :::warning -至本篇文档开始,**`BDS`** 一致指 **`Bedrock Dedicated Server`**,而不是指 **`Beidou Navigation Satellite System`**(北斗卫星导航系统) +至本篇文档开始,**`BDS`** 一致指 **`Bedrock Dedicated Server`**,而不是指 **`Beidou Navigation Satellite System`**(北斗卫星导航系统) ::: ![BDS 运行时的样子](_images/bedrock-core-running.png) -此服务器核心允许 _Minecraft 腐竹_ 在家里使用安装有 **Windows** 或 **Linux** 的设备或使用 **云服务托管**(云服务器)来搭建属于自己的 BDS 服务器。 -这是坐落于 **Minecraft 官网** 的服务端(与 Java 的 Vanilla 服务端在一个页面)。作为官方服务端,它有着极其完善的 Minecraft 特性和流畅的游戏体验,几乎和单人一模一样,说是生存服首当之选也不为过。 +此服务器核心允许 _Minecraft 腐竹_ 在家里使用安装有 **Windows** 或 **Linux** 的设备或使用 **云服务托管**(云服务器)来搭建属于自己的 BDS 服务器。 +这是坐落于 **Minecraft 官网** 的服务端(与 Java 的 Vanilla 服务端在一个页面)。作为官方服务端,它有着极其完善的 Minecraft 特性和流畅的游戏体验,几乎和单人一模一样,说是生存服首当之选也不为过。 **优势**: -- 官方支持:作为 Mojang 官方推出的服务器端软件,BDS 能够获得官方的最新更新和支持,确保与 Minecraft 基岩版的最新版本兼容。 -- 文档和社区支持:虽然官方提供了一些基本文档,但不如第三方服务器端软件的社区那样提供丰富的教程和支持。社区插件内容庞大,基本满足腐竹的日常需求(虽然官方服务端无法加载插件,但可以通过 [社区开发的加载器](/docs-bedrock/bds-core/process/plugins/plugins-loader-choose.md#bds - 社区开发的加载器) 解决这一问题)。 -- 稳定性:由于是官方产品,BDS 在稳定性方面通常表现良好,能够提供可靠的服务器体验。 -- 兼容性:BDS 与 **Minecraft 基岩版客户端** 的兼容性最好,确保玩家可以无缝连接和游戏。 -- 安全性:官方服务器端软件通常会得到更频繁的安全更新,减少了潜在的安全风险。 -- 资源利用:BDS 针对 **Minecraft 基岩版** 进行了优化,能够高效利用服务器资源。 +- 官方支持:作为 Mojang 官方推出的服务器端软件,BDS 能够获得官方的最新更新和支持,确保与 Minecraft 基岩版的最新版本兼容。 +- 文档和社区支持:虽然官方提供了一些基本文档,但不如第三方服务器端软件的社区那样提供丰富的教程和支持。社区插件内容庞大,基本满足腐竹的日常需求(虽然官方服务端无法加载插件,但可以通过 [社区开发的加载器](/docs-bedrock/bds-core/process/plugins/plugins-loader-choose.md#bds - 社区开发的加载器) 解决这一问题)。 +- 稳定性:由于是官方产品,BDS 在稳定性方面通常表现良好,能够提供可靠的服务器体验。 +- 兼容性:BDS 与 **Minecraft 基岩版客户端** 的兼容性最好,确保玩家可以无缝连接和游戏。 +- 安全性:官方服务器端软件通常会得到更频繁的安全更新,减少了潜在的安全风险。 +- 资源利用:BDS 针对 **Minecraft 基岩版** 进行了优化,能够高效利用服务器资源。 **劣势**: -- 定制性有限:与一些第三方服务器端软件相比,BDS 的定制性和扩展性可能 **较为有限**,**不支持插件系统**,限制了服务器的个性化。 -- 性能优化:虽然 BDS 性能稳定,但可能在某些方面(如多核优化)不如专门的第三方服务器端软件。它的生物运算运行在一个线程上。意味着你的服务器的流畅度主要取决于 **CPU 的单核性能**。这使得地图越大,服务器就越 [卡顿](https://yizhan.wiki/NitWikit/start/basic/what-is-caton),不如 Java 版服务端流畅,因为 Java 版服务端 **支持多核运行**。 -- 高级功能缺失:BDS 可能不支持一些高级功能,如自定义世界生成、高级权限管理等,这些通常需要第三方软件才能实现。 -- 内存泄漏:内存占用会 *缓慢* 增加,有时严重的还会导致 **内存泄漏**。如果强行进行 **内存清理** 的话,会导致玩家在进入 **装有 材质包 / Addon 的服务器** 时 **该玩家客户端无法下载对应内容**,致使下载进度条卡条,只能让腐竹重启服务器解决。 +- 定制性有限:与一些第三方服务器端软件相比,BDS 的定制性和扩展性可能 **较为有限**,**不支持插件系统**,限制了服务器的个性化。 +- 性能优化:虽然 BDS 性能稳定,但可能在某些方面(如多核优化)不如专门的第三方服务器端软件。它的生物运算运行在一个线程上。意味着你的服务器的流畅度主要取决于 **CPU 的单核性能**。这使得地图越大,服务器就越 [卡顿](https://yizhan.wiki/NitWikit/start/basic/what-is-caton),不如 Java 版服务端流畅,因为 Java 版服务端 **支持多核运行**。 +- 高级功能缺失:BDS 可能不支持一些高级功能,如自定义世界生成、高级权限管理等,这些通常需要第三方软件才能实现。 +- 内存泄漏:内存占用会 *缓慢* 增加,有时严重的还会导致 **内存泄漏**。如果强行进行 **内存清理** 的话,会导致玩家在进入 **装有 材质包 / Addon 的服务器** 时 **该玩家客户端无法下载对应内容**,致使下载进度条卡条,只能让腐竹重启服务器解决。 -总体来说,Bedrock Dedicated Server 适合那些希望获得官方支持、稳定性和兼容性的服务器管理员。如果你的服务器不需要复杂的定制或高级功能,BDS 是一个可靠的选择。然而,对于那些需要更多自定义选项和高级功能的用户,可能需要考虑使用第三方服务器端软件。 +总体来说,Bedrock Dedicated Server 适合那些希望获得官方支持、稳定性和兼容性的服务器管理员。如果你的服务器不需要复杂的定制或高级功能,BDS 是一个可靠的选择。然而,对于那些需要更多自定义选项和高级功能的用户,可能需要考虑使用第三方服务器端软件。 :::warning -至本篇文档开始,**`NK`** 一致指 **`Nukkit`**,但考虑到全称不长,因此二者都会出现在本文档中 +至本篇文档开始,**`NK`** 一致指 **`Nukkit`**,但考虑到全称不长,因此二者都会出现在本文档中 ::: ![Nukkit 运行时的样子](_images/nukkit-core-running.png) -它的名字,很像 Java 版服务端的 Bukkit。没错,它就是 *意图* 创作出来类似 Bukkit 的基岩版服务端,编写语言正是 **Java**。 +它的名字,很像 Java 版服务端的 Bukkit。没错,它就是 *意图* 创作出来类似 Bukkit 的基岩版服务端,编写语言正是 **Java**。 **优势**: -- 轻量级:Nukkit 设计轻量,对系统资源的 **需求相对较低**,适合在 **资源有限** 的服务器上运行。 -- 高性能:Nukkit 在性能方面进行了优化,能够 **支持较多的同时在线玩家**,保持良好的游戏体验。 -- 插件系统:Nukkit 拥有一个 **活跃的插件生态系统**,用户可以轻松地安装和使用各种插件来扩展服务器功能。 -- 跨平台:Nukkit **支持多个操作系统**,包括 Windows、Linux 和 macOS,方便在不同平台上搭建服务器。 -- 易于上手:相对于其他服务器端软件,Nukkit 的配置和使用较为简单,适合初学者 **快速搭建服务器**。 -- 社区支持:Nukkit 有一个相对活跃的社区,用户可以从中获得帮助和资源。 +- 轻量级:Nukkit 设计轻量,对系统资源的 **需求相对较低**,适合在 **资源有限** 的服务器上运行。 +- 高性能:Nukkit 在性能方面进行了优化,能够 **支持较多的同时在线玩家**,保持良好的游戏体验。 +- 插件系统:Nukkit 拥有一个 **活跃的插件生态系统**,用户可以轻松地安装和使用各种插件来扩展服务器功能。 +- 跨平台:Nukkit **支持多个操作系统**,包括 Windows、Linux 和 macOS,方便在不同平台上搭建服务器。 +- 易于上手:相对于其他服务器端软件,Nukkit 的配置和使用较为简单,适合初学者 **快速搭建服务器**。 +- 社区支持:Nukkit 有一个相对活跃的社区,用户可以从中获得帮助和资源。 **劣势**: -- 更新滞后:Nukkit 的更新可能不如官方服务器端软件那样及时,可能无法立即支持最新的 Minecraft 版本和特性。 -- 生态系统限制:虽然 Nukkit 的插件生态系统活跃,但与一些更流行的服务器端软件(如 Spigot/Paper)相比,可用的插件和资源可能较少。 -- 多核优化不足:早期的 Nukkit 版本在多核处理器优化方面可能不如其他服务器端软件,这可能会 **限制其在高性能服务器上的性能表现**。 -- 文档和教程:虽然社区活跃,但 **高质量的官方文档和教程可能相对缺乏**,新用户可能需要花费更多时间学习和解决问题。 -- 稳定性问题:由于开源项目的性质,Nukkit 可能偶尔会出现稳定性问题,尤其是在处理大量玩家或复杂插件时。 +- 更新滞后:Nukkit 的更新可能不如官方服务器端软件那样及时,可能无法立即支持最新的 Minecraft 版本和特性。 +- 生态系统限制:虽然 Nukkit 的插件生态系统活跃,但与一些更流行的服务器端软件(如 Spigot/Paper)相比,可用的插件和资源可能较少。 +- 多核优化不足:早期的 Nukkit 版本在多核处理器优化方面可能不如其他服务器端软件,这可能会 **限制其在高性能服务器上的性能表现**。 +- 文档和教程:虽然社区活跃,但 **高质量的官方文档和教程可能相对缺乏**,新用户可能需要花费更多时间学习和解决问题。 +- 稳定性问题:由于开源项目的性质,Nukkit 可能偶尔会出现稳定性问题,尤其是在处理大量玩家或复杂插件时。 -总的来说,Nukkit 是一个适合初学者和小型服务器使用的轻量级 Minecraft 服务器端软件,它提供了足够的性能和可扩展性来满足基本需求。然而,对于需要最新游戏特性、高级优化和广泛插件支持的大型服务器,可能需要考虑其他选项。 +总的来说,Nukkit 是一个适合初学者和小型服务器使用的轻量级 Minecraft 服务器端软件,它提供了足够的性能和可扩展性来满足基本需求。然而,对于需要最新游戏特性、高级优化和广泛插件支持的大型服务器,可能需要考虑其他选项。 @@ -85,53 +85,53 @@ import TabItem from '@theme/TabItem'; ::: :::warning -至本篇文档开始,**`PNX`** 一致指 **`PowerNukkitX`** +至本篇文档开始,**`PNX`** 一致指 **`PowerNukkitX`** ::: ![PNX 运行时的样子](_images/powernukkitx-core-running.png) **优势**: -- 最新版 mcbe(基岩版) 协议支持:PNX 支持最新的 Minecraft 基岩版协议,这意味着它 **可以兼容最新的游戏版本和特性**。 -- 丰富的原版特性支持:支持 1.19 版本的所有新方块和新物品,以及新版下界等特性。 -- 高性能和高拓展性:PNX 进行了多核优化,提供了更高的性能和更好的扩展性。 +- 最新版 mcbe(基岩版) 协议支持:PNX 支持最新的 Minecraft 基岩版协议,这意味着它 **可以兼容最新的游戏版本和特性**。 +- 丰富的原版特性支持:支持 1.19 版本的所有新方块和新物品,以及新版下界等特性。 +- 高性能和高拓展性:PNX 进行了多核优化,提供了更高的性能和更好的扩展性。 - 384 格世界支持:允许在主世界达到 384 格的高度限制。 -- 史诗地形生成器:内置 Terra 地形生成器,支持创建丰富的地图环境。 -- 全开源和全 API 开放:PNX 完全开源,提供了丰富的 API,方便开发者进行定制和扩展。 -- 插件兼容性:兼容 Nukkit 生态中的数千个插件,同时支持使用 Java, Kotlin, Scala, Python, JavaScript, Lua 等 JVM 语言编写插件。 +- 史诗地形生成器:内置 Terra 地形生成器,支持创建丰富的地图环境。 +- 全开源和全 API 开放:PNX 完全开源,提供了丰富的 API,方便开发者进行定制和扩展。 +- 插件兼容性:兼容 Nukkit 生态中的数千个插件,同时支持使用 Java, Kotlin, Scala, Python, JavaScript, Lua 等 JVM 语言编写插件。 **劣势**: -- 开发活跃度:由于 Nukkit 核心开发团队的变化,PNX 的开发强度可能受到影响。 -- 生态系统的局限性:虽然 PNX 拥有丰富的插件,但与一些更主流的服务器端软件相比,其生态系统可能相对较小。 -- 学习曲线:由于 PNX 生态的广阔和插件的多样性,对于新手来说,学习如何有效地使用和管理 PNX 服务器可能会有一定的难度。 +- 开发活跃度:由于 Nukkit 核心开发团队的变化,PNX 的开发强度可能受到影响。 +- 生态系统的局限性:虽然 PNX 拥有丰富的插件,但与一些更主流的服务器端软件相比,其生态系统可能相对较小。 +- 学习曲线:由于 PNX 生态的广阔和插件的多样性,对于新手来说,学习如何有效地使用和管理 PNX 服务器可能会有一定的难度。 -总体来看,PowerNukkitX 是一个功能强大且高度可定制化的 Minecraft 基岩版服务器端软件,特别适合那些需要高性能和高度自定义服务器的用户。然而,它的使用和维护可能需要一定的技术知识和耐心。 +总体来看,PowerNukkitX 是一个功能强大且高度可定制化的 Minecraft 基岩版服务器端软件,特别适合那些需要高性能和高度自定义服务器的用户。然而,它的使用和维护可能需要一定的技术知识和耐心。 :::warning -至本篇文档开始,**`PMMP`** 一致指 **`PocketMine-MP`** +至本篇文档开始,**`PMMP`** 一致指 **`PocketMine-MP`** ::: ![PNX 运行时的样子](_images/pocketminemp-core-running.png) **优势**: -- 插件生态丰富:PocketMine-MP 拥有一个 **庞大的插件生态系统**,用户可以找到各种插件来增强服务器的功能和玩家体验。 -- 跨平台兼容性:PocketMine-MP **支持多个操作系统**,包括 Windows、Linux 和 macOS,便于在不同环境下部署。 -- PHP 编程语言:使用 PHP 编写插件,对于熟悉 PHP 的开发者来说,入门门槛相对较低。 -- 社区支持:PocketMine-MP 有一个活跃的社区,提供插件开发、服务器配置和故障排除的帮助。 -- 自定义性:服务器管理员可以自由地定制服务器,包括游戏规则、世界生成和玩家互动等。 +- 插件生态丰富:PocketMine-MP 拥有一个 **庞大的插件生态系统**,用户可以找到各种插件来增强服务器的功能和玩家体验。 +- 跨平台兼容性:PocketMine-MP **支持多个操作系统**,包括 Windows、Linux 和 macOS,便于在不同环境下部署。 +- PHP 编程语言:使用 PHP 编写插件,对于熟悉 PHP 的开发者来说,入门门槛相对较低。 +- 社区支持:PocketMine-MP 有一个活跃的社区,提供插件开发、服务器配置和故障排除的帮助。 +- 自定义性:服务器管理员可以自由地定制服务器,包括游戏规则、世界生成和玩家互动等。 **劣势**: -- 性能问题:PocketMine-MP 在处理高玩家负载时 **可能存在性能瓶颈**,尤其是在内存管理和 CPU 效率方面。 -- 更新滞后:PocketMine-MP 可能不会立即跟进 **Minecraft 基岩版** 的最新更新,导致玩家无法体验最新的游戏内容。 -- 稳定性:由于插件系统的开放性,服务器在运行多个插件时 **可能会遇到稳定性问题**。 -- 资源消耗:PHP 作为解释型语言,相比编译型语言 **可能在资源消耗上更为显著**。 -- 学习曲线:对于新手管理员来说,PocketMine-MP 的 **配置和插件管理可能需要一定的学习时间**。 +- 性能问题:PocketMine-MP 在处理高玩家负载时 **可能存在性能瓶颈**,尤其是在内存管理和 CPU 效率方面。 +- 更新滞后:PocketMine-MP 可能不会立即跟进 **Minecraft 基岩版** 的最新更新,导致玩家无法体验最新的游戏内容。 +- 稳定性:由于插件系统的开放性,服务器在运行多个插件时 **可能会遇到稳定性问题**。 +- 资源消耗:PHP 作为解释型语言,相比编译型语言 **可能在资源消耗上更为显著**。 +- 学习曲线:对于新手管理员来说,PocketMine-MP 的 **配置和插件管理可能需要一定的学习时间**。 -PocketMine-MP 适合那些重视插件功能和自定义能力的服务器管理员。如果你希望建立一个具有特色玩法和丰富互动的服务器,并且不介意在性能和稳定性方面做出一些妥协,PocketMine-MP 是一个不错的选择。然而,如果你更关注性能和最新游戏内容的支持,可能需要考虑其他服务器端解决方案。 +PocketMine-MP 适合那些重视插件功能和自定义能力的服务器管理员。如果你希望建立一个具有特色玩法和丰富互动的服务器,并且不介意在性能和稳定性方面做出一些妥协,PocketMine-MP 是一个不错的选择。然而,如果你更关注性能和最新游戏内容的支持,可能需要考虑其他服务器端解决方案。 diff --git a/docs-bedrock/super-basic/server-type.md b/docs-bedrock/super-basic/server-type.md index 2b151b059..417e54006 100644 --- a/docs-bedrock/super-basic/server-type.md +++ b/docs-bedrock/super-basic/server-type.md @@ -14,62 +14,62 @@ sidebar_position: 2 # 服务器类型 -> 目前有五类主流的选择: 纯净服(又名原版服),Addon 服(仅 BDS),插件服,小游戏服(插件服的一种),Addon 和 插件混合服(仅 BDS)。 +> 目前有五类主流的选择: 纯净服(又名原版服),Addon 服(仅 BDS),插件服,小游戏服(插件服的一种),Addon 和 插件混合服(仅 BDS)。 -在 Minecraft 基岩版 的服务器世界中,有多种不同的服务器类型供腐竹选择。每种类型都有其独特的特点和玩法。以下是五种主流的服务器类型,帮助你根据自己服务器的需求做出选择。 +在 Minecraft 基岩版 的服务器世界中,有多种不同的服务器类型供腐竹选择。每种类型都有其独特的特点和玩法。以下是五种主流的服务器类型,帮助你根据自己服务器的需求做出选择。 -## 1. 纯净服(又名原版服) +## 1. 纯净服(又名原版服) ### 定义 -纯净服是完全遵循 Minecraft 基岩版 官方游戏规则的服务器,不添加任何额外的插件或修改。 +纯净服是完全遵循 Minecraft 基岩版 官方游戏规则的服务器,不添加任何额外的插件或修改。 ### 特点 -- **原汁原味**:提供最纯正的游戏体验,玩家可以享受到官方设计的游戏内容和挑战。 -- **稳定性**:没有插件干扰,服务器运行更加稳定。 -- **低维护**:无需担心插件兼容性和更新问题,维护相对简单。 +- **原汁原味**:提供最纯正的游戏体验,玩家可以享受到官方设计的游戏内容和挑战。 +- **稳定性**:没有插件干扰,服务器运行更加稳定。 +- **低维护**:无需担心插件兼容性和更新问题,维护相对简单。 ### 适用对象 - 喜欢传统 Minecraft 游戏体验的玩家。 - 腐竹希望专注于提供稳定和公平的游戏环境。 -## 2. Addon 服(仅 BDS) +## 2. Addon 服(仅 BDS) ### 定义 -Addon 服 是基于官方 BDS 的服务器,通过添加官方支持的 **Addon** 来 **扩展游戏功能**。 +Addon 服 是基于官方 BDS 的服务器,通过添加官方支持的 **Addon** 来 **扩展游戏功能**。 ### 特点 -- **官方支持**:Addon 由 Mojang 官方 提供,保证了与游戏版本的兼容性。 -- **有限定制**:允许一定程度的游戏内容扩展,如新的方块、物品和生物。 -- **稳定性**:Addon 经过官方测试,对服务器稳定性影响较小。 +- **官方支持**:Addon 由 Mojang 官方 提供,保证了与游戏版本的兼容性。 +- **有限定制**:允许一定程度的游戏内容扩展,如新的方块、物品和生物。 +- **稳定性**:Addon 经过官方测试,对服务器稳定性影响较小。 ### 适用对象 - 希望在官方服务器基础上增加一些自定义内容的玩家。 -- 腐竹希望保持服务器官方特性的同时,提供更多玩法。 +- 腐竹希望保持服务器官方特性的同时,提供更多玩法。 ## 3. 插件服 ### 定义 -插件服是指使用 第三方服务器端软件(如 LiteLoader、Levilamina、PocketMine-MP、PowerNukkitX 等),通过安装插件来大幅度扩展游戏功能的服务器。 +插件服是指使用 第三方服务器端软件(如 LiteLoader、Levilamina、PocketMine-MP、PowerNukkitX 等),通过安装插件来大幅度扩展游戏功能的服务器。 ### 特点 -- **高度自定义**:插件种类繁多,可以实现丰富的游戏模式和功能。 -- **社区支持**:有大量开发者提供的插件和教程,方便腐竹和玩家。 +- **高度自定义**:插件种类繁多,可以实现丰富的游戏模式和功能。 +- **社区支持**:有大量开发者提供的插件和教程,方便腐竹和玩家。 - **兼容性问题**:可能存在插件间兼容性和服务器稳定性的问题。 ### 适用对象 - 喜欢多样化游戏体验和特殊玩法的玩家。 - 愿意投入时间学习和配置插件的腐竹。 -## 4. 小游戏服(插件服的一种) +## 4. 小游戏服(插件服的一种) ### 定义 -小游戏服 是插件服的一种特殊形式,专注于提供各种小型游戏和挑战,如战墙、空岛、迷宫等。 +小游戏服 是插件服的一种特殊形式,专注于提供各种小型游戏和挑战,如战墙、空岛、迷宫等。 ### 特点 -- **娱乐性强**:提供快速、有趣的游戏体验,适合短时间游玩。 -- **社交互动**:玩家可以在游戏中互动,增加社区凝聚力。 -- **定期更新**:小游戏内容经常更新,保持新鲜感。 +- **娱乐性强**:提供快速、有趣的游戏体验,适合短时间游玩。 +- **社交互动**:玩家可以在游戏中互动,增加社区凝聚力。 +- **定期更新**:小游戏内容经常更新,保持新鲜感。 ### 适用对象 - 喜欢快节奏和竞技性游戏的玩家。 - 希望通过小游戏吸引和保持玩家活跃的腐竹。 -## 5. Addon 和 插件混合服(仅 BDS) +## 5. Addon 和 插件混合服(仅 BDS) ### 定义 -这种服务器结合了 Addon 服 和 插件服 的特点,既使用 官方 Addon,也通过第三方插件来扩展功能。 +这种服务器结合了 Addon 服 和 插件服 的特点,既使用 官方 Addon,也通过第三方插件来扩展功能。 ### 特点 - **综合优势**:结合了 Addon 的官方支持和插件的高度自定义。 -- **复杂配置**:需要同时管理 Addon 和 插件,配置较为复杂。 +- **复杂配置**:需要同时管理 Addon 和 插件,配置较为复杂。 - **性能要求**:可能对服务器性能有更高的要求。 ### 适用对象 -- 希望在保持官方特性的同时,拥有更多自定义玩法的玩家。 -- 有经验的腐竹,能够处理 Addon 和 插件 的兼容性问题。 -选择合适的服务器类型是打造成功 Minecraft 服务器的重要步骤。根据你的目标、玩家群体和技术能力,合理选择服务器类型,为玩家创造一个有趣、稳定且充满活力的游戏环境。 +- 希望在保持官方特性的同时,拥有更多自定义玩法的玩家。 +- 有经验的腐竹,能够处理 Addon 和 插件 的兼容性问题。 +选择合适的服务器类型是打造成功 Minecraft 服务器的重要步骤。根据你的目标、玩家群体和技术能力,合理选择服务器类型,为玩家创造一个有趣、稳定且充满活力的游戏环境。 diff --git a/docs-bedrock/super-basic/super-basic.md b/docs-bedrock/super-basic/super-basic.md index ca7402dfb..5f33bcbb3 100644 --- a/docs-bedrock/super-basic/super-basic.md +++ b/docs-bedrock/super-basic/super-basic.md @@ -6,11 +6,11 @@ sidebar_position: 2 # 超级基础知识 -考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 +考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 -本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, +本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, -**跳过他吧**,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 +**跳过他吧**,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 import DocCardList from '@theme/DocCardList'; diff --git a/docs-bedrock/super-basic/version.md b/docs-bedrock/super-basic/version.md index e52e905c1..4fe76d8d6 100644 --- a/docs-bedrock/super-basic/version.md +++ b/docs-bedrock/super-basic/version.md @@ -4,41 +4,41 @@ sidebar_position: 4 --- # 选择合适的版本 -先说结论:如果没有明确需求,**选择对应服务端的最新版即可。** 最新版的服务端往往支持最新版的客户端进入。 +先说结论:如果没有明确需求,**选择对应服务端的最新版即可。** 最新版的服务端往往支持最新版的客户端进入。 ## 版本差异 -各个版本更新的内容可以在 [Minecraft Wiki](https://zh.minecraft.wiki) 找到,此处不对游戏内容做过多叙述。除了关注游戏内容上的差异外,你还需要注意以下几个被官方轻描淡写,但对玩家有重大影响的客户端方面的更新: -- 1.20.50 :由于该版本中有许多方块进行了“扁平化”,经过了代码重构,导致一些该版本以下的跨版本插件无法很好地兼容该版本及以上版本。 +各个版本更新的内容可以在 [Minecraft Wiki](https://zh.minecraft.wiki) 找到,此处不对游戏内容做过多叙述。除了关注游戏内容上的差异外,你还需要注意以下几个被官方轻描淡写,但对玩家有重大影响的客户端方面的更新: +- 1.20.50 :由于该版本中有许多方块进行了“扁平化”,经过了代码重构,导致一些该版本以下的跨版本插件无法很好地兼容该版本及以上版本。 - 1.20.40 :该版本中新的触控布局可以自定义位置 -- 1.20.x(没有确切版本,望大佬补充) :大约从此版本开始,安卓版本出现了严重的卡顿问题,该问题截至撰写本文时仍未修复,社区也没有任何解决方案。 +- 1.20.x(没有确切版本,望大佬补充) :大约从此版本开始,安卓版本出现了严重的卡顿问题,该问题截至撰写本文时仍未修复,社区也没有任何解决方案。 - 1.19.50 :该版本加入了新的触控布局 -- 1.18.30 :从该版本开始,由于客户端实装了渲染龙,客户端无法使用传统的光影,只能使用硬件光追或延迟渲染改善游戏画面。 +- 1.18.30 :从该版本开始,由于客户端实装了渲染龙,客户端无法使用传统的光影,只能使用硬件光追或延迟渲染改善游戏画面。 ## 喜欢“自动更新”的玩家们 -本意上为了确保用户第一时间接收到最新功能和错误修复,包括 App Store、Microsoft Store、Google Play 在内的主流应用商店都具备了自动更新 app 的功能,并且推荐用户开启。 +本意上为了确保用户第一时间接收到最新功能和错误修复,包括 App Store、Microsoft Store、Google Play 在内的主流应用商店都具备了自动更新 app 的功能,并且推荐用户开启。 -然而这个功能在基岩版上却造成了这样的问题:由于基岩版每隔若干版本都要更换协议,这就导致一些玩家的客户端在其不知情的情况下自动更新,并导致他们无法进入服务器,遇到类似“所有的玩家都应该更新到最新版本然后再试一次”的提示。在 Java 版上这个问题很少见到,因为只有官启中有类似自动更新的机制,而玩家们并不都习惯于用官启。 +然而这个功能在基岩版上却造成了这样的问题:由于基岩版每隔若干版本都要更换协议,这就导致一些玩家的客户端在其不知情的情况下自动更新,并导致他们无法进入服务器,遇到类似“所有的玩家都应该更新到最新版本然后再试一次”的提示。在 Java 版上这个问题很少见到,因为只有官启中有类似自动更新的机制,而玩家们并不都习惯于用官启。 -为了让这些玩家们能够进入服务器,你需要持续不断地把你的服务器更新最新版,或者要求玩家们必须关闭自动更新或使用指定游戏安装包。然而后者会带来这个问题:由于 iOS 系统的机制原因,iOS 玩家无法使用特定的安装包安装游戏,他们只能下载安装最新版本的游戏。iOS 玩家的这个问题是社区一直无法完美解决的相当棘手的问题,在后面的章节中,我们会陆续介绍一些折中的方案来让你应对这些 iOS 玩家。 +为了让这些玩家们能够进入服务器,你需要持续不断地把你的服务器更新最新版,或者要求玩家们必须关闭自动更新或使用指定游戏安装包。然而后者会带来这个问题:由于 iOS 系统的机制原因,iOS 玩家无法使用特定的安装包安装游戏,他们只能下载安装最新版本的游戏。iOS 玩家的这个问题是社区一直无法完美解决的相当棘手的问题,在后面的章节中,我们会陆续介绍一些折中的方案来让你应对这些 iOS 玩家。 -除了自动更新机制外,玩家们仍然倾向于使用最新版,主要因为以下原因: +除了自动更新机制外,玩家们仍然倾向于使用最新版,主要因为以下原因: - Microsoft Store、App Store、Google play、第三方应用商店提供的破解版安卓版安装包会优先下载安装最新版 -- 社区资讯媒体都倾向于发表最新版游戏相关内容,玩家们会在这些信息源的引导下优先选择最新版 -- 基岩版游戏在任何一个平台切换版本都不容易,因此社区形成了全员跟进最新版这一不成文的规定。如果玩某旧版本的服务器,玩家就只能玩所有该指定版本的服务器,要玩其他服务器时只能进行繁琐的操作切换版本,自由度大打折扣。 +- 社区资讯媒体都倾向于发表最新版游戏相关内容,玩家们会在这些信息源的引导下优先选择最新版 +- 基岩版游戏在任何一个平台切换版本都不容易,因此社区形成了全员跟进最新版这一不成文的规定。如果玩某旧版本的服务器,玩家就只能玩所有该指定版本的服务器,要玩其他服务器时只能进行繁琐的操作切换版本,自由度大打折扣。 这些因素均导致了玩家们始终倾向于玩新版服务器。 ## 权衡版本间的利弊 -**除非你有明确需求,任何新手服主都应选择支持最新版客户端加入的服务器** +**除非你有明确需求,任何新手服主都应选择支持最新版客户端加入的服务器** -在选择版本时,你**首先需要考虑是否需要强制玩家固定版本。** +在选择版本时,你**首先需要考虑是否需要强制玩家固定版本。** -上文已经介绍了玩家倾向于自动更新的行为。如果你强制玩家固定版本,将产生以下后果: +上文已经介绍了玩家倾向于自动更新的行为。如果你强制玩家固定版本,将产生以下后果: 1. 你将失去几乎所有 iOS 玩家。 -2. 你将失去所有只玩最新版的玩家。**由于跟进最新版的服务器数量庞大,对应的玩家群体也非常庞大,失去他们将是重大损失** 。 +2. 你将失去所有只玩最新版的玩家。**由于跟进最新版的服务器数量庞大,对应的玩家群体也非常庞大,失去他们将是重大损失** 。 3. 你的客服团队需要人工指导一些完全不会安装 appx 或 apk 格式安装包的小白。 -如果你确定这些后果不会严重影响服务器的受欢迎度,你就可以选择特定版本。在选择版本时,除了根据游戏内容进行选择外,你还需要考虑玩家客户端所具备的功能,尤其是渲染龙、安卓版本的卡顿问题等饱受社区诟病的问题。选择让服务器匹配一个游戏体验较好的客户端版本,可以在一定程度上提高玩家在你服务器中的游戏体验。 +如果你确定这些后果不会严重影响服务器的受欢迎度,你就可以选择特定版本。在选择版本时,除了根据游戏内容进行选择外,你还需要考虑玩家客户端所具备的功能,尤其是渲染龙、安卓版本的卡顿问题等饱受社区诟病的问题。选择让服务器匹配一个游戏体验较好的客户端版本,可以在一定程度上提高玩家在你服务器中的游戏体验。 diff --git a/docs-java/advance/MiniMessage.md b/docs-java/advance/MiniMessage.md index 32de56dbe..83a3a6bb8 100644 --- a/docs-java/advance/MiniMessage.md +++ b/docs-java/advance/MiniMessage.md @@ -4,21 +4,21 @@ sidebar_position: 9 # MiniMessage -MiniMessage 旨在用简单字符串表示聊天组件,便于用户学习和开发人员扩展。 +MiniMessage 旨在用简单字符串表示聊天组件,便于用户学习和开发人员扩展。 -MiniMessage 的实质是一个叫 Adventure 的库,这是它的 [文档](https://docs.advntr.dev/getting-started.html)。 +MiniMessage 的实质是一个叫 Adventure 的库,这是它的 [文档](https://docs.advntr.dev/getting-started.html)。 ## 支持列表 -目前,一些平台已经支持原生使用 Adventure 来扩展字符串,以下是内置此库的列表: +目前,一些平台已经支持原生使用 Adventure 来扩展字符串,以下是内置此库的列表: | 支持平台 | 支持版本 | 备注 | |----------|------------------------------------|----------------------------------------------------------------------| | Sponge | Sponge 8 (1.16.5) | / | | Velocity | 1.1.0 build 158 | 仅支持消息、操作栏标题、boss栏和标题 | | Paper | 1.16.5 build 473 | / | -| Minestom | Build 7494725 | 内容有点杂,详见[minestom wiki](https://wiki.minestom.net/feature/adventure) | -| Fabric | `adventure-platform-fabric` 5.3.0* | 虽然不是一个东西(?),但是体验是一样的 | +| Minestom | Build 7494725 | 内容有点杂,详见[minestom wiki](https://wiki.minestom.net/feature/adventure) | +| Fabric | `adventure-platform-fabric` 5.3.0* | 虽然不是一个东西(?),但是体验是一样的 | *详情可以参阅 [Adventure 本机支持](https://docs.advntr.dev/platform/native.html)* @@ -26,9 +26,9 @@ MiniMessage 的实质是一个叫 Adventure 的库,这是它的 [文档](https 平台原生支持 ≠ 使用此平台开发的模组/插件支持!!! -举个例子,仔细观察上述列表,你会发现bukkit并没有支持 MiniMessage ,所以你会发现大部分基于 Bukkit 开发的插件没有 MiniMessage 这一功能(如 EssentialsX),*除非他们自身引入了 Adventure 库(如PlaceholderAPI)。* +举个例子,仔细观察上述列表,你会发现bukkit并没有支持 MiniMessage ,所以你会发现大部分基于 Bukkit 开发的插件没有 MiniMessage 这一功能(如 EssentialsX),*除非他们自身引入了 Adventure 库(如PlaceholderAPI)。* -而基于 Paper 开发的大部分插件都引入了这一功能,所以不要发现一个新奇玩意就到处瞎套。 +而基于 Paper 开发的大部分插件都引入了这一功能,所以不要发现一个新奇玩意就到处瞎套。 ::: @@ -40,7 +40,7 @@ MiniMessage 的实质是一个叫 Adventure 的库,这是它的 [文档](https ::: -和 [格式化代码](format-code.md) 篇一样,用一个 TrMenu 菜单配置展示下: +和 [格式化代码](format-code.md) 篇一样,用一个 TrMenu 菜单配置展示下: ``` Icons: @@ -53,21 +53,21 @@ Icons: ![](_images/MiniMessage/展示.png) -记住 MiniMessage 语言使用标签,也就是说你所做的一切都将使用标签进行定义。 +记住 MiniMessage 语言使用标签,也就是说你所做的一切都将使用标签进行定义。 -对于 MiniMessage ,你必须要有一个开始标签 ``,在非严格模式下,你可以省略结束标签 `` ,如下: +对于 MiniMessage ,你必须要有一个开始标签 ``,在非严格模式下,你可以省略结束标签 `` ,如下: ``` Hello World! ``` -在非严格模式下,所有标记名称**都不区分大小写**,以减少冲突的可能性(懒癌晚期患者狂喜),但美观和符合规定起见,请使用小写字母编写以便减少被他人嘲讽的几率: +在非严格模式下,所有标记名称**都不区分大小写**,以减少冲突的可能性(懒癌晚期患者狂喜),但美观和符合规定起见,请使用小写字母编写以便减少被他人嘲讽的几率: ``` Hello World! ``` -此外,这里有一个[测试网站](https://webui.advntr.dev/),他可以使得你无需启动 Minecraft 便可以预览实际效果。 +此外,这里有一个[测试网站](https://webui.advntr.dev/),他可以使得你无需启动 Minecraft 便可以预览实际效果。 关于实际使用格式详见 [标准标签](https://docs.advntr.dev/minimessage/format.html#standard-tags)。 diff --git a/docs-java/advance/Resource-pack-distribution.md b/docs-java/advance/Resource-pack-distribution.md index a461d526d..6024f466c 100644 --- a/docs-java/advance/Resource-pack-distribution.md +++ b/docs-java/advance/Resource-pack-distribution.md @@ -9,15 +9,15 @@ sidebar_position: 10 **注意** -JAVA 版的资源包分发与基岩版不同,它是云分发的,提供给客户端的应该是一个**直链**,而不是资源包本身 +JAVA 版的资源包分发与基岩版不同,它是云分发的,提供给客户端的应该是一个**直链**,而不是资源包本身 -不管你用什么方式,都必须是直链才可正常使用! +不管你用什么方式,都必须是直链才可正常使用! **什么是直链?** > 直接从服务器下载数据 -不需要登陆账号,不需要点击链接打开网页才下载 +不需要登陆账号,不需要点击链接打开网页才下载 # 分发 @@ -33,7 +33,7 @@ mc服务端自己就有这个材质包分发功能 resource-pack= ``` -把我们刚才拿到的资源包直链放进去,现在看起来应该是这样 +把我们刚才拿到的资源包直链放进去,现在看起来应该是这样 ``` resource-pack=https://github.com/xMikux/Slimefun-Resourcepack/releases/download/latest-build/Slimefun-ResourcePack.zip @@ -45,13 +45,13 @@ resource-pack=https://github.com/xMikux/Slimefun-Resourcepack/releases/download/ require-resource-pack=false ``` -这个值代表是否需要强制资源包,开启后,如果玩家拒绝应用这个资源包,就不让玩家进入服务器 +这个值代表是否需要强制资源包,开启后,如果玩家拒绝应用这个资源包,就不让玩家进入服务器 -调好后,你只需要重启服务器就可以享受到资源包了 +调好后,你只需要重启服务器就可以享受到资源包了 :::note -上面的例子链接是 GitHub 的,而国内的网络环境有时连不上 GitHub +上面的例子链接是 GitHub 的,而国内的网络环境有时连不上 GitHub ::: @@ -65,7 +65,7 @@ https://itemsadder.devs.beer/v/chinese/plugin-usage/resourcepack-hosting # 托管 -以下均为ia文档中所说的 第三方平台托管(external-host) +以下均为ia文档中所说的 第三方平台托管(external-host) ## GitHub @@ -73,9 +73,9 @@ https://github.com 国内的网络环境不建议用这个 -> 方案一:首先创建一个新的仓库,接着创建发行版,把资源包上传至发行版,复制下载链接,将链接填入ia的 第三方平台托管(external-host) 或使用 server.properties +> 方案一:首先创建一个新的仓库,接着创建发行版,把资源包上传至发行版,复制下载链接,将链接填入ia的 第三方平台托管(external-host) 或使用 server.properties -> 方案二:首先创建一个新的仓库,接着上传资源包文件到仓库中,点击你上传的文件,复制这单个文件的下载链接 +> 方案二:首先创建一个新的仓库,接着上传资源包文件到仓库中,点击你上传的文件,复制这单个文件的下载链接 创建新仓库:https://docs.github.com/zh/repositories/creating-and-managing-repositories/creating-a-new-repository @@ -85,11 +85,11 @@ https://github.com https://gitee.com -国内的代码托管平台,访问速度快,推荐使用 +国内的代码托管平台,访问速度快,推荐使用 -> 方案一:首先创建一个新的仓库,接着创建发行版,把资源包上传至发行版,复制下载链接,将链接填入ia的 第三方平台托管(external-host) 或使用 server.properties +> 方案一:首先创建一个新的仓库,接着创建发行版,把资源包上传至发行版,复制下载链接,将链接填入ia的 第三方平台托管(external-host) 或使用 server.properties -> 方案二:首先创建一个新的仓库,接着上传资源包文件到仓库中,点击你上传的文件,复制这单个文件的下载链接 +> 方案二:首先创建一个新的仓库,接着上传资源包文件到仓库中,点击你上传的文件,复制这单个文件的下载链接 创建发行版:https://help.gitee.com/repository/release/create#%E5%A6%82%E4%BD%95%E5%88%9B%E5%BB%BA%E5%8F%91%E8%A1%8C%E7%89%88 @@ -99,9 +99,9 @@ https://gitlab.com 国内访问比较稳定的代码托管平台 -> 方案一:首先创建一个新的仓库,接着创建发行版,把资源包上传至发行版,复制下载链接,将链接填入ia的 第三方平台托管(external-host) 或使用 server.properties +> 方案一:首先创建一个新的仓库,接着创建发行版,把资源包上传至发行版,复制下载链接,将链接填入ia的 第三方平台托管(external-host) 或使用 server.properties -> 方案二:首先创建一个新的仓库,接着上传资源包文件到仓库中,点击你上传的文件,复制这单个文件的下载链接 +> 方案二:首先创建一个新的仓库,接着上传资源包文件到仓库中,点击你上传的文件,复制这单个文件的下载链接 创建仓库:https://www.bookstack.cn/read/gitlab-doc-zh/docs-150.md#2rp8yq @@ -113,7 +113,7 @@ ia的文档教了如何使用 [Google Drive](https://itemsadder.devs.beer/v/chin :::tip -鉴于国内的网络环境,这两个网盘均不建议使用 +鉴于国内的网络环境,这两个网盘均不建议使用 ::: @@ -121,7 +121,7 @@ ia的文档教了如何使用 [Google Drive](https://itemsadder.devs.beer/v/chin ## 自托管 -使用 ItemsAdder,可以直接在服务器上托管资源包:https://itemsadder.devs.beer/v/chinese/plugin-usage/resourcepack-hosting/resourcepack-self-hosting +使用 ItemsAdder,可以直接在服务器上托管资源包:https://itemsadder.devs.beer/v/chinese/plugin-usage/resourcepack-hosting/resourcepack-self-hosting 或者自己搭建个直链下载站来用 @@ -129,13 +129,13 @@ ia的文档教了如何使用 [Google Drive](https://itemsadder.devs.beer/v/chin ## 我想让客户端不要下载重复的资源包可以吗? -当然可以,找到以下配置 +当然可以,找到以下配置 ``` resource-pack-sha1= ``` -填入资源包的sha1就行,如果你不知道怎么生成,你可以前往 [在线网站](https://www.strerr.com/cn/sha1_file.html),把你文件上传然后复制生成的哈希值到这里就可以 +填入资源包的sha1就行,如果你不知道怎么生成,你可以前往 [在线网站](https://www.strerr.com/cn/sha1_file.html),把你文件上传然后复制生成的哈希值到这里就可以 我们以 Slimefun 为例子 diff --git a/docs-java/advance/Skript/AdvancedTutorials.md b/docs-java/advance/Skript/AdvancedTutorials.md index a7211e5ce..af184d4f3 100644 --- a/docs-java/advance/Skript/AdvancedTutorials.md +++ b/docs-java/advance/Skript/AdvancedTutorials.md @@ -9,19 +9,19 @@ sidebar_position: 3 ## skript-reflect -**skript-reflect** 是 **Skript** 的一个拓展插件,允许你运用Java的反射机制来进行更高级的操作,它旨在将 **Java** 的功能与 **Skript** 易于使用的开发环境相结合。 +**skript-reflect** 是 **Skript** 的一个拓展插件,允许你运用Java的反射机制来进行更高级的操作,它旨在将 **Java** 的功能与 **Skript** 易于使用的开发环境相结合。 -有了 **skript-reflect** 的 **Skript** 几乎可以完成插件能做的任何事,不过是复杂性的问题。 +有了 **skript-reflect** 的 **Skript** 几乎可以完成插件能做的任何事,不过是复杂性的问题。 为什么需要 skript-reflect? -- 正确编写插件是很困难的,特别是如果你是 **Java** 的新手。 **skript-reflect** 将为你负重前行,让你专注于编写高质量的 **Skript** 脚本。 +- 正确编写插件是很困难的,特别是如果你是 **Java** 的新手。 **skript-reflect** 将为你负重前行,让你专注于编写高质量的 **Skript** 脚本。 -- 用 **skript-reflect** 编写的扩展可以快速测试,就像任何其他脚本一样。与需要编译和完全重新启动服务器的 **Skript** 插件不同, **skript-reflect** 脚本可以使用简单的 `sk reload`。 +- 用 **skript-reflect** 编写的扩展可以快速测试,就像任何其他脚本一样。与需要编译和完全重新启动服务器的 **Skript** 插件不同, **skript-reflect** 脚本可以使用简单的 `sk reload`。 - 在 sk 脚本中实现某些功能可能需要使用反射来访问私有方法、字段和构造函数。 **skript-reflect** 的内置反射允许你无缝访问这些私有成员。 -- **Skript** 的基本特性之一是其极大的可定制性。使用 **skript-reflect** 编写的扩展使 sk 的这点更为突出,这允许你在必要时快速更改你的代码。 +- **Skript** 的基本特性之一是其极大的可定制性。使用 **skript-reflect** 编写的扩展使 sk 的这点更为突出,这允许你在必要时快速更改你的代码。 下面的代码块包含了一些 **skript-reflect** 基础的语法。 @@ -50,26 +50,26 @@ import: 这两行代码意为导入`net.ess3.api.events`包中的`TPARequestEvent`**类**。 -`import:`块必须放在脚本的最左端,前面不能有缩进。 +`import:`块必须放在脚本的最左端,前面不能有缩进。 -对类的调用必须在导入完成后进行,因此我们建议你尽可能将此语句放在脚本中靠顶端的位置。 +对类的调用必须在导入完成后进行,因此我们建议你尽可能将此语句放在脚本中靠顶端的位置。 -通过`import:`块导入类后, **skript-reflect** 将创建一个 **Expressions** ,允许你通过其名称轻易地引用 Java 类。 +通过`import:`块导入类后, **skript-reflect** 将创建一个 **Expressions** ,允许你通过其名称轻易地引用 Java 类。 ```sk on TPARequestEvent: ``` -这行代码意为注册监听`TPARequestEvent`事件,与普通 sk 里注册事件的语法没啥区别。 +这行代码意为注册监听`TPARequestEvent`事件,与普通 sk 里注册事件的语法没啥区别。 ```sk set {_ess_IUser} to event.getTarget() # 获取IUser对象 set {_player} to {_ess_IUser}.getBase() # 获取Player对象 ``` -这行代码意为调用这个事件里的`getTarget()`方法,来获取 tpa 的目标,其返回一个`IUser`。 +这行代码意为调用这个事件里的`getTarget()`方法,来获取 tpa 的目标,其返回一个`IUser`。 -这个`IUser`是 EssentialsX 的一个**接口**,`User`类**实现**了它,可以在[essentialsx 的 javadoc](https://jd-v2.essentialsx.net/net/ess3/api/iuser)里查看。 +这个`IUser`是 EssentialsX 的一个**接口**,`User`类**实现**了它,可以在[essentialsx 的 javadoc](https://jd-v2.essentialsx.net/net/ess3/api/iuser)里查看。 ```sk if {_player} is player("lilingfeng"): @@ -77,45 +77,45 @@ on TPARequestEvent: cancel event ``` -这几行和普通的 sk 语法没什么区别,作用是判断然后取消事件。 +这几行和普通的 sk 语法没什么区别,作用是判断然后取消事件。 ### 使用方法 -如果你需要调用其他的插件或是一些 **skript** 里没有而 [Bukkit API](https://bukkit.windit.net/javadoc/) 有的 API,那么会很棘手。 +如果你需要调用其他的插件或是一些 **skript** 里没有而 [Bukkit API](https://bukkit.windit.net/javadoc/) 有的 API,那么会很棘手。 **skript-reflect** 很好的解决了这一点。 -比如,你正在使用 **Leaves** 服务端,想要用sk来改变Leaves中假人在玩家列表中显示的名字,那么可以遵循以下步骤: +比如,你正在使用 **Leaves** 服务端,想要用sk来改变Leaves中假人在玩家列表中显示的名字,那么可以遵循以下步骤: #### 查询 Javadoc -修改假人的名字这一行为应该在假人加入服务器时进行,所以我们得监听这一事件。 +修改假人的名字这一行为应该在假人加入服务器时进行,所以我们得监听这一事件。 -我们需要找到 bot 事件到底是哪个,查询[Leaves 的 Javadoc](https://repo.leavesmc.org/javadoc/snapshots/org/leavesmc/leaves/leaves-api/1.20.6-R0.1-SNAPSHOT): +我们需要找到 bot 事件到底是哪个,查询[Leaves 的 Javadoc](https://repo.leavesmc.org/javadoc/snapshots/org/leavesmc/leaves/leaves-api/1.20.6-R0.1-SNAPSHOT): ![搜索事件](_images/SearchEvent.png) 这里查询找到了`org.leavesmc.leaves.event.bot.BotEvent`事件。 -看命名就知道应该会有更详细的**子类**来**继承**它,点进去看看,可以看到: +看命名就知道应该会有更详细的**子类**来**继承**它,点进去看看,可以看到: ![查找子类](_images/QuerySubclasses.png) -通过看类名可以知道,`BotJoinEvent`就是我们要的事件。 +通过看类名可以知道,`BotJoinEvent`就是我们要的事件。 -看介绍,发现这个事件会“Called when a fakeplayer joins a server” +看介绍,发现这个事件会“Called when a fakeplayer joins a server” 接下来让我们看看这个类有哪些**方法**。 ![查找方法](_images/SearchMethods.png) -可以看到,最主要的是一个`getBot()`方法,在让我们看看这个方法会返回什么。 +可以看到,最主要的是一个`getBot()`方法,在让我们看看这个方法会返回什么。 -点击超链接,可以看到这个方法会返回一个`Bot`对象。 +点击超链接,可以看到这个方法会返回一个`Bot`对象。 -这个`Bot`接口是继承自`Player`的,也就是说,`Player`有的方法,`Bot`都有。 +这个`Bot`接口是继承自`Player`的,也就是说,`Player`有的方法,`Bot`都有。 -再次查询 [Bukkit API](https://bukkit.windit.net/javadoc/org/bukkit/entity/Player.html) 可以找到`Player`类有的方法,如`Player#setPlayerListName()`,这正是我们需要的方法。 +再次查询 [Bukkit API](https://bukkit.windit.net/javadoc/org/bukkit/entity/Player.html) 可以找到`Player`类有的方法,如`Player#setPlayerListName()`,这正是我们需要的方法。 #### 编写程序 @@ -132,10 +132,10 @@ on BotJoinEvent: {_bot}.setPlayerListName("假的%{_bot_name}%") # 修改假人在tab列表里的名字 ``` -这一过程也可适用于其他插件,比如[zimzaza4大蛇](https://github.com/zimzaza4)的 [Skript-Floodgate-Api](https://github.com/zimzaza4/Skript-Floodgate-Api) , +这一过程也可适用于其他插件,比如[zimzaza4大蛇](https://github.com/zimzaza4)的 [Skript-Floodgate-Api](https://github.com/zimzaza4/Skript-Floodgate-Api) , 就是利用 **skript-reflect** 来调用 [Floodagate API](https://wiki.geysermc.org/floodgate/api/) 的。 -可以查看下面的教程来详细学习 **skript-reflect** 的基础功能(对,下面这一大坨只是基础) +可以查看下面的教程来详细学习 **skript-reflect** 的基础功能(对,下面这一大坨只是基础) ### skript-reflect 基础教程 @@ -147,13 +147,13 @@ on BotJoinEvent: #### 导入 Java 类 -##### _在解析时导入类(推荐)_ +##### _在解析时导入类(推荐)_ -在大多数情况下,无需运行脚本即可知道所需类的确切限定名称。如果是这种情况,你应该使用 **skript-reflect** 的`import`块: +在大多数情况下,无需运行脚本即可知道所需类的确切限定名称。如果是这种情况,你应该使用 **skript-reflect** 的`import`块: :::info -为避免冲突,`import`块创建的表达式仅对导入它们的脚本可用。你必须在使用它们的每个脚本中导入 Java 类。 +为避免冲突,`import`块创建的表达式仅对导入它们的脚本可用。你必须在使用它们的每个脚本中导入 Java 类。 ::: @@ -204,11 +204,11 @@ command /example: ###### 在低于 1.17 的 Minecraft 版本上导入 NMS 类 -由于 **Minecraft** 1.17 以下版本的 **NMS** 包会随着每个 **Minecraft** 版本而变化,因此你应该动态生成包前缀。有关详细信息,请参阅[计算选项](https://tpgamesnl.gitbook.io/skript-reflect/advanced/computed-options#using-computed-options-for-nms-imports)。 +由于 **Minecraft** 1.17 以下版本的 **NMS** 包会随着每个 **Minecraft** 版本而变化,因此你应该动态生成包前缀。有关详细信息,请参阅[计算选项](https://tpgamesnl.gitbook.io/skript-reflect/advanced/computed-options#using-computed-options-for-nms-imports)。 ##### _在运行时导入类_ -有时,在执行脚本之前,无法确定所需的类引用。 +有时,在执行脚本之前,无法确定所需的类引用。 ###### 从完全限定的名称 @@ -247,21 +247,21 @@ command /example: ###### 在effect命令中导入 -由于导入块在 effect 命令中不可用,因此你可以使用 import effect(仅在 effect 命令中可用): +由于导入块在 effect 命令中不可用,因此你可以使用 import effect(仅在 effect 命令中可用): ```sk import [as ] ``` -此导入只能在以上效果命令中使用,直到你停止服务器。 +此导入只能在以上效果命令中使用,直到你停止服务器。 ##### _处理内部类_ -有时,一个类可能嵌套在另一个类中。当引用类的完全限定名称时,内部类使用一个`$`而不是`.` +有时,一个类可能嵌套在另一个类中。当引用类的完全限定名称时,内部类使用一个`$`而不是`.` -例如,将`org.bukkit.entity.EnderDragon.Phase`变成`org.bukkit.entity.EnderDragon$Phase`。 +例如,将`org.bukkit.entity.EnderDragon.Phase`变成`org.bukkit.entity.EnderDragon$Phase`。 -内部类通常比其周围的类具有更通用的名称,因此应在别名下导入这些名称: +内部类通常比其周围的类具有更通用的名称,因此应在别名下导入这些名称: ```sk import: @@ -296,11 +296,11 @@ event-block.breakNaturally() player.giveExpLevels({_levels}) ``` -方法可以用作 **Effects** 、 **Expressions** 和 **Conditions** 。如果用作**Conditions**,则只要方法的返回值不是 `false` 、`null`或`0` ,这个 **Conditions** 就会通过。 +方法可以用作 **Effects** 、 **Expressions** 和 **Conditions** 。如果用作**Conditions**,则只要方法的返回值不是 `false` 、`null`或`0` ,这个 **Conditions** 就会通过。 ###### 调用非公共方法 -如果尝试调用的方法不是公共的,则可能需要在方法名称前面加上括号中的声明类。由于一个对象在多个父类中可能具有同名的非公共方法,因此必须显式指定在何处查找该方法。 +如果尝试调用的方法不是公共的,则可能需要在方法名称前面加上括号中的声明类。由于一个对象在多个父类中可能具有同名的非公共方法,因此必须显式指定在何处查找该方法。 语法: @@ -310,7 +310,7 @@ player.giveExpLevels({_levels}) ###### 调用重载的方法 -通常, **skript-reflect** 可以从运行时传递的参数中推断出要调用的正确的重载方法。如果需要使用某个方法的某种实现,可以在方法名称的末尾附加一个逗号分隔的列表,并用括号括起来。 +通常, **skript-reflect** 可以从运行时传递的参数中推断出要调用的正确的重载方法。如果需要使用某个方法的某种实现,可以在方法名称的末尾附加一个逗号分隔的列表,并用括号括起来。 语法: @@ -330,7 +330,7 @@ Math.max[int, int](0, {_value}) ###### 调用非公共字段 -如果你尝试访问的字段不是公共的,则可能需要在字段名称前面加上括号中的声明类。由于一个对象在多个父类中可能具有同名的非公共字段,因此必须显式指定查找该字段的位置。 +如果你尝试访问的字段不是公共的,则可能需要在字段名称前面加上括号中的声明类。由于一个对象在多个父类中可能具有同名的非公共字段,因此必须显式指定查找该字段的位置。 示例: @@ -356,7 +356,7 @@ new Location(player's world, 0, 0, 0) ##### 监听事件 -你可以通过引用导入的类来收听任何基于 Bukkit 的事件(包括其他插件添加的事件)。例如,如果要收听 `org.bukkit.event.entity.EnderDragonChangePhaseEvent`: +你可以通过引用导入的类来收听任何基于 Bukkit 的事件(包括其他插件添加的事件)。例如,如果要收听 `org.bukkit.event.entity.EnderDragonChangePhaseEvent`: ```sk import: @@ -368,13 +368,13 @@ on EnderDragonChangePhaseEvent: :::warning -一些插件使用自己的事件处理系统,或者不通过 **Bukkit** 的事件执行器传递他们的事件( **Skript** 的一些内部事件就是这种情况)。 +一些插件使用自己的事件处理系统,或者不通过 **Bukkit** 的事件执行器传递他们的事件( **Skript** 的一些内部事件就是这种情况)。 -为了侦听事件,它必须扩展`org.bukkit.event.Event`并由 **Bukkit** 的事件执行器执行。 +为了侦听事件,它必须扩展`org.bukkit.event.Event`并由 **Bukkit** 的事件执行器执行。 ::: -你还可以使用同一处理程序侦听多个事件。这些事件不必相关,但如果尝试访问在一个事件中可用但在另一个事件中不可用的方法,则应采取适当的预防措施。例如,如果要同时侦听`org.bukkit.event.entity.ProjectileLaunchEvent`和`org.bukkit.event.entity.ProjectileHitEvent`: +你还可以使用同一处理程序侦听多个事件。这些事件不必相关,但如果尝试访问在一个事件中可用但在另一个事件中不可用的方法,则应采取适当的预防措施。例如,如果要同时侦听`org.bukkit.event.entity.ProjectileLaunchEvent`和`org.bukkit.event.entity.ProjectileHitEvent`: ```sk import: @@ -387,7 +387,7 @@ on ProjectileLaunchEvent and ProjectileHitEvent: ##### 使用`event` **Expressions** -**skript-reflect** 公开一个叫做`event`的 **Expressions**,允许你使用反射访问事件值。 +**skript-reflect** 公开一个叫做`event`的 **Expressions**,允许你使用反射访问事件值。 语法: @@ -442,7 +442,7 @@ monitor ##### 处理已取消的事件 -默认情况下,如果事件被优先级较低的处理程序取消,则不会调用事件处理程序。可以通过指定处理程序应处理`all`事件来更改此行为。 +默认情况下,如果事件被优先级较低的处理程序取消,则不会调用事件处理程序。可以通过指定处理程序应处理`all`事件来更改此行为。 示例: @@ -467,7 +467,7 @@ on all BlockBreakEvent: :::info -此语法中的括号是文字,不表示可选组。 +此语法中的括号是文字,不表示可选组。 ::: @@ -491,11 +491,11 @@ set {_list::*} to ...{_array} new %javatype%[%integer%] ``` -创建给定类型和大小的数组。类型可能是原始类型,不需要导入。 +创建给定类型和大小的数组。类型可能是原始类型,不需要导入。 :::info -此语法中的括号是文字,不表示可选组。 +此语法中的括号是文字,不表示可选组。 ::: @@ -511,7 +511,7 @@ new %javatype%[%integer%] :::info -此语法中的括号是文字,不表示可选组。 +此语法中的括号是文字,不表示可选组。 ::: @@ -544,7 +544,7 @@ null :::info -与 [Expression](https://tpgamesnl.gitbook.io/skript-reflect/advanced/custom-syntax#expression) 一起使用时,可以将其设置为一个值,这将更改该参数的输入值。这可用于将数据存储在调用触发器的变量中。 +与 [Expression](https://tpgamesnl.gitbook.io/skript-reflect/advanced/custom-syntax#expression) 一起使用时,可以将其设置为一个值,这将更改该参数的输入值。这可用于将数据存储在调用触发器的变量中。 ```sk import: @@ -567,9 +567,9 @@ effect put %objects% in %objects%: %objects%'[s] (fields|methods|constructors) ``` -返回对象的字段、方法或构造函数的列表,包括其修饰符和参数。 +返回对象的字段、方法或构造函数的列表,包括其修饰符和参数。 -如果需要不带修饰符或参数详细信息的字段或方法名称列表,请参阅[成员名称](https://tpgamesnl.gitbook.io/skript-reflect/basics/utilities#member-names)。 +如果需要不带修饰符或参数详细信息的字段或方法名称列表,请参阅[成员名称](https://tpgamesnl.gitbook.io/skript-reflect/basics/utilities#member-names)。 ##### 成员的名字 @@ -603,6 +603,6 @@ effect put %objects% in %objects%: [(an|the)] instance of [the] plugin %javatype/string% ``` -返回给定插件的实例(字符串形式的名称或插件类)。 +返回给定插件的实例(字符串形式的名称或插件类)。 更高级的用法及详细内容请自行查阅[skript-reflect文档](https://tpgamesnl.gitbook.io/skript-reflect) diff --git a/docs-java/advance/Skript/BasicTutorials.md b/docs-java/advance/Skript/BasicTutorials.md index e054d6dc2..c94701ad9 100644 --- a/docs-java/advance/Skript/BasicTutorials.md +++ b/docs-java/advance/Skript/BasicTutorials.md @@ -11,13 +11,13 @@ sidebar_position: 2 ### Events - 事件 -什么是事件? 谁在某地做了某事,最简单的三要素构成了事件。 +什么是事件? 谁在某地做了某事,最简单的三要素构成了事件。 -在 Bukkit 服务器中,事件是系统或玩家行为触发的特定情况或变化。 +在 Bukkit 服务器中,事件是系统或玩家行为触发的特定情况或变化。 插件可以通过监听这些事件来扩展服务器的功能或改变其默认行为。 -在 SK 中,事件往往作为触发器,**定义了何时以及如何触发脚本中的事件处理逻辑**。 +在 SK 中,事件往往作为触发器,**定义了何时以及如何触发脚本中的事件处理逻辑**。 举例: @@ -32,9 +32,9 @@ on click: ### Conditions - 条件 -条件语句用于判断某个表达式的结果,根据结果来执行不同的代码块。 +条件语句用于判断某个表达式的结果,根据结果来执行不同的代码块。 -在 SK 中常与事件一起使用,**用于判断是否应该执行特定的效果或操作**。 +在 SK 中常与事件一起使用,**用于判断是否应该执行特定的效果或操作**。 举例: @@ -54,7 +54,7 @@ on join: 效果可以是修改游戏模式、发送消息、移动玩家等任何能够改变游戏世界的动作。 -在 SK 中效果是脚本中实际执行的操作或指令,用于**改变游戏结果或执行动作** +在 SK 中效果是脚本中实际执行的操作或指令,用于**改变游戏结果或执行动作** 举例: @@ -75,7 +75,7 @@ on player jump: 表达式是计算值或引用数据的语句。它们可以返回各种类型的结果。如数字、字符串、列表等。 -在 SK 中一般配合条件判断,用于**在脚本中传递和处理数据**。 +在 SK 中一般配合条件判断,用于**在脚本中传递和处理数据**。 举例: @@ -85,7 +85,7 @@ on join: set `{playerIP::%player%}` to ip of player set `{playername::%player%}` to name of player # 将玩家的名字存储到变量`{playerName}``{playerIP}`中 - broadcast "玩家名字为: %`{playerName%,IP为:`{playerIP::%player%}`}`!" + broadcast "玩家名字为: %`{playerName%,IP为:`{playerIP::%player%}`}`!" # 广播玩家的名字和 IP ``` @@ -93,7 +93,7 @@ on join: ### Types - 类型 -类型定义了变量、参数和返回值的数据种类。在 Skript 中,虽然不像某些编程语言那样严格区分类型,但理解不同类型的值(如字符串、数字、列表等)对于编写正确的脚本至关重要。 +类型定义了变量、参数和返回值的数据种类。在 Skript 中,虽然不像某些编程语言那样严格区分类型,但理解不同类型的值(如字符串、数字、列表等)对于编写正确的脚本至关重要。 ```skript on bed enter: @@ -104,21 +104,21 @@ on bed enter: # 发送消息 ``` -此处的 `"world"` 为 Types - 类型。(注意,此处的 `"world"` 是包含引号的内容,指的是具体的世界名) +此处的 `"world"` 为 Types - 类型。(注意,此处的 `"world"` 是包含引号的内容,指的是具体的世界名) ### Functions - 功能 -功能是封装了特定逻辑的代码块,可以在脚本中多次调用,常用的功能是计算、向量等类型的。 +功能是封装了特定逻辑的代码块,可以在脚本中多次调用,常用的功能是计算、向量等类型的。 -在 SK 中,作用主要是**快捷计算、指定类型(如世界、颜色、玩家类型)等** +在 SK 中,作用主要是**快捷计算、指定类型(如世界、颜色、玩家类型)等** 举例: ```skript on elytra boost: - # 鞘翅加速时(skbee拓展) + # 鞘翅加速时(skbee拓展) set `{_vector1}` to vector(0, 1, 0) - # 设置局部变量为向量(向上) + # 设置局部变量为向量(向上) push player `{_vector1}` # 以设定向量推动玩家向上 ``` @@ -127,7 +127,7 @@ on elytra boost: ### Sections - 部分 -部分是指脚本中按功能或逻辑组织的代码块。它们可以是事件处理器、条件判断、循环体等,通常用于将相关代码组织在一起,以便更好地管理和维护。 +部分是指脚本中按功能或逻辑组织的代码块。它们可以是事件处理器、条件判断、循环体等,通常用于将相关代码组织在一起,以便更好地管理和维护。 举例: @@ -139,7 +139,7 @@ on tool break: give player 1 of diamand # 给玩家一个钻石 else: - # 另一种情况(如果玩家不是管理) + # 另一种情况(如果玩家不是管理) send "哦不你失去了你的工具" to player # 发消息给玩家 ``` @@ -148,7 +148,7 @@ on tool break: ### Structures - 结构 -结构是控制脚本执行流程的语言元素,如循环、条件判断等。它们允许开发者根据特定的条件或逻辑来执行或跳过代码块,从而实现复杂的脚本逻辑。 +结构是控制脚本执行流程的语言元素,如循环、条件判断等。它们允许开发者根据特定的条件或逻辑来执行或跳过代码块,从而实现复杂的脚本逻辑。 举例: @@ -160,24 +160,24 @@ function welcome(msg: text,p: player): broadcast `{_msg}` # 广播消息 message "欢迎 %`{_p}`% 来到`{@servername}`服务器!" - # 定义了 welcome(参数1:type, 参数2:type),使用option中的变量 `{@servername}` + # 定义了 welcome(参数1:type, 参数2:type),使用option中的变量 `{@servername}` on join: bcd("欢迎玩家加入游戏",player) ``` 此处的 `options` 和 `function` 为 Structures - 结构。 -通过合理使用这八大类语法,你可以编写出功能强大、易于维护的 Skript 脚本,为 Minecraft 服务器增添丰富的功能和玩法。 +通过合理使用这八大类语法,你可以编写出功能强大、易于维护的 Skript 脚本,为 Minecraft 服务器增添丰富的功能和玩法。 ## 入门 -Skript 仍然是编程语言,所有的编程语言都必须在拥有理论基础的情况下多实践。 +Skript 仍然是编程语言,所有的编程语言都必须在拥有理论基础的情况下多实践。 ### 缩进 -在 Skript 中 如果一行代码以 ":" 结尾 那么下一行需要进行缩进操作,如果没有就不需要进行缩进。 +在 Skript 中 如果一行代码以 ":" 结尾 那么下一行需要进行缩进操作,如果没有就不需要进行缩进。 -缩进的方式可以选择两个/四个空格或者一个 Tab (Tab 虽然不是很规范但是真的很爽)。 +缩进的方式可以选择两个/四个空格或者一个 Tab (Tab 虽然不是很规范但是真的很爽)。 ### 文本编辑器 @@ -185,7 +185,7 @@ Skript 仍然是编程语言,所有的编程语言都必须在拥有理论基 ### Helloworld -在 `/plugins/Skripts/scripts` 目录下创建一个名为 `test.sk` 的文件,并打开粘贴以下代码。 +在 `/plugins/Skripts/scripts` 目录下创建一个名为 `test.sk` 的文件,并打开粘贴以下代码。 ``` on join: @@ -194,46 +194,46 @@ on join: 随后在权限账号或者后台输入 `/skript reload scripts` 即可完成重载。然后退出服务器并重新进入。 -如果进入服务器时收到了 "Hello World" 的消息,那么证明脚本 `test.sk` 已经生效了。 +如果进入服务器时收到了 "Hello World" 的消息,那么证明脚本 `test.sk` 已经生效了。 ### 查询语法 -很好,想必你已经大概知道 Skript 是一款什么样的编程语言了。 +很好,想必你已经大概知道 Skript 是一款什么样的编程语言了。 -想必你一定有一些想法,市面上可能找不到,而且因为你不会使用 Java 写插件所以难以实现。 +想必你一定有一些想法,市面上可能找不到,而且因为你不会使用 Java 写插件所以难以实现。 -前往 [skhub](https://skripthub.net/docs/) 或 [skunity](https://docs.skunity.com/syntax)查询 Skript 语法,现在开始构思你的插件吧。 +前往 [skhub](https://skripthub.net/docs/) 或 [skunity](https://docs.skunity.com/syntax)查询 Skript 语法,现在开始构思你的插件吧。 ### 如何使用语法 -首先,最重要的是 Event(事件),这是所有逻辑的先决要素,我们在[skhub](https://skripthub.net/docs/) 或 [skunity](https://docs.skunity.com/syntax) 上, +首先,最重要的是 Event(事件),这是所有逻辑的先决要素,我们在[skhub](https://skripthub.net/docs/) 或 [skunity](https://docs.skunity.com/syntax) 上, -在侧边栏中选中(Skript 和 Events),即可筛选 Skript 原生事件。此处以指令监听器为例: +在侧边栏中选中(Skript 和 Events),即可筛选 Skript 原生事件。此处以指令监听器为例: -在侧边栏中选中(Skript 和 Events)后,在搜索栏中输入 "on command",得到以下结果。 +在侧边栏中选中(Skript 和 Events)后,在搜索栏中输入 "on command",得到以下结果。 ![](_images/SkriptBasic1.png) #### 语法 -举一个例子,点击事件的语法是这样的: +举一个例子,点击事件的语法是这样的: ``` [on] [(right|left)(| |-)][mouse(| |-)]click[ing] (with|using|holding) %itemtype% on %entitydata/itemtype% ``` ##### `[xxx]` -表示这部分可以被省略,但省略后可能会导致意义改变,如此处 `on click:` 和 `on rightclick:` 意义不同,前者为所有类型的点击,而后者为右键。 +表示这部分可以被省略,但省略后可能会导致意义改变,如此处 `on click:` 和 `on rightclick:` 意义不同,前者为所有类型的点击,而后者为右键。 ##### `(x|y|z)` -表示这部分可以从 `x`、`y`、`z` 中选择一个值,`x`、`y`、`z` 可以是空格或者空(也就是左右可以直接连起来), +表示这部分可以从 `x`、`y`、`z` 中选择一个值,`x`、`y`、`z` 可以是空格或者空(也就是左右可以直接连起来), 例如 `[mouse(| |-)]click` 代表着:`mouseclick` `mouse-click` `mouse click` 这三者有相同的含义。 ##### `%type%` -表示这部分只能是固定的某种 type,如 `%itemtype%`,这部分可以勾选 [skhub](https://skripthub.net/docs/) 侧边栏 `Type` 获取。 +表示这部分只能是固定的某种 type,如 `%itemtype%`,这部分可以勾选 [skhub](https://skripthub.net/docs/) 侧边栏 `Type` 获取。 #### 属性 @@ -242,11 +242,11 @@ on join: 我们要重点关注的是 `Event Values` 这一标签下所对应的内容: -1. "event-world"("事件-世界") -2. "event-commandsender"("事件-指令发送者") -3. "event-player"("事件-玩家") +1. "event-world"("事件-世界") +2. "event-commandsender"("事件-指令发送者") +3. "event-player"("事件-玩家") -利用这些,我们便可以获取到事件中的,“谁”和“某地”之类具体的信息。 +利用这些,我们便可以获取到事件中的,“谁”和“某地”之类具体的信息。 我们看一个 "on command" 相关示例: @@ -257,54 +257,54 @@ on command "/op": send "%event-player%" to console ``` -此时,任何执行者执行 "/op" 指令都会触发此监听。并将三个元素 "event-world" "event-commandsender" "event-player" 输出到后台。 +此时,任何执行者执行 "/op" 指令都会触发此监听。并将三个元素 "event-world" "event-commandsender" "event-player" 输出到后台。 -如果是后台执行了 "/op" 指令时,因为后台并不存于任何一个世界,也没有名字。上述三个元素只会有 "event-commandsender" 存在并正常输出为 "console" 而其余不存在元素将全部输出为 `""` +如果是后台执行了 "/op" 指令时,因为后台并不存于任何一个世界,也没有名字。上述三个元素只会有 "event-commandsender" 存在并正常输出为 "console" 而其余不存在元素将全部输出为 `""` -相同地,你可以利用这样的方法,输出任何一个监听器下 "Event Values" 的元素值。 +相同地,你可以利用这样的方法,输出任何一个监听器下 "Event Values" 的元素值。 -这种获取元素值的方法将在你需要使用任何从来没有接触过的监听器的时候,快速让你掌握监听器的基本信息。 +这种获取元素值的方法将在你需要使用任何从来没有接触过的监听器的时候,快速让你掌握监听器的基本信息。 ### 最初的脚本 -在这个板块中,请利用 [skhub](https://skripthub.net/docs/) 或 [skunity](https://docs.skunity.com/syntax)查询 Skript 语法,满足缩进等要求,尝试写一些最基础脚本吧~ +在这个板块中,请利用 [skhub](https://skripthub.net/docs/) 或 [skunity](https://docs.skunity.com/syntax)查询 Skript 语法,满足缩进等要求,尝试写一些最基础脚本吧~ #### 事件 -在这一节中,我们学习如何选取如何选用合适的事件。因为事件是一切行为的触发器,需要事件发生了什么,在哪发生的, +在这一节中,我们学习如何选取如何选用合适的事件。因为事件是一切行为的触发器,需要事件发生了什么,在哪发生的, -才能够进一步进行操作,事件发生的顺序是: +才能够进一步进行操作,事件发生的顺序是: `事件准备发生` > `监听器监听到` > `事件正式发生`。 ##### 事件的取消 -如果我们在监听器监听到后,加入取消事件这一环节。事件发生的顺序就变为了: +如果我们在监听器监听到后,加入取消事件这一环节。事件发生的顺序就变为了: `事件准备发生` > `监听器监听到` > `取消事件` > `事件未发生` -我们就成功阻止了指令的发生,我们使用 `cancel event` 来达到这一点。 +我们就成功阻止了指令的发生,我们使用 `cancel event` 来达到这一点。 ##### 事件优先级 -要注意,事件的监听是有优先级的,其中有六个优先级,其中执行顺序为**从上到下**分别为: +要注意,事件的监听是有优先级的,其中有六个优先级,其中执行顺序为**从上到下**分别为: |优先级| Priority| -------- | ----- |最低| Lowest| |低 |Low| -|正常(默认)|Normal| +|正常(默认)|Normal| |高 |High| |最高 |Highest| |监控 |Monitor| :::warning[吐槽] -Bukkit 的事件就是这样的,所以 Skript 也继承了这个抽象名字,发生顺序为 `Lowest -> Low -> Normal -> High -> Highest -> Monitor` +Bukkit 的事件就是这样的,所以 Skript 也继承了这个抽象名字,发生顺序为 `Lowest -> Low -> Normal -> High -> Highest -> Monitor` -没错,Lowest 的事件最先发生,如果一个插件事件优先级更高且这个事件没有被更低优先级的插件取消,那么更高优先级的事件将会覆盖更低优先级的结果。 +没错,Lowest 的事件最先发生,如果一个插件事件优先级更高且这个事件没有被更低优先级的插件取消,那么更高优先级的事件将会覆盖更低优先级的结果。 -我们来简单假设一个条件,我们想要写一个脚本禁止管理使用 tp 指令传送玩家到其他地方,我们会这样写: +我们来简单假设一个条件,我们想要写一个脚本禁止管理使用 tp 指令传送玩家到其他地方,我们会这样写: ``` on teleport with priority lowest: @@ -315,19 +315,19 @@ on teleport with priority lowest: cancel event ``` -此时我们在常用的 `on teleport` 事件后加上优先级 `with priority lowest` (以最低优先级先发生并取消) +此时我们在常用的 `on teleport` 事件后加上优先级 `with priority lowest` (以最低优先级先发生并取消) -由此可见,Lowest 可以理解为 First,而 Highest 可以理解为 Last,更符合逻辑 +由此可见,Lowest 可以理解为 First,而 Highest 可以理解为 Last,更符合逻辑 ::: ##### 事件选用 -选用不合适的事件可能会导致逻辑混乱复杂,性能拉胯,臃肿等。所以在任何脚本编写之前应该充分考虑选用什么事件是合理的。 +选用不合适的事件可能会导致逻辑混乱复杂,性能拉胯,臃肿等。所以在任何脚本编写之前应该充分考虑选用什么事件是合理的。 -例如,我们想写一个脚本,检测玩家在 00:00 - 06:00 没有在床上睡觉,那么就每秒扣玩家 1 生命值。 +例如,我们想写一个脚本,检测玩家在 00:00 - 06:00 没有在床上睡觉,那么就每秒扣玩家 1 生命值。 -查询 [skhub](https://skripthub.net/docs/) 或 [skunity](https://docs.skunity.com/syntax) ,根据直觉选择,与时间和睡觉有关系的事件可能有这些: +查询 [skhub](https://skripthub.net/docs/) 或 [skunity](https://docs.skunity.com/syntax) ,根据直觉选择,与时间和睡觉有关系的事件可能有这些: ``` every 10 seconds: @@ -347,13 +347,13 @@ every 1 second: remove 1 from health of loop-player ``` -该脚本利用 `every %tiemspan%` 作为事件触发,本身也是周期循环。 +该脚本利用 `every %tiemspan%` 作为事件触发,本身也是周期循环。 -可以发现,该循环使用 `every 1 second`,触发频率比较高,即使在白天这个事件循环仍在继续, +可以发现,该循环使用 `every 1 second`,触发频率比较高,即使在白天这个事件循环仍在继续, -虽然整体任务不算复杂,但是如果遇到复杂判断时,高频率(尤其是 `every tick`)的事件是很低效的。 +虽然整体任务不算复杂,但是如果遇到复杂判断时,高频率(尤其是 `every tick`)的事件是很低效的。 -在这里,我们可以改写为: +在这里,我们可以改写为: ``` 脚本1改 @@ -364,9 +364,9 @@ every 1 second: remove 1 from health of loop-player ``` -相对脚本 1,我们发现,在时间在 0 - 6 点之外的时候,我们不会 loop 和判断玩家睡眠,因为这本身是没有意义的。 +相对脚本 1,我们发现,在时间在 0 - 6 点之外的时候,我们不会 loop 和判断玩家睡眠,因为这本身是没有意义的。 -仅仅只是交换两行代码顺序,就能起到提升性能的效果。(这里举例是非常轻量的例子,不足以产生任何性能问题) +仅仅只是交换两行代码顺序,就能起到提升性能的效果。(这里举例是非常轻量的例子,不足以产生任何性能问题) ``` 脚本2 @@ -384,9 +384,9 @@ at 00:00 in world "world": ``` -该脚本利用 `at time` 作为事件触发,也使用 `while` + `wait` 保持时间周期循环。使用 `bed leave` `bed enter` + 变量作为条件。 +该脚本利用 `at time` 作为事件触发,也使用 `while` + `wait` 保持时间周期循环。使用 `bed leave` `bed enter` + 变量作为条件。 -属于错误使用了监听事件,因为玩家是否在睡觉不需要我们自行使用事件判断,而是有直接的条件语法。 +属于错误使用了监听事件,因为玩家是否在睡觉不需要我们自行使用事件判断,而是有直接的条件语法。 ``` 脚本2改 @@ -398,21 +398,21 @@ at 00:00 in world "world": wait 1 second ``` -该脚本利用 `at time` 作为事件触发,使用 `while` + `wait` 保持时间周期循环,使用 `is not sleeping` 作为条件。 +该脚本利用 `at time` 作为事件触发,使用 `while` + `wait` 保持时间周期循环,使用 `is not sleeping` 作为条件。 ##### 练习 -制作一个 Skript 脚本,用于在大厅使用,不会刷新怪物,玩家不会受伤也不可伤害,也不会掉饱食度。 +制作一个 Skript 脚本,用于在大厅使用,不会刷新怪物,玩家不会受伤也不可伤害,也不会掉饱食度。 -普通玩家不可放置方块,或破坏方块,而有权限 `lobby.admin` 的玩家可以放置和破坏方块。 +普通玩家不可放置方块,或破坏方块,而有权限 `lobby.admin` 的玩家可以放置和破坏方块。
- 参考写法,不唯一 + 参考写法,不唯一 -不刷新怪物的事件建议去掉,直接设置**难度为和平**。 +不刷新怪物的事件建议去掉,直接设置**难度为和平**。 ``` -不推荐,即使这是有用的! +不推荐,即使这是有用的! on spawn of any monster: cancel event on food level change: @@ -432,13 +432,13 @@ on break with priority lowest:: on place with priority lowest:: if player has permission "lobby.admin": stop - #停止进一步对有权限玩家的逻辑,即什么也不做 + #停止进一步对有权限玩家的逻辑,即什么也不做 else: cancel event #取消没有权限玩家的方块放置行为 ``` -在这里,以下两种写法是等价的。 +在这里,以下两种写法是等价的。 ``` if player do not have permission "lobby.admin": @@ -452,7 +452,7 @@ else: cancel event ``` -如果只需要判断是或不是,可以灵活选用更简洁的方法,简化为: +如果只需要判断是或不是,可以灵活选用更简洁的方法,简化为: ``` on place: @@ -460,7 +460,7 @@ on place: cancel event ``` -在这里省略了一个 if,因此后面也不需要跟上冒号 `:`,也无需重新换行,但注意,这只适用于只对没有权限的人进行取消,而对有权限的人没有任何限制时才可以这么写。 +在这里省略了一个 if,因此后面也不需要跟上冒号 `:`,也无需重新换行,但注意,这只适用于只对没有权限的人进行取消,而对有权限的人没有任何限制时才可以这么写。
@@ -470,25 +470,25 @@ TODO #### 练习 2 - /command、局部变量、运算练习 -制作一个 Skript 脚本,用于简单的跨世界传送,输入 `/world xxx` 即可传送到对应世界,坐标对应为:`主世界:地狱:末地=8:1:8`, +制作一个 Skript 脚本,用于简单的跨世界传送,输入 `/world xxx` 即可传送到对应世界,坐标对应为:`主世界:地狱:末地=8:1:8`, -即玩家在末地 `800, 100, 800` 传送到主世界坐标为 `800 100 800`,如果传送到地狱坐标为 `100 100 100` +即玩家在末地 `800, 100, 800` 传送到主世界坐标为 `800 100 800`,如果传送到地狱坐标为 `100 100 100`
- 参考写法,不唯一 + 参考写法,不唯一 :::tip 1. `command /xxx` 后一定要使用 `trigger:` 否则指令将不会注册并报错。 -2. `/xxx` 为 "指令",第 n 个空格后的参数即为 `arg-n`,如此处的 `` 为 `arg-1` -3. 参数类型可以查 [skhub](https://skripthub.net/docs/) 选择 `type` 为参数类型,万能参数可用 `string` / `text`。 -4. 参数以 `<>` 引用起来时说明该参数为必要参数,如果输入时没有这个参数时会提示格式错误,如果这个参数是可以省略的,那么可以使用类似 `[]` 的方法。 +2. `/xxx` 为 "指令",第 n 个空格后的参数即为 `arg-n`,如此处的 `` 为 `arg-1` +3. 参数类型可以查 [skhub](https://skripthub.net/docs/) 选择 `type` 为参数类型,万能参数可用 `string` / `text`。 +4. 参数以 `<>` 引用起来时说明该参数为必要参数,如果输入时没有这个参数时会提示格式错误,如果这个参数是可以省略的,那么可以使用类似 `[]` 的方法。 -在这里,我们分析一下指令,应该是 `/world xxx` 中的 `xxx` 代表世界,所以我们选择 `/world ` 作为指令。 +在这里,我们分析一下指令,应该是 `/world xxx` 中的 `xxx` 代表世界,所以我们选择 `/world ` 作为指令。 -另外,我们可以发现,玩家输入的指令可能包括自己在的世界,这件事本身是没意义的,应该在最开始检查一次。 +另外,我们可以发现,玩家输入的指令可能包括自己在的世界,这件事本身是没意义的,应该在最开始检查一次。 -如果你是新手,很有可能会写出类似以下的脚本: +如果你是新手,很有可能会写出类似以下的脚本: ``` if arg-1 is world "world_the_end": @@ -507,13 +507,13 @@ TODO :::warning[为什么这是不好的] -1. 在这里,每行代码都过长了,非常不利于阅读。 -2. 此想要调整不同世界的比例时,需要一个个调整参数,这不利于代码的维护。 -3. 使用的 `if` 套在 `if` 后的情况比较多,在逻辑上可能会出现问题。 +1. 在这里,每行代码都过长了,非常不利于阅读。 +2. 此想要调整不同世界的比例时,需要一个个调整参数,这不利于代码的维护。 +3. 使用的 `if` 套在 `if` 后的情况比较多,在逻辑上可能会出现问题。 ::: -所以,我们选择使用局部变量暂存玩家的坐标,并基于玩家所在世界及目标世界计算变量, +所以,我们选择使用局部变量暂存玩家的坐标,并基于玩家所在世界及目标世界计算变量, 最后根据计算出的量直接使用 `teleport player to [location]` 传送即可。 @@ -537,7 +537,7 @@ command /world : set {_x} to player's x-coord set {_z} to player's z-coord if arg-1 is world "world_nether": - #如果玩家从其他地方到地狱,将暂存的 x z 坐标除以 8 + #如果玩家从其他地方到地狱,将暂存的 x z 坐标除以 8 set {_x} to {_x}/8 set {_z} to {_z}/8 teleport player to location({_x},{_y},{_z},world "world_nether") @@ -552,28 +552,28 @@ command /world : #### 练习 3 -
- 参考写法,不唯一 + 参考写法,不唯一
#### 练习 4 -
- 参考写法,不唯一 + 参考写法,不唯一
#### 练习 5 -
- 参考写法,不唯一 + 参考写法,不唯一
#### 练习 6 -
- 参考写法,不唯一 + 参考写法,不唯一
@@ -581,7 +581,7 @@ command /world : :::warning -后文为 TUCAOEVER 在 mcbbs 的教程未参考部分,没有进行任何格式化,TODO +后文为 TUCAOEVER 在 mcbbs 的教程未参考部分,没有进行任何格式化,TODO ::: = @@ -591,19 +591,19 @@ command /world : ### Conditions(条件) -条件用于判断句:有没有,是不是。它的基本格式为 "if" + 条件。 +条件用于判断句:有没有,是不是。它的基本格式为 "if" + 条件。 -这里我们和学习 Events 一样,我们先通过官方 Doc 找到所有的条件。 +这里我们和学习 Events 一样,我们先通过官方 Doc 找到所有的条件。 -这里我们拿最常用的一个条件作示例,判断玩家是否有权限。 +这里我们拿最常用的一个条件作示例,判断玩家是否有权限。 -权限的英文是什么? "permission" 我们通过翻阅侧边栏可以得知与 "permission" 相关的只有 "Has Permission" 一条,官方对这个条件的解释为:"Test whether a player has a certain permission.",翻译过来就是 "检测一个玩家是否拥有某一权限"。即我们所需要的:判断玩家是否有权限,那么我们又该如何使用呢 "Has Permssion" 条件呢? +权限的英文是什么? "permission" 我们通过翻阅侧边栏可以得知与 "permission" 相关的只有 "Has Permission" 一条,官方对这个条件的解释为:"Test whether a player has a certain permission.",翻译过来就是 "检测一个玩家是否拥有某一权限"。即我们所需要的:判断玩家是否有权限,那么我们又该如何使用呢 "Has Permssion" 条件呢? 在 "Has Permission" 下 "Patterns" 给了我们两种标准格式用法: - `%players/console% (has|have) [the] permission[s] %texts%` - `%players/console% (doesn't|does not|do not|don't) have [the] permission[s] %texts%` -针对这样的格式,我相信很多人可能一头雾水。了解如下几点,或许能帮助你更好的了解用法: +针对这样的格式,我相信很多人可能一头雾水。了解如下几点,或许能帮助你更好的了解用法: - "[]" 内可以省略 - "(...|...)" 内必须选择一项填写 - "%%" 内必须根据其所对应的类型进行填写 @@ -612,9 +612,9 @@ command /world : - `player have the permissions "player.op"` - `player have permissions "player.op"` -正如之前所说的:可以省略的地方,无论如何搭配,表达的意思都是一样的。 +正如之前所说的:可以省略的地方,无论如何搭配,表达的意思都是一样的。 -这也是 Skript 一大特点,并不需要非常严谨的语法。只要意思对,语法可以根据个人喜好进行选择。 +这也是 Skript 一大特点,并不需要非常严谨的语法。只要意思对,语法可以根据个人喜好进行选择。 同样我们还是举一个以 "on command" 监听器为核心的例子加深一下大家的理解: @@ -628,17 +628,17 @@ on command "/op": send "false" to event-player ``` -那么在玩家触发此监听器后,系统将会判断玩家是否有 "player.op" 权限。 +那么在玩家触发此监听器后,系统将会判断玩家是否有 "player.op" 权限。 -如果有,指令将会正常进行,并发送 "true" 给玩家。 +如果有,指令将会正常进行,并发送 "true" 给玩家。 -如果没有,指令执行事件将被强制取消,并发送 "false" 给玩家。 +如果没有,指令执行事件将被强制取消,并发送 "false" 给玩家。 --- ### Effects(效果) -与其说它是效果,不如称作行动。 +与其说它是效果,不如称作行动。 我们把条件类的示例拿下来接着分析: @@ -652,7 +652,7 @@ on command "/op": send "false" to event-player ``` -我们把两个条件判断句替换为条件1和条件2,那么这段代码就可以理解为: +我们把两个条件判断句替换为条件1和条件2,那么这段代码就可以理解为: ``` 指令监听 "/op": 事件-发送者类别 是 玩家 @@ -663,11 +663,11 @@ on command "/op": send "false" to event-player # 发送消息给玩家 ``` -我们可以看到,条件判断结束后,代码并没有直接结束,而是分别执行行动。 +我们可以看到,条件判断结束后,代码并没有直接结束,而是分别执行行动。 如果我希望执行其他行动呢? 比如我想给一个玩家发送一个 Title 消息: -通过在官方 Doc 搜索,我们得知关于 Title 相关的 Effects 一共有两个: +通过在官方 Doc 搜索,我们得知关于 Title 相关的 Effects 一共有两个: - (EffResetTitle)[https://docs.skriptlang.org/docs.html?search=#EffResetTitle] "Resets the title of the player to the default values." "重置玩家的 Title 至默认值" @@ -675,7 +675,7 @@ on command "/op": "Sends a title/subtitle to the given player(s) with optional fadein/stay/fadeout times." "发送 Title/Subtitle 至指定玩家 可自定义渐入和淡出的时间" -我们需要知道的是 #EffSendTitle 的用法。关于怎么用,这里本质上和学习Conditions(条件)一样,我们将注意点放在 "Patterns" 上。 +我们需要知道的是 #EffSendTitle 的用法。关于怎么用,这里本质上和学习Conditions(条件)一样,我们将注意点放在 "Patterns" 上。 ``` skript send title %text% [with subtitle %text%] [to %players%] [for %time span%] [with fade[(-| )]in %time span%] [(and|with) fade[(-| )]out %time span%] @@ -687,7 +687,7 @@ send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time - "(...|...)" 内必须选择一项填写 - "%%" 内必须根据其所对应的类型进行填写 -我们大致上认识到行动的基本用法,即: +我们大致上认识到行动的基本用法,即: `send title "..." with subtitle "..." to player for ... seconds with fade-in ... seconds and fade-out ... seconds` 将其带入进我们的伪代码: @@ -707,35 +707,35 @@ send subtitle %text% [to %players%] [for %time span%] [with fade[(-| )]in %time send "false" to event-player ``` -通过以上三种方式,我们都能成功的发送了 Title 信息。 +通过以上三种方式,我们都能成功的发送了 Title 信息。 -只要记住以上基本原则,所有的用法问题迎刃而解。 +只要记住以上基本原则,所有的用法问题迎刃而解。 -而学会读 "Patterns" 是初学者必备的技能,下文我将不会再提及如何使用 "Patterns" 查阅用法。 +而学会读 "Patterns" 是初学者必备的技能,下文我将不会再提及如何使用 "Patterns" 查阅用法。 --- ### Expressions(表达) & Types(类型) -有一天你心血来潮,想要调整玩家的最大血量。 +有一天你心血来潮,想要调整玩家的最大血量。 -调整血量,之前我们提过这属于动词 + 名词形式,这是属于 Effects(效果) 类。 +调整血量,之前我们提过这属于动词 + 名词形式,这是属于 Effects(效果) 类。 但是实际上是这样么? -实际上并不是,所谓的 Effect(效果) 虽然都是 `动词 + 名词` 形式,但是对于 Effect(效果) 而言。 +实际上并不是,所谓的 Effect(效果) 虽然都是 `动词 + 名词` 形式,但是对于 Effect(效果) 而言。 注重的是 `动词` 而非后面跟着的 `名词` 例如 `在玩家所在位置生成僵尸`。 Effect(效果) 所能提供的 只有 "生成" -通过查阅[官方文档](https://docs.skriptlang.org/docs.html?search=#EffSecSpawn),我们知道生成的用法基本为: +通过查阅[官方文档](https://docs.skriptlang.org/docs.html?search=#EffSecSpawn),我们知道生成的用法基本为: ```skript (spawn|summon) %entity types% [%directions% %locations%] (spawn|summon) %number% of %entity types% [%directions% %locations%] ``` -但是除去这个词语,我们还剩 "在玩家所在位置" 和 "僵尸"。 +但是除去这个词语,我们还剩 "在玩家所在位置" 和 "僵尸"。 这两个词我们又该怎么处理呢? 这时候我们就需要用到 Expressions(表达)。 @@ -744,23 +744,23 @@ Effect(效果) 所能提供的 只有 "生成" - https://docs.skriptlang.org/docs.html?search=#ExprLocationOf - https://docs.skriptlang.org/docs.html?search=#ExprLocationAt -我们需要什么呢? 我们需要 "玩家所在的位置"。相同地,通过查看官方的注释,我们知道我们需要的是 #ExprLocationOf (The location of a block or entity.)。 +我们需要什么呢? 我们需要 "玩家所在的位置"。相同地,通过查看官方的注释,我们知道我们需要的是 #ExprLocationOf (The location of a block or entity.)。 但是这只解决了我们 "所在位置" 的问题 并没有解决 "玩家" 和 "僵尸" 的问题。 -我们可以看到 "所在位置",Expressions(表达) 是没有主语的。 +我们可以看到 "所在位置",Expressions(表达) 是没有主语的。 -Skript 不同于其他语言,正如我在开头所展示的,相比较 Java 而言 Skript 更**注重的是语言而非编程**。 +Skript 不同于其他语言,正如我在开头所展示的,相比较 Java 而言 Skript 更**注重的是语言而非编程**。 -我们需要把这些零碎的东西组成句子,必不可少的是主语,次要的是宾语。 +我们需要把这些零碎的东西组成句子,必不可少的是主语,次要的是宾语。 -这时候我们就需要引入 Types(类型),但凡你发现你的表达里缺少主语/宾语(对象),来这里准没错: +这时候我们就需要引入 Types(类型),但凡你发现你的表达里缺少主语/宾语(对象),来这里准没错: https://docs.skriptlang.org/classes.html -通过翻译我们可以轻松知道玩家的英文以及僵尸的英文,分别为 "player"和"zombie"。 +通过翻译我们可以轻松知道玩家的英文以及僵尸的英文,分别为 "player"和"zombie"。 -与之相对应的,我们分别在 Types(类别) 中找到: +与之相对应的,我们分别在 Types(类别) 中找到: - https://docs.skriptlang.org/docs.html?search=#player - https://docs.skriptlang.org/docs.html?search=#entity @@ -770,40 +770,40 @@ https://docs.skriptlang.org/classes.html --- -WOW,恭喜你!看到这,你就可以开始尝试着写一些插件了。 +WOW,恭喜你!看到这,你就可以开始尝试着写一些插件了。 ## 例子 -这里刚好有一个例子,不妨动动手,试一试。 +这里刚好有一个例子,不妨动动手,试一试。 - 在玩家破坏方块时 检查玩家是否有 "fundamental.break" 这个权限 - 如果有那就在让后台发送一条指令 "/broadcast %player% 破坏了方块" - 如果没有那就取消这个事件 并 向这个玩家发送 "你不能破坏这个方块" -答案不唯一,仅供参考。 +答案不唯一,仅供参考。 -当然仅仅学这些并不够,为了做到能更快更灵活的使用各类语法,在闲暇的时候,把官方 Doc 提供的所有语法的注释都认真的看一遍是快速上手 Skript 的一种好办法。 +当然仅仅学这些并不够,为了做到能更快更灵活的使用各类语法,在闲暇的时候,把官方 Doc 提供的所有语法的注释都认真的看一遍是快速上手 Skript 的一种好办法。 --- -你开始尝试着写一些有一些小功能的脚本了,但是难免的你会出现这样的问题: +你开始尝试着写一些有一些小功能的脚本了,但是难免的你会出现这样的问题: -你为玩家创建了很多变量,很多都是属于一个类型的。 +你为玩家创建了很多变量,很多都是属于一个类型的。 -比如你把所有人的游戏币数量都存在了 `{(玩家的名称)的游戏币数}` 这些变量内,你把所有人的点券数量都存在了 `{(玩家的名称)的点券数}` 这些变量内…… +比如你把所有人的游戏币数量都存在了 `{(玩家的名称)的游戏币数}` 这些变量内,你把所有人的点券数量都存在了 `{(玩家的名称)的点券数}` 这些变量内…… -平时你单独去操作这些变量的时候,觉得也很容易。 +平时你单独去操作这些变量的时候,觉得也很容易。 -但是假设突然有一次,由于回档需要补偿玩家损失。 +但是假设突然有一次,由于回档需要补偿玩家损失。 你需要将所有玩家的 `{(玩家的名称)的游戏币数}` 变量都 +1000。 -还好只有10个玩家数据,你可以一个一个调,就是浪费一点时间,倒还不成问题。 +还好只有10个玩家数据,你可以一个一个调,就是浪费一点时间,倒还不成问题。 -但是如果你有10000个玩家数据,如果你一个一个调,可能玩家都走完了,你也调不完。 +但是如果你有10000个玩家数据,如果你一个一个调,可能玩家都走完了,你也调不完。 -你遇到了新的问题,如何存储并快速操作一类变量? +你遇到了新的问题,如何存储并快速操作一类变量? 这时候你需要两样东西:"数组"和"loop"。 @@ -811,25 +811,25 @@ WOW,恭喜你!看到这,你就可以开始尝试着写一些插件了。 数组的基本格式为 `{变量名::变量名::变量名......}`。 -我们带入实景,将用 `{(玩家的名称)的游戏币数}` 存储转为用 `{金币::(玩家的名称)}` 存储玩家的游戏币数量。 +我们带入实景,将用 `{(玩家的名称)的游戏币数}` 存储转为用 `{金币::(玩家的名称)}` 存储玩家的游戏币数量。 -例如,服务器有 10000 个玩家,玩家名称为 1,2,3,......,10000,玩家游戏币数量为 100,200,300,......,1000000。 +例如,服务器有 10000 个玩家,玩家名称为 1,2,3,......,10000,玩家游戏币数量为 100,200,300,......,1000000。 那么对应的 `{金币::1}` 就是:名为 "1" 玩家的游戏币数量 100。 -如果我用输出语句输出 `{金币::1}` 至后台,那么很显然我会得到 100 这个数值。 +如果我用输出语句输出 `{金币::1}` 至后台,那么很显然我会得到 100 这个数值。 -同样的我用输出语句输出 `{金币::10000}` 至后台,我会得到 1000000 这个数值。 +同样的我用输出语句输出 `{金币::10000}` 至后台,我会得到 1000000 这个数值。 -你可能会说,这不是和用 `{(玩家的名称)的游戏币数}` 一样么? +你可能会说,这不是和用 `{(玩家的名称)的游戏币数}` 一样么? -是的,确实。如果仅仅需要获得某一个玩家的游戏币数量,两者并没有什么区别。 +是的,确实。如果仅仅需要获得某一个玩家的游戏币数量,两者并没有什么区别。 -但是,如果我将 `{金币::(玩家的名称)}` 中玩家的名称改为 "*" 即 ``{金币::*}``,这时候会产生什么样的效果呢? +但是,如果我将 `{金币::(玩家的名称)}` 中玩家的名称改为 "*" 即 ``{金币::*}``,这时候会产生什么样的效果呢? -``{金币::*}`` 将包含,所有 ``{金币::(玩家的名称)}`` 变量。 +``{金币::*}`` 将包含,所有 ``{金币::(玩家的名称)}`` 变量。 -而这个,却是 `{(玩家的名称)的游戏币数量}` 怎么改也做不到的。 +而这个,却是 `{(玩家的名称)的游戏币数量}` 怎么改也做不到的。 ### Loop @@ -837,7 +837,7 @@ WOW,恭喜你!看到这,你就可以开始尝试着写一些插件了。 但是我们又该如何快速操作这一类数据呢? 这时候就需要引入我们的 Loop 结构。 -Loop 即 循环结构,是 Skript 里非常常用的结构语句,主要用于操作数据量较大的一类变量。 +Loop 即 循环结构,是 Skript 里非常常用的结构语句,主要用于操作数据量较大的一类变量。 以下是 Loop 的几大标准配合: @@ -857,10 +857,10 @@ Loop 即 循环结构,是 Skript 里非常常用的结构语句,主要用于 ### 注册指令 -说到现在,我们所有的代码,似乎都是基于监听器进行编写的。 +说到现在,我们所有的代码,似乎都是基于监听器进行编写的。 -我们都需要去触发监听器,才能执行我们的代码,那有没有什么办法可以主动触发我们的代码? -这时候我们就需要引入 Minecraft 插件最核心的功能,指令功能。 +我们都需要去触发监听器,才能执行我们的代码,那有没有什么办法可以主动触发我们的代码? +这时候我们就需要引入 Minecraft 插件最核心的功能,指令功能。 在 Java 里你可能需要这样注册一个指令。 @@ -882,9 +882,9 @@ command /自定义指令: 代码段 ``` -你并不需要理解前者是什么意思,仅仅需要记住后者的格式即可。 +你并不需要理解前者是什么意思,仅仅需要记住后者的格式即可。 -如果我想注册一个 "/我学你马Java" 的指令,你只需这样:(编者注:不建议注册中文指令。) +如果我想注册一个 "/我学你马Java" 的指令,你只需这样:(编者注:不建议注册中文指令。) ```skript command /我学你马Java: @@ -893,11 +893,11 @@ command /我学你马Java: send "不许说Java坏话" to player ``` -通过测试,指令正常触发。 +通过测试,指令正常触发。 -通过套公式,你可以创造成千上万的指令不成问题,但是实际上我们在使用一个插件的时候,并不是只有 `/...` 结构的指令存在,更多的是 `/... ... ...` 来构成一类指令。 +通过套公式,你可以创造成千上万的指令不成问题,但是实际上我们在使用一个插件的时候,并不是只有 `/...` 结构的指令存在,更多的是 `/... ... ...` 来构成一类指令。 -那我们又该如何注册这样结构的指令呢? 非常简单,基本格式与上面几乎无异。 +那我们又该如何注册这样结构的指令呢? 非常简单,基本格式与上面几乎无异。 ```skript command /自定义指令 [<类型>] [<类型>] ...: @@ -907,9 +907,9 @@ command /自定义指令 [<类型>] [<类型>] ...: 本人写代码时常用的结构就是这样。 -有人问 "类型" 有哪些,其实我也说不全,我常用的有这几种。(编者注,见本页 `了解八大类`。) +有人问 "类型" 有哪些,其实我也说不全,我常用的有这几种。(编者注,见本页 `了解八大类`。) -- "text" - 字符类型。什么是字符? 可以按照字面意思来理解,字词符号。 +- "text" - 字符类型。什么是字符? 可以按照字面意思来理解,字词符号。 - "player" - 在线玩家。 - "offline player" - 离线玩家。 - "number" - 数字类型。 @@ -925,23 +925,23 @@ command /hello []: 代码段 ``` -可以看到,第一个空格的位置,我需要的参数类型为在线玩家。 +可以看到,第一个空格的位置,我需要的参数类型为在线玩家。 -那么我在执行这个指令的时候,必须在这个位置上填上一个在线玩家的名称。 +那么我在执行这个指令的时候,必须在这个位置上填上一个在线玩家的名称。 -同样的如果我把 `"[]"` 换成 `"[]"`,我就需要在这个位置上填写一个整数。 +同样的如果我把 `"[]"` 换成 `"[]"`,我就需要在这个位置上填写一个整数。 -如果我填了 "1.2"(小数/浮点数),Skript 就会提示我,填写的参数类型错误。 +如果我填了 "1.2"(小数/浮点数),Skript 就会提示我,填写的参数类型错误。 为什么填写参数?那肯定是在代码段内需要使用这些输进来的参数。 那么我们在代码段里有该如何调用这些被我们输入进来的参数呢? -比如像是上面这个指令,它只有一个可以填参数的位置。那么在代码段内,它就是 `arg-1`,即`第一个参数`的意思。 +比如像是上面这个指令,它只有一个可以填参数的位置。那么在代码段内,它就是 `arg-1`,即`第一个参数`的意思。 -我们只需要记住核心规则,它排在第几位,在代码段内,它就是 "arg-几"。 +我们只需要记住核心规则,它排在第几位,在代码段内,它就是 "arg-几"。 -当然我在这块的了解并不是很深入,为了不把大家带上歪路,这里引用国外 Skript 原作者更为详细的指令注册的教程。 +当然我在这块的了解并不是很深入,为了不把大家带上歪路,这里引用国外 Skript 原作者更为详细的指令注册的教程。 ```skript command /<指令名称> <参数>: @@ -960,17 +960,17 @@ command /<指令名称> <参数>: ``` - 指令名称(必填) - 指令名称基本上是指令,你可以在指令名称中使用任何字符(空格字符除外)。 - 当然如果在指令名称中使用空格字符,那么空格字符后的文本将成为参数。 + 指令名称基本上是指令,你可以在指令名称中使用任何字符(空格字符除外)。 + 当然如果在指令名称中使用空格字符,那么空格字符后的文本将成为参数。 指令名称前的斜杠字符(/)是可选的(但这并不意味着你可以在执行指令时不带斜杠)。 - 参数(可选) 可以通过将参数放在 "[]" 中来使其成为可选参数。 - 类型参数 - 可以通过使用规定的格式来限制参数的类型,例如: ``。 - - 类型为 "text/string" 的参数可以接受任何字符,但 "object" 类型不能用作于参数(编者注:原因大抵是无法输入 `object`)。 - - 类型可以是多个 (例如 number -> numbers entity -> entities)。通过这样的方法,可以使参数接受多个值。 - - "= default value" 这一部分是可选的,如果指令执行者未输入参数,系统将自动使用默认值。 - - 同样你也可以使用这样的方式设置参数默认值,例如: ``。 + 可以通过使用规定的格式来限制参数的类型,例如: ``。 + - 类型为 "text/string" 的参数可以接受任何字符,但 "object" 类型不能用作于参数(编者注:原因大抵是无法输入 `object`)。 + - 类型可以是多个 (例如 number -> numbers entity -> entities)。通过这样的方法,可以使参数接受多个值。 + - "= default value" 这一部分是可选的,如果指令执行者未输入参数,系统将自动使用默认值。 + - 同样你也可以使用这样的方式设置参数默认值,例如: ``。 以下是一份指令示例: @@ -978,25 +978,25 @@ command /<指令名称> <参数>: 使用 `/kill zombies /kill creepers and animals in radius 100` 或 `/kill monsters in the radius 6` 都是可以的。 -但是如果没有输入数值,系统将自动使用默认值,半径 20。 +但是如果没有输入数值,系统将自动使用默认值,半径 20。 - Aliases - 子指令,指令的别名。如果需要创建多个子指令,请使用用逗号分隔。 - 示例:(/alias1,alias2,/alias3) + 子指令,指令的别名。如果需要创建多个子指令,请使用用逗号分隔。 + 示例:(/alias1,alias2,/alias3) - Executable By 指定可以使用该指令的执行者。 例如:console(后台), players(玩家), the console and players(后台和玩家) - Usage - 执行者用法不正确时,将发送的消息。 + 执行者用法不正确时,将发送的消息。 - Description - 指令描述,其他插件可以获取/显示此信息。 + 指令描述,其他插件可以获取/显示此信息。 - Permission 执行指令所需要的权限。 - Permission Message 执行者没有权限时的提示信息。 - Cooldown - 多长冷却时间后可以再次使用该指令,需要注意的是,关服时所有指令冷却时间将被重置。 + 多长冷却时间后可以再次使用该指令,需要注意的是,关服时所有指令冷却时间将被重置。 - Cooldown Message - 冷却期间,提示信息。 + 冷却期间,提示信息。 - Cooldown Bypass 无视冷却时间所需要的权限。 - Cooldown Storage @@ -1006,9 +1006,9 @@ command /<指令名称> <参数>: ### Function 第一类结构 -众所周知,一个复杂的插件,不免出现相似的代码段。 +众所周知,一个复杂的插件,不免出现相似的代码段。 -有时候你看着不舒服,想要缩减段落,却又无从下手。这时你就需要 Function 来帮忙了。 +有时候你看着不舒服,想要缩减段落,却又无从下手。这时你就需要 Function 来帮忙了。 这里取 SUPERGUILDS 的一段代码做讲解。 @@ -1021,17 +1021,17 @@ file "plugins/SUPERGUILDS/%{_fileDir}%.yml" does not exists: save yaml "plugins/SUPERGUILDS/%{_fileDir}%.yml" ``` -可能你不知道这段代码的意思,简而言之,这段代码的功能是存储一些数据至一个 YAML 文件内。对于一个相对复杂的脚本,数据的存储是必不可少的,同样也会频繁出现在我们的代码中的。难道真的每一次需要存储数据的时候,都需要再去复制粘贴么? +可能你不知道这段代码的意思,简而言之,这段代码的功能是存储一些数据至一个 YAML 文件内。对于一个相对复杂的脚本,数据的存储是必不可少的,同样也会频繁出现在我们的代码中的。难道真的每一次需要存储数据的时候,都需要再去复制粘贴么? -对于一个初学者来说,无可厚非,就是多几行而已。但是对于一个老手来说,**复制粘贴不可取**。 +对于一个初学者来说,无可厚非,就是多几行而已。但是对于一个老手来说,**复制粘贴不可取**。 -首先对于一个 5000+ 以上的插件来说,你需要关注的东西很多:一个是代码优化,一个是代码可读性。 +首先对于一个 5000+ 以上的插件来说,你需要关注的东西很多:一个是代码优化,一个是代码可读性。 -就拿 SUPERGUILDS 来说,它有 7000 多行。我所有的数据读取和存储都是通过方法完成,单一个数据写入方法我就使用了 100 多次,(也就是以上的代码)。如果我们把它都像上面一样全部展开,我的脚本将立即增加 600+ 行。但是我们在写脚本的时候真正需要的是这些么? 不,我们需要的是效果,是功能,不是数据处理的流程。 +就拿 SUPERGUILDS 来说,它有 7000 多行。我所有的数据读取和存储都是通过方法完成,单一个数据写入方法我就使用了 100 多次,(也就是以上的代码)。如果我们把它都像上面一样全部展开,我的脚本将立即增加 600+ 行。但是我们在写脚本的时候真正需要的是这些么? 不,我们需要的是效果,是功能,不是数据处理的流程。 -每次写入数据都需要白白多占 6 行,既不方便后期维护,又要因为要兼顾路径正确与否,浪费很多时间在查错上面,不划算。 +每次写入数据都需要白白多占 6 行,既不方便后期维护,又要因为要兼顾路径正确与否,浪费很多时间在查错上面,不划算。 -Function 为你解决了这些难题,方法的注册和指令的注册有共同的地方,比如它们同样需要参数,结构一般为: +Function 为你解决了这些难题,方法的注册和指令的注册有共同的地方,比如它们同样需要参数,结构一般为: ```skript function 方法名(参数名:参数类型, 参数名:参数类型, ...): @@ -1070,9 +1070,9 @@ SG_writeFile("Datas.Username", "**EVER", "playerdata/%uuid of player%") **使用**方法的时候请勿画蛇添足在前面另加 "function"。 -通过这样的方法我们大大减少了代码量,提高了开发效率。你以为 Function 就结束了? +通过这样的方法我们大大减少了代码量,提高了开发效率。你以为 Function 就结束了? -其实不然,作为方法,很多的时候它并没有 "操作" 功能,更多的是 "整理/查找/判断" 功能。 +其实不然,作为方法,很多的时候它并没有 "操作" 功能,更多的是 "整理/查找/判断" 功能。 上面我提到了使用 Function 写入了数据 那么有写入肯定需要读取 我们又该如何利用 Function 来缩短我们读取的代码呢? @@ -1086,19 +1086,19 @@ function 方法名(参数名:参数类型, 参数名:参数类型, ...) :: 输 return 返回值 ``` -与我们之前提到的写入不同,此时在方法的第一行的末尾我们新增了 "输出参数类型"。 +与我们之前提到的写入不同,此时在方法的第一行的末尾我们新增了 "输出参数类型"。 -什么是输出? 就是代码执行完,我们会得到一个值,而输出即返回这个值。 +什么是输出? 就是代码执行完,我们会得到一个值,而输出即返回这个值。 -什么是参数类型?这里举一个例子,我们知道 1+1=2,这是因为 1 是一个数字,2 也是一个数字,所以才有数字+数字=数字。 +什么是参数类型?这里举一个例子,我们知道 1+1=2,这是因为 1 是一个数字,2 也是一个数字,所以才有数字+数字=数字。 -那“①+一”又等于什么呢? 在你的思维中,很可能会认为它们仍然是数字,你会觉得答案还是 2。 +那“①+一”又等于什么呢? 在你的思维中,很可能会认为它们仍然是数字,你会觉得答案还是 2。 -但是执行我们代码的是计算机,并不是“我们”。在大部分情况下,计算机所能识别的数字,只有阿拉伯数字 "1,2,3..." +但是执行我们代码的是计算机,并不是“我们”。在大部分情况下,计算机所能识别的数字,只有阿拉伯数字 "1,2,3..." -而对于 "①,一...",计算机只能识别它们中的一些字符,并不能利用这些字符进行加减运算。如果有个人突然问你一句水 + 苹果 = ? 你或许也没有一个准确的答案。 +而对于 "①,一...",计算机只能识别它们中的一些字符,并不能利用这些字符进行加减运算。如果有个人突然问你一句水 + 苹果 = ? 你或许也没有一个准确的答案。 -计算机更是这样。所以这时候就需要参数类型来规范我们运算中的这些值,以下是一份示例。 +计算机更是这样。所以这时候就需要参数类型来规范我们运算中的这些值,以下是一份示例。 ```skript function SI_isSlotAvaliable(s: integer, z: integer) :: boolean: @@ -1109,13 +1109,13 @@ function SI_isSlotAvaliable(s: integer, z: integer) :: boolean: ``` -通过第一类 Function 的学习我们知道,这个方法可以放入两个参数,最终会返回一个参数类型为 boolean("布尔") 的值 即 "false/true"。 +通过第一类 Function 的学习我们知道,这个方法可以放入两个参数,最终会返回一个参数类型为 boolean("布尔") 的值 即 "false/true"。 -那么实际操作中我们就可以通过这样一段代码,判断给定的数值是否满足条件。满足将返回 "true" ,不满足将返回 "false"。 +那么实际操作中我们就可以通过这样一段代码,判断给定的数值是否满足条件。满足将返回 "true" ,不满足将返回 "false"。 -切记,对于 Skript,如果代码已经成功获得的最终值,那么方法代码将立即终止,也就是说,从返回成功的一行开始,后面所有代码将不再执行。 +切记,对于 Skript,如果代码已经成功获得的最终值,那么方法代码将立即终止,也就是说,从返回成功的一行开始,后面所有代码将不再执行。 -到此,所有基础教程已结束,谢谢大家赏脸看完。全文 11111 字,都是自己的一些干货,点个收藏,给点人气便是对我最大的支持。 +到此,所有基础教程已结束,谢谢大家赏脸看完。全文 11111 字,都是自己的一些干货,点个收藏,给点人气便是对我最大的支持。 请支持原作者 [TUCAOEVER](https://github.com/TUCAOEVER)。 @@ -1123,5 +1123,5 @@ function SI_isSlotAvaliable(s: integer, z: integer) :: boolean: 1. 在部分地方加上了注释。 2. 改动了已经失效的原文档链接。 -3. 对整篇文章进行了重格式化,使之更符合现代汉语语法和 Markdown 语法,一定程度上增强了可读性。 -4. 统一了文章中出现的部分译名,如 `command`,统一使用 `指令` 来指代。 +3. 对整篇文章进行了重格式化,使之更符合现代汉语语法和 Markdown 语法,一定程度上增强了可读性。 +4. 统一了文章中出现的部分译名,如 `command`,统一使用 `指令` 来指代。 diff --git a/docs-java/advance/Skript/skript.md b/docs-java/advance/Skript/skript.md index 20d84794e..ff063fea0 100644 --- a/docs-java/advance/Skript/skript.md +++ b/docs-java/advance/Skript/skript.md @@ -8,7 +8,7 @@ sidebar_position: 11 :::warning -本文档大量参考了其他作者的教程,目前属于 **不可读** 状态 +本文档大量参考了其他作者的教程,目前属于 **不可读** 状态 引用的内容主要来源于 @@ -18,17 +18,17 @@ TUCAOEVER 在 mcbbs 的教程 ::: -Skript 是一个脚本插件,取名来自 "script"。是一个面向 Bukkit 的编程语言,缩写为 SK。 +Skript 是一个脚本插件,取名来自 "script"。是一个面向 Bukkit 的编程语言,缩写为 SK。 -因为其语法简单而受到很多中小型服主的青睐,很多人多多少少对这块有一些了解, +因为其语法简单而受到很多中小型服主的青睐,很多人多多少少对这块有一些了解, -但是毕竟受众人群小,很多时候也会出现想学却无从下手,有问题却无处可问的尴尬境地。 +但是毕竟受众人群小,很多时候也会出现想学却无从下手,有问题却无处可问的尴尬境地。 ## 特点 ### 简单易上手 -举一个简单的例子,为了实现玩家每次进入服务器就给有 "xxx" 权限的玩家 64 钻石的功能。 +举一个简单的例子,为了实现玩家每次进入服务器就给有 "xxx" 权限的玩家 64 钻石的功能。 使用 Java 时的代码: @@ -53,17 +53,17 @@ on join: give 64 diamond to player // 给予钻石 ``` -在大多数情况下, Skript 不会在意大小写、定冠词 "the",只需要符合英语语法和基本的缩进。 +在大多数情况下, Skript 不会在意大小写、定冠词 "the",只需要符合英语语法和基本的缩进。 -即使使用了错误的语法,报错时也基本会提示具体错误类型。 +即使使用了错误的语法,报错时也基本会提示具体错误类型。 ### 拓展插件多 -使用 Skript 时如果遇到 Skript 不包含的语法,可以使用其他拓展插件如 [Skbee](https://github.com/ShaneBeee/SkBee)、[Skript-reflect](https://github.com/SkriptLang/skript-reflect) 等插件拓展。 +使用 Skript 时如果遇到 Skript 不包含的语法,可以使用其他拓展插件如 [Skbee](https://github.com/ShaneBeee/SkBee)、[Skript-reflect](https://github.com/SkriptLang/skript-reflect) 等插件拓展。 ### 性能较低 -相较使用 Java 编写的插件,进行相同的操作时, Skript 的性能会略低于 Java。 +相较使用 Java 编写的插件,进行相同的操作时, Skript 的性能会略低于 Java。 但大多数情况下性能和代码本身的质量有巨大的关系。代码质量差对于性能的影响远大于使用 Skript 对性能的影响。 diff --git a/docs-java/advance/YAML/YAML.md b/docs-java/advance/YAML/YAML.md index 6ddf04208..d54a04a33 100644 --- a/docs-java/advance/YAML/YAML.md +++ b/docs-java/advance/YAML/YAML.md @@ -9,34 +9,34 @@ sidebar_position: 4 ## 什么是 YAML? -> YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。 +> YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。 > -> YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表、标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、调试内容、文件大纲(例如:许多电子邮件标题格式和 YAML 非常接近)。 +> YAML 的语法和其他高级语言类似,并且可以简单表达清单、散列表、标量等数据形态。它使用空白符号缩进和大量依赖外观的特色,特别适合用来表达或编辑数据结构、各种配置文件、调试内容、文件大纲(例如:许多电子邮件标题格式和 YAML 非常接近)。 > -> YAML 的配置文件后缀为 *.yml* 或者 *.yaml* ,如:`config.yml` 。 +> YAML 的配置文件后缀为 *.yml* 或者 *.yaml* ,如:`config.yml` 。 -Minecraft 服务器用到的 YAML 语法都是非常非常基础的,只要了解一下就可以。(甚至看看配置文件就明白了) +Minecraft 服务器用到的 YAML 语法都是非常非常基础的,只要了解一下就可以。(甚至看看配置文件就明白了) ## 概要 TL;DR - 大小写敏感 - 使用缩进表示层级关系 -- 缩进不允许使用 **TAB** ,只允许**空格** -- 缩进的空格数不重要,只要相同层级的元素左对齐即可 +- 缩进不允许使用 **TAB** ,只允许**空格** +- 缩进的空格数不重要,只要相同层级的元素左对齐即可 - `#` 表示注释 - 冒号后面有空格 - 字符串要加单引号或双引号 :::info -在不涉及转义字符 (形如 \n, \r) 时,单双引号等价。 +在不涉及转义字符 (形如 \n, \r) 时,单双引号等价。 -在部分特殊情况,字符串不需要加引号,仍然建议使用引号来减小歧义。 +在部分特殊情况,字符串不需要加引号,仍然建议使用引号来减小歧义。 ::: :::info -有可能你的文本编辑器用的缩进不是**空格**,这会导致插件报错。 +有可能你的文本编辑器用的缩进不是**空格**,这会导致插件报错。 自己在文本编辑器找找或者浏览器搜下怎么改。 diff --git a/docs-java/advance/YAML/extention.md b/docs-java/advance/YAML/extention.md index 4a3de0087..3b535b336 100644 --- a/docs-java/advance/YAML/extention.md +++ b/docs-java/advance/YAML/extention.md @@ -64,7 +64,7 @@ test: ### 保留换行 -使用 `|` 来表示该语法,每行的缩进和行尾空白都会被去掉,而额外的缩进会被保留。 +使用 `|` 来表示该语法,每行的缩进和行尾空白都会被去掉,而额外的缩进会被保留。 ```YAML lines: | 我是第一行 @@ -73,14 +73,14 @@ lines: | 我是第四行 我是第五行 ``` -使用 `|+` 来表示该语法,保留行尾及字符末尾的换行符。 +使用 `|+` 来表示该语法,保留行尾及字符末尾的换行符。 ```YAML lines: |+ 我是第一行 我是第二行 ``` -使用 `|-` 来表示该语法,保留行尾换行符,但不保留字符末尾的换行符。 +使用 `|-` 来表示该语法,保留行尾换行符,但不保留字符末尾的换行符。 ```YAML lines: |- 我是第一行 @@ -89,7 +89,7 @@ lines: |- ### 折叠换行 -使用 `>` 来表示该语法,只有空白行才会被识别为换行,原来的换行符都会被转换成空格。 +使用 `>` 来表示该语法,只有空白行才会被识别为换行,原来的换行符都会被转换成空格。 ```YAML lines: > 我是第一行 @@ -100,14 +100,14 @@ lines: > 这么巧我也是第二行 ``` -使用 `>+` 来表示该语法,将行尾换行符替换成空格,保留字符末尾的换行符。 +使用 `>+` 来表示该语法,将行尾换行符替换成空格,保留字符末尾的换行符。 ```YAML lines: >+ 我是第一行 我也是第一行 ``` -使用 `>-` 来表示该语法,将行尾换行符替换成空格,不保留字符末尾的换行符。 +使用 `>-` 来表示该语法,将行尾换行符替换成空格,不保留字符末尾的换行符。 ```YAML lines: >- 我是第一行 diff --git a/docs-java/advance/YAML/foundation.md b/docs-java/advance/YAML/foundation.md index e8e47016f..083464631 100644 --- a/docs-java/advance/YAML/foundation.md +++ b/docs-java/advance/YAML/foundation.md @@ -5,7 +5,7 @@ sidebar_position: 2 # 基础 -假如你想更进一步,请继续阅读。 +假如你想更进一步,请继续阅读。 ## 数据类型 @@ -17,9 +17,9 @@ sidebar_position: 2 比如这里 `key` 是键, `value` 是这个键的值 `: `(冒号后有个空格)被称为 `映射标记` 。 ### 数组 -以 `-` 开头的行表示构成一个数组,数组是一组按次序排列的值。 +以 `-` 开头的行表示构成一个数组,数组是一组按次序排列的值。 -YAML 支持多维数组,可以使用行内表示:`key: [value1, value2, ...]` 。 +YAML 支持多维数组,可以使用行内表示:`key: [value1, value2, ...]` 。 这个写法相当于: ```yaml @@ -39,10 +39,10 @@ companies: name: company2 price: 500W ``` -意思是 companies 属性是一个数组,数组中的每一个元素又由 id, name, price 三个属性构成。 +意思是 companies 属性是一个数组,数组中的每一个元素又由 id, name, price 三个属性构成。 ### 复合结构 -数组和对象可以构成复合结构,例: +数组和对象可以构成复合结构,例: ```yaml languages: @@ -70,7 +70,7 @@ websites: ``` ### 纯量 -纯量是最基本的,不可再分的值,包括: +纯量是最基本的,不可再分的值,包括: - 字符串 - 布尔值 - 整数 @@ -97,9 +97,9 @@ string: - 哈哈 - 'Hello world' # 可以使用双引号或者单引号包裹特殊字符。 - newline - newline2 # 字符串可以拆成多行,每一行会被转化成一个空格。 + newline2 # 字符串可以拆成多行,每一行会被转化成一个空格。 date: - - 2018-02-17 # 日期必须使用 ISO 8601 格式,即 yyyy-MM-dd 。 + - 2018-02-17 # 日期必须使用 ISO 8601 格式,即 yyyy-MM-dd 。 datetime: - 2018-02-17T15:02:31+08:00 # 时间和日期之间使用 T 连接, 最后使用 + 代表时区。 ``` @@ -123,11 +123,11 @@ guide: 我们称 `options` 和 `guide` 在同一缩进下。 -`enable` 和 `check` 在同一缩进下,同样的,`enable` 和 `drop-block` 也在同一缩进下,以此类推。 +`enable` 和 `check` 在同一缩进下,同样的,`enable` 和 `drop-block` 也在同一缩进下,以此类推。 而 `options.enable` (指 options 缩进下的 enable 键) 和 `options.other.money` 以及 `guide.show` 则不在同一缩进下。 -在同一缩进下不允许出现相同的键,如: +在同一缩进下不允许出现相同的键,如: ``` options: @@ -136,9 +136,9 @@ options: check: false ``` -如果你的文本编辑器支持 YAML 语法,那么它应该会标红提示你语法错误,这样的配置插件读取也会报错。 +如果你的文本编辑器支持 YAML 语法,那么它应该会标红提示你语法错误,这样的配置插件读取也会报错。 -不在同一缩进下则可以出现相同的键,如: +不在同一缩进下则可以出现相同的键,如: ``` options: diff --git a/docs-java/advance/advance.md b/docs-java/advance/advance.md index 108b1d4e2..4b43b8b92 100644 --- a/docs-java/advance/advance.md +++ b/docs-java/advance/advance.md @@ -6,9 +6,9 @@ sidebar_position: 6 # 进阶教程 -这一部分并不适合新手阅读,主要是给有一定开服经验或读完了本文档的其他内容的人。 +这一部分并不适合新手阅读,主要是给有一定开服经验或读完了本文档的其他内容的人。 -可以将本章视为是对之前的补充部分,如果你能完全理解这一部分的内容,那么恭喜你,已经完全摆脱了笨蛋的称号! +可以将本章视为是对之前的补充部分,如果你能完全理解这一部分的内容,那么恭喜你,已经完全摆脱了笨蛋的称号! import DocCardList from '@theme/DocCardList'; diff --git a/docs-java/advance/bot.md b/docs-java/advance/bot.md index c69b5a398..74886616e 100644 --- a/docs-java/advance/bot.md +++ b/docs-java/advance/bot.md @@ -10,9 +10,9 @@ sidebar_position: 12 :::info -一般而言,已经存在的机器人方案实现起来相对容易且功能多。 +一般而言,已经存在的机器人方案实现起来相对容易且功能多。 -如果你不是专业开发者,非常推荐直接使用已存在的机器人插件实现。 +如果你不是专业开发者,非常推荐直接使用已存在的机器人插件实现。 :::--> 目前比较推荐的方案: @@ -23,30 +23,30 @@ sidebar_position: 12 :::warning -EasyBot 的更新程序貌似存在漏洞,如果突然终止或是因为某些意料之外的原因, +EasyBot 的更新程序貌似存在漏洞,如果突然终止或是因为某些意料之外的原因, -在从旧版本更新到新版本后,浏览器编辑器的消息同步有概率无法显示,这种情况请删除 EasyBot *主程序* (不是插件!)的 *所有* 文件后重新安装 +在从旧版本更新到新版本后,浏览器编辑器的消息同步有概率无法显示,这种情况请删除 EasyBot *主程序* (不是插件!)的 *所有* 文件后重新安装 -(记得保留配置) +(记得保留配置) ::: +EasyBot 可简单地通过自定义命令实现查看服务器TPS,玩家数据等。 [EasyBot 自定义命令教程](https://www.yuque.com/miuxue/cgyipv/vng1gtu9wk71xtg6)--> 1. [账号绑定](https://www.yuque.com/miuxue/cgyipv/vng1gtu9wk71xtg6) - 介绍 -2. [自定义命令教程](https://www.yuque.com/miuxue/cgyipv/vng1gtu9wk71xtg6) - 简单地通过自定义命令实现查看服务器 TPS,玩家数据等。 +2. [自定义命令教程](https://www.yuque.com/miuxue/cgyipv/vng1gtu9wk71xtg6) - 简单地通过自定义命令实现查看服务器 TPS,玩家数据等。 -EasyBot 开发者目前没有撰写关于消息同步的教程,但由于网页编辑器而非配置非常容易上手,在此不做赘述。 +EasyBot 开发者目前没有撰写关于消息同步的教程,但由于网页编辑器而非配置非常容易上手,在此不做赘述。 :::warning -不推荐使用 EasyBot 的群组服务器内消息同步功能,使用 TrChat 等插件可以更好的实现它们。 +不推荐使用 EasyBot 的群组服务器内消息同步功能,使用 TrChat 等插件可以更好的实现它们。 ::: -优点:配置简单,网页编辑器方便新手,轻量。 +优点:配置简单,网页编辑器方便新手,轻量。 缺点:功能上不如 XinxinBot 丰富。 @@ -58,16 +58,16 @@ EasyBot 开发者目前没有撰写关于消息同步的教程,但由于网页 [消息同步](http://wiki.mcxin.cn/zh/%E6%96%B0%E9%91%AB%E6%9C%BA%E5%99%A8%E4%BA%BA%E9%99%84%E5%B1%9E%E6%95%99%E7%A8%8B/XinxinChatSync) -优点:使用附属插件,功能更多。 +优点:使用附属插件,功能更多。 缺点:配置稍复杂。 +如果某个方案基于 MiraiMC,请参见下文。--> ### [MiraiMC](https://github.com/DreamVoid/MiraiMC) -MiraiMC 是一款能够作为服务器插件加载的机器人框架。它非常适合仅有一个服务端,尤其是使用面板开服的 **小型服务器** 使用。MiraiMC 的大多数排障方法和特性都与 Mirai 相同,遇到问题时你可以参考 [Mirai](../../advance/bot/framework#mirai) 框架的使用文档。 +MiraiMC 是一款能够作为服务器插件加载的机器人框架。它非常适合仅有一个服务端,尤其是使用面板开服的 **小型服务器** 使用。MiraiMC 的大多数排障方法和特性都与 Mirai 相同,遇到问题时你可以参考 [Mirai](../../advance/bot/framework#mirai) 框架的使用文档。 -MiraiMC 已添加了 [对 Overflow 的支持附属插件](https://github.com/DreamVoid/MiraiMC/issues/510),因此你可以使用 Overflow 协助登录。这也帮助了许多停更的基于 MiraiMC 的老机器人插件。 +MiraiMC 已添加了 [对 Overflow 的支持附属插件](https://github.com/DreamVoid/MiraiMC/issues/510),因此你可以使用 Overflow 协助登录。这也帮助了许多停更的基于 MiraiMC 的老机器人插件。 diff --git a/docs-java/advance/chinese-username.md b/docs-java/advance/chinese-username.md index af924e016..e5c014344 100644 --- a/docs-java/advance/chinese-username.md +++ b/docs-java/advance/chinese-username.md @@ -5,15 +5,15 @@ sidebar_position: 10 # 使用中文名进入服务器 -MineCraft 自 `1.18` 版本后,默认不再允许使用 _除英文字母、数字、下划线以外的_ 字符作为游戏名。 +MineCraft 自 `1.18` 版本后,默认不再允许使用 _除英文字母、数字、下划线以外的_ 字符作为游戏名。 而 [CnUsername](https://github.com/0XPYEX0/CnUsername) 被设计用于解决此痛点。 ## 安装途径 | 方式 | 优点 | 缺点 | |----------------|----------------|------------------------| -| `JavaAgent` 加载 | 操作权限高,可以完成所有操作 | 需要自定义命令行,部分面板服可能不支持 | -| 作为`插件`加载 | 灵活,即装即用 | 部分操作无法实现,例如无法修改原版命令选择器 | +| `JavaAgent` 加载 | 操作权限高,可以完成所有操作 | 需要自定义命令行,部分面板服可能不支持 | +| 作为`插件`加载 | 灵活,即装即用 | 部分操作无法实现,例如无法修改原版命令选择器 | :::tip @@ -21,8 +21,8 @@ MineCraft 自 `1.18` 版本后,默认不再允许使用 _除英文字母、数 ::: -正确安装后,在启动器中填入中文名字正常启动,即可开始享受游戏 +正确安装后,在启动器中填入中文名字正常启动,即可开始享受游戏 -CnUsername 与某些昵称插件不同: CnUsername 是真正实现中文名,而非披着中文名的幌子,里子还是英文名的“游戏昵称” +CnUsername 与某些昵称插件不同: CnUsername 是真正实现中文名,而非披着中文名的幌子,里子还是英文名的“游戏昵称” 后续教程及下载请查阅[Github](https://github.com/0XPYEX0/CnUsername) \ No newline at end of file diff --git a/docs-java/advance/command.yml.md b/docs-java/advance/command.yml.md index d6df02a21..befc84cbd 100644 --- a/docs-java/advance/command.yml.md +++ b/docs-java/advance/command.yml.md @@ -4,9 +4,9 @@ sidebar_position: 6 # Command.yml 介绍 -commands.yml 是一个配置文件,用于为 CraftBukkit 服务器定义自定义命令和命令方块覆盖。 +commands.yml 是一个配置文件,用于为 CraftBukkit 服务器定义自定义命令和命令方块覆盖。 -命令覆盖系统可强制服务器对特定命令方块使用 Mojang 提供的命令,而别名系统允许管理员定义自定义命令并强制使用特定版本的命令。 +命令覆盖系统可强制服务器对特定命令方块使用 Mojang 提供的命令,而别名系统允许管理员定义自定义命令并强制使用特定版本的命令。 # 命令覆盖系统 @@ -14,17 +14,17 @@ Bukkit 在默认情况下提供了一个命令覆盖系统。 ### 优先级: -Aliases(自定义命令)> Plugin Commands(插件命令)> Bukkit Commands(Bukkit 命令)> Mojang Commands(Mojang 命令)。 +Aliases(自定义命令)> Plugin Commands(插件命令)> Bukkit Commands(Bukkit 命令)> Mojang Commands(Mojang 命令)。 -Aliases(定义命令):具有最高优先级,会覆盖所有命令。这意味着如果存在与某个命令匹配的别名,服务器将优先执行该别名所定义的命令。 +Aliases(定义命令):具有最高优先级,会覆盖所有命令。这意味着如果存在与某个命令匹配的别名,服务器将优先执行该别名所定义的命令。 -Plugin Commands(插件命令):如果没有找到匹配的命令,服务器会查找匹配的插件命令并使用它。 +Plugin Commands(插件命令):如果没有找到匹配的命令,服务器会查找匹配的插件命令并使用它。 -Bukkit Commands(Bukkit 命令):如果没有找到匹配的插件命令,服务器将使用 Bukkit 提供的内置命令。 +Bukkit Commands(Bukkit 命令):如果没有找到匹配的插件命令,服务器将使用 Bukkit 提供的内置命令。 -Mojang Commands(Mojang 命令):如果没有找到匹配的 Bukkit 命令,作为最后一个回退选项,服务器将使用 Mojang 提供的内置命令。 +Mojang Commands(Mojang 命令):如果没有找到匹配的 Bukkit 命令,作为最后一个回退选项,服务器将使用 Mojang 提供的内置命令。 -每个 fallback 都有相应的权限控制,除插件命令外,Bukkit 命令的权限为 `bukkit.command.*`,Mojang 命令的权限为 `minecraft.command.*` +每个 fallback 都有相应的权限控制,除插件命令外,Bukkit 命令的权限为 `bukkit.command.*`,Mojang 命令的权限为 `minecraft.command.*` # Command.yml 内容 @@ -39,11 +39,11 @@ aliases: ### 关于 command-block-overrides 部分 表明当前没有对命令方块的覆盖进行设置。 -这个部分的作用是控制命令方块覆盖功能。在 Bukkit 的历史中,曾提供过一些与 Minecraft 原本不同版本的命令。通过这个设置,可以强制服务器专门为命令方块使用 Mojang 提供的版本的命令 (MC 原版命令)。而在命令方块之外使用的命令,将按照正常情况使用 Bukkit(或插件)版本的命令。 +这个部分的作用是控制命令方块覆盖功能。在 Bukkit 的历史中,曾提供过一些与 Minecraft 原本不同版本的命令。通过这个设置,可以强制服务器专门为命令方块使用 Mojang 提供的版本的命令 (MC 原版命令)。而在命令方块之外使用的命令,将按照正常情况使用 Bukkit(或插件)版本的命令。 **命令覆盖:** -当你需要命令方块执行 Mojang 命令 (MC 原版命令) 而不是被插件覆盖的命令覆盖时,您可以将这个命令加入到 `command-block-overrides` 中,以下使用 give 命令举例 : +当你需要命令方块执行 Mojang 命令 (MC 原版命令) 而不是被插件覆盖的命令覆盖时,您可以将这个命令加入到 `command-block-overrides` 中,以下使用 give 命令举例 : ``` command-block-overrides: @@ -52,7 +52,7 @@ command-block-overrides: 当在 Essentitals 插件加载时在命令方块中的实现效果将会是 `minecraft:give` 而不是 `essentials:give` -当你需要命令方块执行大量 Mojang 命令 (MC 原版命令) 而不被插件等覆盖时,您可以将这个命令加入到 `command-block-overrides` 中,以下指令会覆盖命令方块中所有的命令使用 MC 原版命令 : +当你需要命令方块执行大量 Mojang 命令 (MC 原版命令) 而不被插件等覆盖时,您可以将这个命令加入到 `command-block-overrides` 中,以下指令会覆盖命令方块中所有的命令使用 MC 原版命令 : ``` command-block-overrides: @@ -61,31 +61,31 @@ command-block-overrides: ### 关于 aliases 部分 -在这个配置中,定义了一个自定义命令为 `icanhasbukkit` 。 -对应的命令为"version $1-",这意味着当玩家输入 `icanhasbukkit` 这个命令时,实际上会执行 `version $1-` 这个命令 +在这个配置中,定义了一个自定义命令为 `icanhasbukkit` 。 +对应的命令为"version $1-",这意味着当玩家输入 `icanhasbukkit` 这个命令时,实际上会执行 `version $1-` 这个命令 **自定义命令:** -这一部分允许您为服务器上的命令定义自定义命令。从本质上讲,自定义命令允许您创建可以同时执行多个功能的自定义命令。这是一个强大的工具,允许您为服务器玩家定义更容易记住的命令。 +这一部分允许您为服务器上的命令定义自定义命令。从本质上讲,自定义命令允许您创建可以同时执行多个功能的自定义命令。这是一个强大的工具,允许您为服务器玩家定义更容易记住的命令。 | **修饰语** | **描述** | **例子** | | ---------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------- | -| `$` | 在一个命令结构中,当存在多个参数输入时,`$` 可以根据给定的参数编号来获取对应的输入值。例如在 `say $1 $2 $3` 这个命令中,`$1`代表第一个输入的参数,`$2` 代表第二个输入的参数,`$3` 代表第三个输入的参数。如果执行该命令时输入 `say word1 word2 word3` ,那么`$1` 将被替换为 `word1`,`$2`将被替换为 `word2`,`$3` 将被替换为 `word3`。 | `say $1 $2 $3` | -| `$-` | 在命令执行过程中,此表达式可以获取从指定参数位置开始及之后的所有参数值。例如在 `say $1-` 中,如果输入`say phrase1 phrase2 phrase3`,那么 `$1-` 将代表 `phrase1 phrase2 phrase3` 这个完整的参数序列。 | ` say $1-` | -| `$$` | 在命令设计中,这种形式强调特定位置的参数的必要性。例如 `say $1`,如果执行命令时没有为第一个位置提供参数值,那么该命令将不会被触发执行。只有当有输入值对应到第一个位置时,例如`say something`,这里 `$1` 将被替换为 `something`,命令才会正常执行。 | `say $$1` | -| `$$-` | 与前面的解释类似,但涉及到一个参数范围。例如在 `say $1-` 中,如果输入 `say onlyword`,由于只有一个参数且该参数对应第一个位置,但是这里要求起始参数必须有值且后面还有其他参数才满足条件,所以这个命令不会执行。而如果输入 `say start second third`,从第一个参数 `start` 开始到后面的参数都有值,满足条件,此时 `$1-` 将代表 `start second third` 这个参数序列。 | `say $$1-` | -| \ | 在一些命令语法中,某些字符被赋予了特定的功能含义,比如 `$` 通常用于参数引用。但当我们希望这个字符不作为特殊功能字符,而仅仅作为普通字符出现时,就可以使用 `\` 进行转义。例如在`say $100` 中,`$` 使得 `““` 失去了参数引用的特殊含义,而仅作为字符出现 | `say \$100` | +| `$` | 在一个命令结构中,当存在多个参数输入时,`$` 可以根据给定的参数编号来获取对应的输入值。例如在 `say $1 $2 $3` 这个命令中,`$1`代表第一个输入的参数,`$2` 代表第二个输入的参数,`$3` 代表第三个输入的参数。如果执行该命令时输入 `say word1 word2 word3` ,那么`$1` 将被替换为 `word1`,`$2`将被替换为 `word2`,`$3` 将被替换为 `word3`。 | `say $1 $2 $3` | +| `$-` | 在命令执行过程中,此表达式可以获取从指定参数位置开始及之后的所有参数值。例如在 `say $1-` 中,如果输入`say phrase1 phrase2 phrase3`,那么 `$1-` 将代表 `phrase1 phrase2 phrase3` 这个完整的参数序列。 | ` say $1-` | +| `$$` | 在命令设计中,这种形式强调特定位置的参数的必要性。例如 `say $1`,如果执行命令时没有为第一个位置提供参数值,那么该命令将不会被触发执行。只有当有输入值对应到第一个位置时,例如`say something`,这里 `$1` 将被替换为 `something`,命令才会正常执行。 | `say $$1` | +| `$$-` | 与前面的解释类似,但涉及到一个参数范围。例如在 `say $1-` 中,如果输入 `say onlyword`,由于只有一个参数且该参数对应第一个位置,但是这里要求起始参数必须有值且后面还有其他参数才满足条件,所以这个命令不会执行。而如果输入 `say start second third`,从第一个参数 `start` 开始到后面的参数都有值,满足条件,此时 `$1-` 将代表 `start second third` 这个参数序列。 | `say $$1-` | +| \ | 在一些命令语法中,某些字符被赋予了特定的功能含义,比如 `$` 通常用于参数引用。但当我们希望这个字符不作为特殊功能字符,而仅仅作为普通字符出现时,就可以使用 `\` 进行转义。例如在`say $100` 中,`$` 使得 `““` 失去了参数引用的特殊含义,而仅作为字符出现 | `say \$100` | | **场景** | **描述** | **命令用法** | **示例配置** | | ------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- | -| 添加运行 /version 命令的替代方法 | 通过注册一个名为 `icanhasbukkit` 的自定义命令,在使用该自定义命令时会执行 version 命令,从而提供了一种运行 /version 命令的替代方式。 | 输入 `/icanhasbukkit` | aliases:
icanhasbukkit:
\- "version" | -| 删除命令 | 注册一个名为 `summon` 的自定义命令并将其映射到空列表,以此告诉服务器取消注册该命令,防止其存在和发挥作用。 | 无特定命令输入示例,因为目的是删除命令 | aliases:
summon:
\- \[\] | -| 重命名 /version 命令 | 注册一个名为 `icanhasversion` 的自定义命令来执行 version 命令,同时创建一个名为 “version” 的自定义命令并映射到空列表以删除原有的 /version 命令。 | 输入 `/icanhasversion` | aliases:
icanhasversion:
\- "bukkit:version"
version:
\- \[\] | -| 需要参数 | 创建一个名为 `givedirt` 的自定义命令,该自定义命令需要提供一个参数(这里是玩家的名字)才能成功运行。 | 输入 `/givedirt `,其中 `` 为玩家名称 | aliases:
givedirt:
\- "give $$1 minecraft:dirt` | -| 运行多个命令 | 创建一个名为 `givedirtmsg` 的自定义命令,该自定义命令会在成功运行前执行两个需要参数的命令。 | 输入 `/givedirtmsg `,其中 `` 为玩家名称 | aliases:
givedirtmsg:
\- "give $$1 minecraft:dirt"
\- "say Gave dirt to $$1" | -| 使用插件提供的命令 | 通过自定义命令覆盖内置的 `/time` 命令,使用插件 ScrapBukkit 提供的版本。 | 输入 `/time ` | aliases:
time:
\- "scrapbukkit:time $1\-" | -| 使用 Mojang 提供的命令 | 通过自定义命令覆盖内置的 `/time` 命令,使用 Mojang 提供的版本。 | 输入 `/time ` | aliases:
time:
\- "minecraft:time $1\-" | -| 使用 Bukkit 提供的命令 | 通过自定义命令覆盖内置的 `/time` 命令,使用 Bukkit 提供的版本。 | 输入 `/time ` | aliases:
time:
\- "bukkit:time $1\-" | -| 接受所有参数 | 创建一个名为 `broadcast` 的自定义命令,该自定义命令将执行 `say` 命令并接受传递给它的任何参数。 | 输入 `/broadcast `,其中 `` 为要广播的消息。 | aliases:
broadcast:
\- "say $$1\-" | -| 需要第一个参数,同时使第二个参数可选 | 覆盖内置的 `ban` 命令,这个自定义命令需要第一个参数(这里是玩家的名字),同时支持可选的封禁理由。当使用该自定义命令时,玩家将被封禁,并广播一条消息通知服务器上的其他人有人被封禁了。 | 输入 `/ban [optional reason]`,其中 `` 为玩家名称,`[optional reason]` 为可选的封禁理由 | aliases:
ban:
\- "bukkit:ban $$1 $2\-"
\- "say Banned $$1\. Reason: $2\-" | -| 在命令中使用$符号 | 创建一个名为 `dollar` 的自定义命令,该自定义命令会向服务器广播消息 “That will be 200,thanks!'' 由于字符用于表示参数,所以在创建自定义命令时需要用反斜杠(\\)对其进行转义。 | 输入 `/dollar` | aliases:
dollar:
\- "say That will be \\$200, thanks\!" | +| 添加运行 /version 命令的替代方法 | 通过注册一个名为 `icanhasbukkit` 的自定义命令,在使用该自定义命令时会执行 version 命令,从而提供了一种运行 /version 命令的替代方式。 | 输入 `/icanhasbukkit` | aliases:
icanhasbukkit:
\- "version" | +| 删除命令 | 注册一个名为 `summon` 的自定义命令并将其映射到空列表,以此告诉服务器取消注册该命令,防止其存在和发挥作用。 | 无特定命令输入示例,因为目的是删除命令 | aliases:
summon:
\- \[\] | +| 重命名 /version 命令 | 注册一个名为 `icanhasversion` 的自定义命令来执行 version 命令,同时创建一个名为 “version” 的自定义命令并映射到空列表以删除原有的 /version 命令。 | 输入 `/icanhasversion` | aliases:
icanhasversion:
\- "bukkit:version"
version:
\- \[\] | +| 需要参数 | 创建一个名为 `givedirt` 的自定义命令,该自定义命令需要提供一个参数(这里是玩家的名字)才能成功运行。 | 输入 `/givedirt `,其中 `` 为玩家名称 | aliases:
givedirt:
\- "give $$1 minecraft:dirt` | +| 运行多个命令 | 创建一个名为 `givedirtmsg` 的自定义命令,该自定义命令会在成功运行前执行两个需要参数的命令。 | 输入 `/givedirtmsg `,其中 `` 为玩家名称 | aliases:
givedirtmsg:
\- "give $$1 minecraft:dirt"
\- "say Gave dirt to $$1" | +| 使用插件提供的命令 | 通过自定义命令覆盖内置的 `/time` 命令,使用插件 ScrapBukkit 提供的版本。 | 输入 `/time ` | aliases:
time:
\- "scrapbukkit:time $1\-" | +| 使用 Mojang 提供的命令 | 通过自定义命令覆盖内置的 `/time` 命令,使用 Mojang 提供的版本。 | 输入 `/time ` | aliases:
time:
\- "minecraft:time $1\-" | +| 使用 Bukkit 提供的命令 | 通过自定义命令覆盖内置的 `/time` 命令,使用 Bukkit 提供的版本。 | 输入 `/time ` | aliases:
time:
\- "bukkit:time $1\-" | +| 接受所有参数 | 创建一个名为 `broadcast` 的自定义命令,该自定义命令将执行 `say` 命令并接受传递给它的任何参数。 | 输入 `/broadcast `,其中 `` 为要广播的消息。 | aliases:
broadcast:
\- "say $$1\-" | +| 需要第一个参数,同时使第二个参数可选 | 覆盖内置的 `ban` 命令,这个自定义命令需要第一个参数(这里是玩家的名字),同时支持可选的封禁理由。当使用该自定义命令时,玩家将被封禁,并广播一条消息通知服务器上的其他人有人被封禁了。 | 输入 `/ban [optional reason]`,其中 `` 为玩家名称,`[optional reason]` 为可选的封禁理由 | aliases:
ban:
\- "bukkit:ban $$1 $2\-"
\- "say Banned $$1\. Reason: $2\-" | +| 在命令中使用$符号 | 创建一个名为 `dollar` 的自定义命令,该自定义命令会向服务器广播消息 “That will be 200,thanks!'' 由于字符用于表示参数,所以在创建自定义命令时需要用反斜杠(\\)对其进行转义。 | 输入 `/dollar` | aliases:
dollar:
\- "say That will be \\$200, thanks\!" | diff --git a/docs-java/advance/cross-server/build-up/BungeeCord/build-up.md b/docs-java/advance/cross-server/build-up/BungeeCord/build-up.md index ebff3ecd4..cf0bd22de 100644 --- a/docs-java/advance/cross-server/build-up/BungeeCord/build-up.md +++ b/docs-java/advance/cross-server/build-up/BungeeCord/build-up.md @@ -49,7 +49,7 @@ servers: restricted: false ``` -照着把你的子服都写上去,就像这样 +照着把你的子服都写上去,就像这样 ```yaml servers: diff --git a/docs-java/advance/cross-server/build-up/BungeeCord/bungeecord.md b/docs-java/advance/cross-server/build-up/BungeeCord/bungeecord.md index 6c387bfeb..f0dddc674 100644 --- a/docs-java/advance/cross-server/build-up/BungeeCord/bungeecord.md +++ b/docs-java/advance/cross-server/build-up/BungeeCord/bungeecord.md @@ -8,7 +8,7 @@ sidebar_position: 1 此篇教程适用于 BungeeCord / waterfall -注意,BungeeCord 算是较为古老的核心(好比后端服务器中的 Spigot) +注意,BungeeCord 算是较为古老的核心(好比后端服务器中的 Spigot) 如果开高版本尽量选择 Waterfall 或 Velocity diff --git a/docs-java/advance/cross-server/build-up/BungeeCord/config.yml.md b/docs-java/advance/cross-server/build-up/BungeeCord/config.yml.md index c04172ab3..4d3be48cc 100644 --- a/docs-java/advance/cross-server/build-up/BungeeCord/config.yml.md +++ b/docs-java/advance/cross-server/build-up/BungeeCord/config.yml.md @@ -6,9 +6,9 @@ sidebar_position: 3 # config.yml ```yaml -# forgeMOD支持,如果你的服务器中有MOD服务器,请打开这个选项 +# forgeMOD支持,如果你的服务器中有MOD服务器,请打开这个选项 forge_support: false -# 玩家真实限制,它将限制整个服务器的玩家人数,-1为不限 +# 玩家真实限制,它将限制整个服务器的玩家人数,-1为不限 player_limit: -1 # BC服务器权限组 不建议用这东西而是使用bc版luckperms permissions: @@ -20,26 +20,26 @@ permissions: - bungeecord.command.end - bungeecord.command.ip - bungeecord.command.reload -# 当玩家在BC中无响应多长时间,BC才会将他踢出去,在这里是毫秒,一秒等于1000毫秒,30000=30秒 +# 当玩家在BC中无响应多长时间,BC才会将他踢出去,在这里是毫秒,一秒等于1000毫秒,30000=30秒 timeout: 30000 -# 正版验证,如果是盗版服请关闭,否则会调用API进行验证 +# 正版验证,如果是盗版服请关闭,否则会调用API进行验证 log_commands: false online_mode: true -# 这里是服务器禁止的指令,例如我填- help服务器就会禁用/help指令 +# 这里是服务器禁止的指令,例如我填- help服务器就会禁用/help指令 disabled_commands: - disabledcommandhere servers: lobby: - # 服务器标语 (不用设置,建议用插件而不是这玩意) + # 服务器标语 (不用设置,建议用插件而不是这玩意) motd: '&1Just another BungeeCord - Forced Host' # 服务器地址 address: localhost:25565 restricted: false -# 这是子服务器的列表,在下面我会讲解 +# 这是子服务器的列表,在下面我会讲解 listeners: - # 监听查询端口,端口不能和host项的相同。 + # 监听查询端口,端口不能和host项的相同。 - query_port: 25577 - # BC的标语,支持彩色(也不用设置) + # BC的标语,支持彩色(也不用设置) motd: '&1Another Bungee server' tab_list: GLOBAL_PING # 是否开启监听查询 @@ -48,26 +48,26 @@ listeners: forced_hosts: pvp.md-5.net: pvp ping_passthrough: false - # 优先服务器列表 玩家将优先加入靠上设置的子服,进不去会尝试下一个子服 + # 优先服务器列表 玩家将优先加入靠上设置的子服,进不去会尝试下一个子服 priorities: - lobby bind_local_address: true - # BC的IP地址,开启后访问它就能进入服务器 + # BC的IP地址,开启后访问它就能进入服务器 host: 0.0.0.0:25577 - # 服务器显示的最大人数,如要设置真实的人数请找到player_limit选项填写 + # 服务器显示的最大人数,如要设置真实的人数请找到player_limit选项填写 max_players: 1 tab_size: 60 force_default_server: false -# 一定要打开,否则会被拒绝 +# 一定要打开,否则会被拒绝 ip_forward: false -# BC op设置,这也是漏洞之一,待会修改 +# BC op设置,这也是漏洞之一,待会修改 network_compression_threshold: 256 groups: md_5: - admin -# 连接间隔,当玩家退出后多就能加入,在这里一秒等于1000,4000=4秒 +# 连接间隔,当玩家退出后多就能加入,在这里一秒等于1000,4000=4秒 connection_throttle: 4000 -# 机器码,请不要修改,修改之后就会duang的没用 +# 机器码,请不要修改,修改之后就会duang的没用 stats: c86020bc-ddf6-467e-84d9-90974afcf90e prevent_proxy_connections: false ``` diff --git a/docs-java/advance/cross-server/build-up/Velocity/build-up.md b/docs-java/advance/cross-server/build-up/Velocity/build-up.md index 18eee47e6..536684419 100644 --- a/docs-java/advance/cross-server/build-up/Velocity/build-up.md +++ b/docs-java/advance/cross-server/build-up/Velocity/build-up.md @@ -43,21 +43,21 @@ java -Xms1024M -Xmx1024M -jar 核心名字.jar [详细配置文件讲解](velocity.toml.md) ```toml -# velocity端的端口号,数字1000~65536随意 +# velocity端的端口号,数字1000~65536随意 bind = "0.0.0.0:25577" -# 正版验证,有1.19.1+的子服不建议开启此项 +# 正版验证,有1.19.1+的子服不建议开启此项 online-mode = false # 1.13+这里填modern 1.12-填bungeeguard player-info-forwarding-mode = "modern" # 是否应将服务器列表ping请求传递给后端服务器? # 可用选项: # - "disabled":不会进行任何传递。velocity.toml和server-icon.png将确定初始服务器列表ping响应。 -# - "mods":仅将后端服务器的mod列表传递到响应中。将使用具有mod列表的后端服务器的第一个服务器。如果无法联系后端服务器,则Velocity不会显示任何mod信息。 -# - "description":使用后端服务器的描述和mod列表。将使用响应的第一个服务器列表中的第一个服务器(或强制主机)进行描述和mod列表。 -# - "all":将后端服务器的响应用作代理响应。如果无法联系服务器,则使用Velocity配置。 -# 人话,motd插件在代理端用"disabled",否则用"all" +# - "mods":仅将后端服务器的mod列表传递到响应中。将使用具有mod列表的后端服务器的第一个服务器。如果无法联系后端服务器,则Velocity不会显示任何mod信息。 +# - "description":使用后端服务器的描述和mod列表。将使用响应的第一个服务器列表中的第一个服务器(或强制主机)进行描述和mod列表。 +# - "all":将后端服务器的响应用作代理响应。如果无法联系服务器,则使用Velocity配置。 +# 人话,motd插件在代理端用"disabled",否则用"all" ping-passthrough = "all" -# 子服名称和地址,名称不可包含”.” +# 子服名称和地址,名称不可包含”.” [servers] ## 登录服 login = "0.0.0.0:25501" @@ -78,24 +78,24 @@ try = [ ## 子服配置 -Velocity 支持将玩家信息(如 IP 地址、UUID 和皮肤)转发到你的服务器。Velocity 支持三种转发格式: +Velocity 支持将玩家信息(如 IP 地址、UUID 和皮肤)转发到你的服务器。Velocity 支持三种转发格式: -- **Velocity Modern 转发** (现代转发)是一种自定义的转发格式(modern 转发),它更安全。 -- **BungeeCord 转发**(也称为*传统转发*),它有更好的兼容性但安全性较低。 -- **BungeeGuard**,与传统 BungeeCord 转发相同,但包含了一个密钥。它比单独的 BungeeCord 转发更好,但不如 Velocitymodern 转发理想。 +- **Velocity Modern 转发** (现代转发)是一种自定义的转发格式(modern 转发),它更安全。 +- **BungeeCord 转发**(也称为*传统转发*),它有更好的兼容性但安全性较低。 +- **BungeeGuard**,与传统 BungeeCord 转发相同,但包含了一个密钥。它比单独的 BungeeCord 转发更好,但不如 Velocitymodern 转发理想。 -你只能选择这些转发格式中的一种。目前不可能“混合匹配”转发模式或同时使用所有转发格式。一般来说,如果你只支持使用 Minecraft 1.13 及更新版本的客户端,请使用 Velocity Modern 转发;否则,你必须使用 BungeeCord 转发。 +你只能选择这些转发格式中的一种。目前不可能“混合匹配”转发模式或同时使用所有转发格式。一般来说,如果你只支持使用 Minecraft 1.13 及更新版本的客户端,请使用 Velocity Modern 转发;否则,你必须使用 BungeeCord 转发。 -### 配置现代转发(Modern Forwarding) +### 配置现代转发(Modern Forwarding)
点击展开 -**`modern` 转发** 是 Velocity 的原生格式,以高效的二进制格式转发所有玩家信息,并采用 MAC 代码增加安全性,使非法服务器难以绕过你的 Velocity 代理。但它**仅支持 Minecraft 1.13 或更高版本**。 +**`modern` 转发** 是 Velocity 的原生格式,以高效的二进制格式转发所有玩家信息,并采用 MAC 代码增加安全性,使非法服务器难以绕过你的 Velocity 代理。但它**仅支持 Minecraft 1.13 或更高版本**。 #### 警告 -- `modern` 转发与 **Minecraft 1.13 以下版本** 和 **ProtocolSupport 插件** 不兼容。如果使用这些,你需要使用传统的 BungeeCord 兼容转发。 +- `modern` 转发与 **Minecraft 1.13 以下版本** 和 **ProtocolSupport 插件** 不兼容。如果使用这些,你需要使用传统的 BungeeCord 兼容转发。 #### 配置步骤 @@ -106,26 +106,26 @@ Velocity 支持将玩家信息(如 IP 地址、UUID 和皮肤)转发到你 - Paper **1.14 及以上版本** 以及 **1.13.1/1.13.2 版本 377 及以上版本** 原生支持 Velocity 现代转发。 -1. 在 `server.properties` 文件中禁用 `online-mode` 设置,以防止服务器自行验证玩家身份。 -2. 如果之前已启用 BungeeCord 转发,需在 `spigot.yml` 中将 `settings.bungeecord` 设置为 `false`。 +1. 在 `server.properties` 文件中禁用 `online-mode` 设置,以防止服务器自行验证玩家身份。 +2. 如果之前已启用 BungeeCord 转发,需在 `spigot.yml` 中将 `settings.bungeecord` 设置为 `false`。 3. 在 `config/paper-global.yml` 中: - 设置 `proxies.velocity.enabled` 为 true。 - 设置 `proxies.velocity.secret` 以匹配你的 `forwarding.secret` 文件中的密钥。 - 设置 `proxies.velocity.online-mode` 与你的 `velocity.toml` 中的 `online-mode` 一致。 -4. 编辑完成后,重新启动服务器。 +4. 编辑完成后,重新启动服务器。 -**注意**:如果你使用的是 Paper **1.18.2 或更低版本**,请在 `paper.yml` 文件中查找相关设置。 +**注意**:如果你使用的是 Paper **1.18.2 或更低版本**,请在 `paper.yml` 文件中查找相关设置。
点击展开-为Fabric/Forge配置现代转发 #### 为 Fabric 配置现代转发 -- 使用名为 **FabricProxy-Lite** 的 mod,可以在 Fabric 上使用修改过的服务器与 Velocity 现代转发。 +- 使用名为 **FabricProxy-Lite** 的 mod,可以在 Fabric 上使用修改过的服务器与 Velocity 现代转发。 #### 为 Forge 配置现代转发 -- 使用名为 **ProxyCompatibleForge** 的 mod,可以在 Forge **1.16.5 或更高版本** 的修改过的服务器上使用 Velocity 现代转发。 +- 使用名为 **ProxyCompatibleForge** 的 mod,可以在 Forge **1.16.5 或更高版本** 的修改过的服务器上使用 Velocity 现代转发。
@@ -138,16 +138,16 @@ Velocity 支持将玩家信息(如 IP 地址、UUID 和皮肤)转发到你 #### 警告 -- 传统转发 **本质上是不安全的**。如果必须使用,应了解如何正确保护你的服务器。 +- 传统转发 **本质上是不安全的**。如果必须使用,应了解如何正确保护你的服务器。 1. `legacy` 转发是 BungeeCord 启用 IP 转发时使用的玩家信息转发协议。 -2. 它广泛支持且兼容性强,但 **不安全**。 +2. 它广泛支持且兼容性强,但 **不安全**。 3. 在 `velocity.toml` 中将 `player-info-forwarding` 设置为 `legacy`。 4. 确保服务器能接受 Velocity 发送的转发玩家数据。 #### 增加安全性 -- 对于托管在共享主机上的代理,Velocity 可选地支持 **BungeeGuard**。 +- 对于托管在共享主机上的代理,Velocity 可选地支持 **BungeeGuard**。 - 将 `velocity.toml` 中的 `player-info-forwarding` 设置为 `bungeeguard`。 - 在 BungeeGuard 配置的令牌部分添加 `forwarding.secret` 文件中的值。 diff --git a/docs-java/advance/cross-server/build-up/Velocity/velocity.md b/docs-java/advance/cross-server/build-up/Velocity/velocity.md index 506238c3c..00b3dd2d3 100644 --- a/docs-java/advance/cross-server/build-up/Velocity/velocity.md +++ b/docs-java/advance/cross-server/build-up/Velocity/velocity.md @@ -12,13 +12,13 @@ sidebar_position: 2 ## 什么是 Velocity ? -velocity 可以说是目前最优秀的**Minecraft代理端**之一,由经验丰富的PaperMC团队研发,Velocity 拥有先进的转发方式和极高的安全性。与此同时,Velocity 也有优秀的性能表现 +velocity 可以说是目前最优秀的**Minecraft代理端**之一,由经验丰富的PaperMC团队研发,Velocity 拥有先进的转发方式和极高的安全性。与此同时,Velocity 也有优秀的性能表现 -使用 Velocity ,能让你的群组服务器锦上添花 +使用 Velocity ,能让你的群组服务器锦上添花 -如果你开的是mod群组服务器,那么强烈推荐使用 Velocity ,因为他对 forge 和 fabric 服务端做了特别的适配 +如果你开的是mod群组服务器,那么强烈推荐使用 Velocity ,因为他对 forge 和 fabric 服务端做了特别的适配 -当然,Mod 服务端原生不支持 Velocity,需要安装让 Mod 端支持 Velocity 的 Mod +当然,Mod 服务端原生不支持 Velocity,需要安装让 Mod 端支持 Velocity 的 Mod - Fabric 端支持 Velocity Mod:[CrossTitch](https://www.curseforge.com/minecraft/mc-mods/crossstitch) @@ -30,25 +30,25 @@ velocity 可以说是目前最优秀的**Minecraft代理端**之一,由经验 **1.Q:velocity 支持bungeecord和waterfall插件吗?** -A: 不支持,因为如果我们支持 BungeeCord 插件的话,那么很多velocity的功能就无从实现了 +A: 不支持,因为如果我们支持 BungeeCord 插件的话,那么很多velocity的功能就无从实现了 -但是有些插件可能同时也支持 Velocity 或者有 Velocity 的版本。并且,有些 BungeeCord 插件仅要求在子服务器安装,那么这些插件理论上也是可以在 Velocity 为基础的代理服务器上使用的 +但是有些插件可能同时也支持 Velocity 或者有 Velocity 的版本。并且,有些 BungeeCord 插件仅要求在子服务器安装,那么这些插件理论上也是可以在 Velocity 为基础的代理服务器上使用的 **2.Q:我应当使用哪个版本的 JAVA 来运行 Velocity** -推荐你使用 JAVA 17 以及以上版本的 JAVA ,如 JAVA 21 +推荐你使用 JAVA 17 以及以上版本的 JAVA ,如 JAVA 21 **3.Q:为什么我的玩家连不进服务器?** *这里是一些可能的原因* -首先,你需要检查: +首先,你需要检查: -- 你有没有把子服务器打开,控制台有没有未响应? +- 你有没有把子服务器打开,控制台有没有未响应? - 代理端打开没? -- 是否将代理端和子服务器链接,也就是有没有在代理端设置子服务器 IP 和端口以及子服务器有没有启用 Velocity 功能 +- 是否将代理端和子服务器链接,也就是有没有在代理端设置子服务器 IP 和端口以及子服务器有没有启用 Velocity 功能 -此外,这是一些常见的代理端报错: +此外,这是一些常见的代理端报错: ``` Can't connect to server lobby: If you wish to use IP forwarding, please enable it in your Bungeecord config as well! @@ -60,13 +60,13 @@ Can't connect to server lobby: Your server did not send a forwarding request t 这些报错是你不正确配置代理端引起的 [点此前往了解velocity配置](velocity.toml.md) -此外,如果你同时启用了 BungeeCord 模式,也会报出以上错误,如果你使用 Velocity ,那么请务必关闭 BungeeCord 模式 +此外,如果你同时启用了 BungeeCord 模式,也会报出以上错误,如果你使用 Velocity ,那么请务必关闭 BungeeCord 模式 ``` Can't connect to server lobby: This server requires you to connect with Velocity. ``` -这条报错出现的原因是你在子服务器上启用了 Velocity ,但是却没有在 Velocity 上添加此子服务器,请检查你的 Velocity 配置 +这条报错出现的原因是你在子服务器上启用了 Velocity ,但是却没有在 Velocity 上添加此子服务器,请检查你的 Velocity 配置 **4.Q:为什么会出现 Invalid payload REGISTER** @@ -77,30 +77,30 @@ Can't connect to server lobby: This server requires you to connect with Veloci [connected player] player1 (/localhost:58943): kicked from server hub: Invalid payload REGISTER! ``` -这种情况一般发生在插件服群组中。当有些人使用 Mod 客户端进入服务器时,有可能出现这种问题。 +这种情况一般发生在插件服群组中。当有些人使用 Mod 客户端进入服务器时,有可能出现这种问题。 -如果你使用 Paper (或者其他 Fork 版本) 1.12.2或者以上的服务端,你可以在启动脚本中添加 flag `-Dpaper.disableChannelLimit=true` 来解决这个问题 +如果你使用 Paper (或者其他 Fork 版本) 1.12.2或者以上的服务端,你可以在启动脚本中添加 flag `-Dpaper.disableChannelLimit=true` 来解决这个问题 ~~虽然没什么人遇到这个问题就是了~~ **5.Q:在加入到 Froge 服务器时 readTimeout** -一句话, Mod 太多太大导致连接时间延长了。你可以减少服务器的 Mod 数量或者在 Velocity 配置文件中设置 `read-timeout` 的值,同时在你的 Forge 子服的启动参数中添加 `-Dfml.readTimeout` 参数来提高阈值。比如,你想设置你的 readTimeout 时间到 120 秒 +一句话, Mod 太多太大导致连接时间延长了。你可以减少服务器的 Mod 数量或者在 Velocity 配置文件中设置 `read-timeout` 的值,同时在你的 Forge 子服的启动参数中添加 `-Dfml.readTimeout` 参数来提高阈值。比如,你想设置你的 readTimeout 时间到 120 秒 那么你可以设置: `read-timeout = 120000` (单位:毫秒) `-Dfml.readTimeout=120` (单位:秒) -这样,将服务器重启后,readTimeout 时间就拉长了,下次就可以正常进入服务器了 +这样,将服务器重启后,readTimeout 时间就拉长了,下次就可以正常进入服务器了 **6.Q:我可以每个子服都使用不同的转发模式吗?** -不行,至少现在不行,你只能在 `velocity.toml` 中设置一个单一的转发模式 +不行,至少现在不行,你只能在 `velocity.toml` 中设置一个单一的转发模式 -关于各个不同的转发模式,可以看到这里 [搭建](./build-up.md#子服配置) +关于各个不同的转发模式,可以看到这里 [搭建](./build-up.md#子服配置) 有大佬提出了关于这个问题的 [PR](https://github.com/PaperMC/Velocity/pull/1357) -可以坐等合并了,合并之后就可以给各个不同的子服配置不同的转发模式啦 +可以坐等合并了,合并之后就可以给各个不同的子服配置不同的转发模式啦 diff --git a/docs-java/advance/cross-server/build-up/Velocity/velocity.toml.md b/docs-java/advance/cross-server/build-up/Velocity/velocity.toml.md index 04e232c25..0122c522a 100644 --- a/docs-java/advance/cross-server/build-up/Velocity/velocity.toml.md +++ b/docs-java/advance/cross-server/build-up/Velocity/velocity.toml.md @@ -8,63 +8,63 @@ sidebar_position: 3 # 配置版本。不要更改这个 config-version = "2.7" -# 代理应该绑定到哪个端口?默认情况下,我们将绑定到25577端口的所有地址。 +# 代理应该绑定到哪个端口?默认情况下,我们将绑定到25577端口的所有地址。 bind = "0.0.0.0:25577" -# 应该显示什么MOTD(服务器消息)?当玩家将你的服务器添加到他们的服务器列表时,会显示这个。只接受MiniMessage格式。 +# 应该显示什么MOTD(服务器消息)?当玩家将你的服务器添加到他们的服务器列表时,会显示这个。只接受MiniMessage格式。 motd = "<#09add3>一个Velocity服务器" -# 我们应该显示多少最大玩家数?(Velocity不支持在线玩家数的限制。) +# 我们应该显示多少最大玩家数?(Velocity不支持在线玩家数的限制。) show-max-players = 500 -# 我们应该使用Mojang对玩家进行身份验证吗 (译者注: 正版验证)? 默认情况下,这是开启的。 +# 我们应该使用Mojang对玩家进行身份验证吗 (译者注: 正版验证)? 默认情况下,这是开启的。 online-mode = true -# 代理是否应该强制执行新的公钥安全标准?默认情况下,这是开启的。 +# 代理是否应该强制执行新的公钥安全标准?默认情况下,这是开启的。 force-key-authentication = true -# 如果从这个代理发送的客户端的ISP/AS与Mojang的认证服务器的不同,玩家将被踢出。这禁止了一些VPN和代理连接,但这是一种较弱的保护形式。 +# 如果从这个代理发送的客户端的ISP/AS与Mojang的认证服务器的不同,玩家将被踢出。这禁止了一些VPN和代理连接,但这是一种较弱的保护形式。 prevent-client-proxy-connections = false # 我们应该将IP地址和其他数据转发到后端服务器吗? # 可用选项: -# - "none": 不会进行任何转发。所有玩家看起来都是从代理连接的,并且将拥有离线模式的UUID。 -# - "legacy": 以BungeeCord兼容格式转发玩家IP和UUID。如果你运行的是Minecraft 1.12或更低版本的服务器,请使用此选项。 -# - "bungeeguard": 以BungeeGuard插件支持的格式转发玩家IP和UUID。如果你运行的是Minecraft 1.12或更低版本的服务器,并且无法实现网络级防火墙(在共享主机上),请使用此选项。 -# - "modern": 使用Velocity的原生转发,在登录过程中转发玩家IP和UUID。仅适用于Minecraft 1.13或更高版本。 +# - "none": 不会进行任何转发。所有玩家看起来都是从代理连接的,并且将拥有离线模式的UUID。 +# - "legacy": 以BungeeCord兼容格式转发玩家IP和UUID。如果你运行的是Minecraft 1.12或更低版本的服务器,请使用此选项。 +# - "bungeeguard": 以BungeeGuard插件支持的格式转发玩家IP和UUID。如果你运行的是Minecraft 1.12或更低版本的服务器,并且无法实现网络级防火墙(在共享主机上),请使用此选项。 +# - "modern": 使用Velocity的原生转发,在登录过程中转发玩家IP和UUID。仅适用于Minecraft 1.13或更高版本。 player-info-forwarding-mode = "NONE" -# 如果你使用modern 或BungeeGuard IP转发,请在此处配置包含唯一密钥的文件。 -# 文件应该是UTF-8编码的,并且不为空。 +# 如果你使用modern 或BungeeGuard IP转发,请在此处配置包含唯一密钥的文件。 +# 文件应该是UTF-8编码的,并且不为空。 forwarding-secret-file = "forwarding.secret" -# 宣布你的服务器是否支持Forge。如果你运行一个模组服务器,我们建议开启这个。 +# 宣布你的服务器是否支持Forge。如果你运行一个模组服务器,我们建议开启这个。 # -# 如果你的网络持续运行一个模组包,考虑使用ping-passthrough = "mods"代替,以便在服务器列表中更好地显示。 +# 如果你的网络持续运行一个模组包,考虑使用ping-passthrough = "mods"代替,以便在服务器列表中更好地显示。 announce-forge = false -# 如果启用(默认为false),并且代理处于在线模式,Velocity将踢出任何已在线的玩家,如果尝试进行重复连接。 +# 如果启用(默认为false),并且代理处于在线模式,Velocity将踢出任何已在线的玩家,如果尝试进行重复连接。 kick-existing-players = false # Velocity是否应该将服务器列表ping请求传递给后端服务器? # 可用选项: # - "disabled": 不会进行任何传递。velocity.toml和server-icon.png将决定初始服务器列表ping响应。 # - "mods": 只将后端服务器的模组列表传递到响应中。 -# 使用你尝试列表中的第一个服务器(或强制主机)的模组列表。如果无法联系到后端服务器,Velocity将不会显示任何模组信息。 -# - "description": 使用来自后端服务器的描述和模组列表。尝试列表中(或强制主机)响应的第一个服务器将被用于描述和模组列表。 -# - "all": 使用后端服务器的响应作为代理响应。如果没有服务器可以联系,将使用Velocity配置。 +# 使用你尝试列表中的第一个服务器(或强制主机)的模组列表。如果无法联系到后端服务器,Velocity将不会显示任何模组信息。 +# - "description": 使用来自后端服务器的描述和模组列表。尝试列表中(或强制主机)响应的第一个服务器将被用于描述和模组列表。 +# - "all": 使用后端服务器的响应作为代理响应。如果没有服务器可以联系,将使用Velocity配置。 ping-passthrough = "DISABLED" -# 如果未启用(默认为true),玩家IP地址将被替换为在日志中 +# 如果未启用(默认为true),玩家IP地址将被替换为在日志中 enable-player-address-logging = true [servers] -# 在此处配置你的服务器。每个键代表服务器的名称,值代表要连接到的服务器的IP地址。 +# 在此处配置你的服务器。每个键代表服务器的名称,值代表要连接到的服务器的IP地址。 lobby = "127.0.0.1:30066" factions = "127.0.0.1:30067" minigames = "127.0.0.1:30068" -# 当玩家登录或从服务器被踢出时,我们应该尝试让他进入哪个服务器? +# 当玩家登录或从服务器被踢出时,我们应该尝试让他进入哪个服务器? try = [ "lobby" ] @@ -82,13 +82,13 @@ try = [ ] [advanced] -# Minecraft数据包必须有多大,我们才会压缩它。将其设置为零将压缩所有数据包,将其设置为-1将完全禁用压缩。 +# Minecraft数据包必须有多大,我们才会压缩它。将其设置为零将压缩所有数据包,将其设置为-1将完全禁用压缩。 compression-threshold = 256 -# 应该进行多少压缩(从0-9)。默认是-1,使用默认级别6。 +# 应该进行多少压缩(从0-9)。默认是-1,使用默认级别6。 compression-level = -1 -# 客户端在上次连接后允许多快连接(以毫秒为单位)?默认是三秒。通过将其设置为0来禁用此功能。 +# 客户端在上次连接后允许多快连接(以毫秒为单位)?默认是三秒。通过将其设置为0来禁用此功能。 login-ratelimit = 3000 # 在此处指定连接超时的自定义超时时间。默认是五秒。 @@ -97,7 +97,7 @@ connection-timeout = 5000 # 在此处指定连接的读取超时时间。默认是30秒。 read-timeout = 30000 -# 启用与HAProxy的PROXY协议的兼容性。如果你不知道这是干什么用的,那么就不要启用它。 +# 启用与HAProxy的PROXY协议的兼容性。如果你不知道这是干什么用的,那么就不要启用它。 haproxy-protocol = false # 在代理上启用TCP快速打开支持。需要代理在Linux上运行。 @@ -109,7 +109,7 @@ bungee-plugin-message-channel = true # 显示来自客户端的ping请求到代理。 show-ping-requests = false -# 默认情况下,Velocity将尝试优雅地处理用户意外失去与服务器的连接而没有明确的断开消息的情况,通过尝试回退用户,除了读取超时的情况。BungeeCord将断开用户连接。你可以禁用此设置以使用BungeeCord的行为。 +# 默认情况下,Velocity将尝试优雅地处理用户意外失去与服务器的连接而没有明确的断开消息的情况,通过尝试回退用户,除了读取超时的情况。BungeeCord将断开用户连接。你可以禁用此设置以使用BungeeCord的行为。 failover-on-unexpected-server-disconnect = true # 向1.13+客户端声明代理命令。 @@ -118,17 +118,17 @@ announce-proxy-commands = true # 启用命令的日志记录 log-command-executions = false -# 启用记录玩家连接到代理,切换服务器以及从代理断开连接的日志。 +# 启用记录玩家连接到代理,切换服务器以及从代理断开连接的日志。 log-player-connections = true -# 允许通过Transfer数据包(Minecraft 1.20.5)从其他主机传输的玩家被接收。 +# 允许通过Transfer数据包(Minecraft 1.20.5)从其他主机传输的玩家被接收。 accepts-transfers = false [query] # 是否启用对GameSpy 4查询响应的响应。 enabled = false -# 如果查询已启用,查询协议应该在哪个端口上监听? +# 如果查询已启用,查询协议应该在哪个端口上监听? port = 25577 # 这是向查询服务报告的名称。 diff --git a/docs-java/advance/cross-server/command/BungeeCord.md b/docs-java/advance/cross-server/command/BungeeCord.md index d78115a18..cb3af6c37 100644 --- a/docs-java/advance/cross-server/command/BungeeCord.md +++ b/docs-java/advance/cross-server/command/BungeeCord.md @@ -7,14 +7,14 @@ sidebar_position: 1 | 命令 | 权限 | 描述 | | --- | --- |--- | -| `/alert` | `bungeecord.command.alert` | 发送一条整个群组的公告,会显示在所有的子服务器内。颜色符是&,使用&h 可以清除所有默认的格式 | -| `/alertraw ` | `bungeecord.command.alert` | 和上一个命令一样,但是仅允许使用json格式的内容 | +| `/alert` | `bungeecord.command.alert` | 发送一条整个群组的公告,会显示在所有的子服务器内。颜色符是&,使用&h 可以清除所有默认的格式 | +| `/alertraw ` | `bungeecord.command.alert` | 和上一个命令一样,但是仅允许使用json格式的内容 | | `/bungee` | N/A | 显示BungeeCord的版本信息 | -| `/end` | `bungeecord.command.end` | 关闭BungeeCord代理端,类似于Bukkit服务器下的/stop | +| `/end` | `bungeecord.command.end` | 关闭BungeeCord代理端,类似于Bukkit服务器下的/stop | | `/find` | `bungeecord.command.find` | 确认指定玩家是否在线和他现在在哪个子服务器内 | | `/glist` | `bungeecord.command.list` | 显示所有的子服务器和每个服务器当前在线人数 | -| `/greload` | `bungeecord.command.reload` | 重载BungeeCord代理端的配置文件,将重新载入子服务器列表、监听选项和一些配置项目,但是不会重载BC端插件和权限 | +| `/greload` | `bungeecord.command.reload` | 重载BungeeCord代理端的配置文件,将重新载入子服务器列表、监听选项和一些配置项目,但是不会重载BC端插件和权限 | | `/ip` | `bungeecord.command.ip` | 查看指定玩家的真实连接IP | | `/perms` | `N/A` | 显示你拥有的权限和所在权限组 | -| `/send` | `bungeecord.command.send` | 将指定玩家移动到目标子服务器,使用“current”将会把你所在服务器的所有玩家移动到目标服务器,使用“all”将会把整个群组下的玩家移动到目标服务器。子服务器名就是你在“config.yml”的“servers”下面设置的服务器名 | -| `/server` | `bungeecord.command.server` | 送到指定子服务器,这个权限默认是高于Bukkit插件权限的,也就是说玩家可以在未登录之前使用此命令跳转到另外一个服务器,如果另外的服务器没登陆插件,那么通过此方法就可以使用到OP账号 | +| `/send` | `bungeecord.command.send` | 将指定玩家移动到目标子服务器,使用“current”将会把你所在服务器的所有玩家移动到目标服务器,使用“all”将会把整个群组下的玩家移动到目标服务器。子服务器名就是你在“config.yml”的“servers”下面设置的服务器名 | +| `/server` | `bungeecord.command.server` | 送到指定子服务器,这个权限默认是高于Bukkit插件权限的,也就是说玩家可以在未登录之前使用此命令跳转到另外一个服务器,如果另外的服务器没登陆插件,那么通过此方法就可以使用到OP账号 | diff --git a/docs-java/advance/cross-server/command/Velocity.md b/docs-java/advance/cross-server/command/Velocity.md index 0a5a614b2..4698cb6d0 100644 --- a/docs-java/advance/cross-server/command/Velocity.md +++ b/docs-java/advance/cross-server/command/Velocity.md @@ -5,17 +5,17 @@ sidebar_position: 2 # 命令 -Velocity 默认在代理的核心中包含了一些命令,这些命令是基于它们对大多数用户所需的。如果你需要更多命令,你可以安装插件来添加。 +Velocity 默认在代理的核心中包含了一些命令,这些命令是基于它们对大多数用户所需的。如果你需要更多命令,你可以安装插件来添加。 | 命令 | 权限 | 描述 | |-------------------------------------------|--------------------------------------|--------------------------------------------------------------| -| `/velocity` | N/A | 包含许多子命令,用于管理代理。 | -| `/velocity plugins` | `velocity.command.plugins` | 可以使用此命令查看代理上当前激活的所有插件,包括名称、作者和版本。 | -| `/velocity version` | `velocity.command.info` | (默认所有用户拥有),可以查看代理上运行的 Velocity 版本。 | +| `/velocity` | N/A | 包含许多子命令,用于管理代理。 | +| `/velocity plugins` | `velocity.command.plugins` | 可以使用此命令查看代理上当前激活的所有插件,包括名称、作者和版本。 | +| `/velocity version` | `velocity.command.info` | (默认所有用户拥有),可以查看代理上运行的 Velocity 版本。 | | `/velocity reload` | `velocity.command.reload` | 代理将从磁盘上的 `velocity.toml` 读取并重新配置自己。 | | `/velocity dump` | `velocity.command.plugins` | 可以使用此命令获取代理的匿名详细信息转储。 | -| `/velocity heap` | `velocity.command.heap` | **警告**:此命令生成的堆转储包含有关你的 Velocity 实例的详细信息,可能相当敏感。 | -| `/server` | `velocity.command.server` | (默认所有用户拥有),玩家可以使用此命令查看并切换到另一个服务器。 | -| `/shutdown` | 无(从控制台执行) | 此命令将优雅地关闭 Velocity 代理,所有玩家将从代理断开连接。 | -| `/glist` | `velocity.command.glist` | 如果用户具有此权限(默认无人具有),玩家可以使用此命令查看当前在代理上的玩家数量。 | -| `/send` | `velocity.command.send` | 他们可以将其他玩家(或代理上的所有玩家)发送到另一个服务器。 | \ No newline at end of file +| `/velocity heap` | `velocity.command.heap` | **警告**:此命令生成的堆转储包含有关你的 Velocity 实例的详细信息,可能相当敏感。 | +| `/server` | `velocity.command.server` | (默认所有用户拥有),玩家可以使用此命令查看并切换到另一个服务器。 | +| `/shutdown` | 无(从控制台执行) | 此命令将优雅地关闭 Velocity 代理,所有玩家将从代理断开连接。 | +| `/glist` | `velocity.command.glist` | 如果用户具有此权限(默认无人具有),玩家可以使用此命令查看当前在代理上的玩家数量。 | +| `/send` | `velocity.command.send` | 他们可以将其他玩家(或代理上的所有玩家)发送到另一个服务器。 | \ No newline at end of file diff --git a/docs-java/advance/cross-server/cross-server.md b/docs-java/advance/cross-server/cross-server.md index fced50044..374c1e4d6 100644 --- a/docs-java/advance/cross-server/cross-server.md +++ b/docs-java/advance/cross-server/cross-server.md @@ -6,50 +6,50 @@ sidebar_position: 2 # 跨服端 -简单的来说就是将多个服务器连成一个整体(比如你经常看到的某些生存一区,生存二区),玩家可以自由选择到哪个服务器,而不用退出重连, +简单的来说就是将多个服务器连成一个整体(比如你经常看到的某些生存一区,生存二区),玩家可以自由选择到哪个服务器,而不用退出重连, -不同服务器之间可以通过跨服同步(比如 HuskSync )和数据库同步数据,平时常听到的群组服也是一个意思. 跨服通常的实现方法是: +不同服务器之间可以通过跨服同步(比如 HuskSync )和数据库同步数据,平时常听到的群组服也是一个意思. 跨服通常的实现方法是: -一个反向代理端(如 Velocity / BungeeCord )和多个子服务器(如 Paper / Purpur / Leaf 等). 玩家只需要连接到反向代理端即可让反向代理端和子服务器联系,最后把玩家送到对应的服务器. +一个反向代理端(如 Velocity / BungeeCord )和多个子服务器(如 Paper / Purpur / Leaf 等). 玩家只需要连接到反向代理端即可让反向代理端和子服务器联系,最后把玩家送到对应的服务器. # 原理讲解 -假设你现在有三个服务器,分别为登录服,生存服和资源服,三个服务器都能正常进入和游玩, +假设你现在有三个服务器,分别为登录服,生存服和资源服,三个服务器都能正常进入和游玩, -现在你想建设一个群组服把这三个服务器连接起来,那么,你的服务器结构就会是这样 +现在你想建设一个群组服把这三个服务器连接起来,那么,你的服务器结构就会是这样 ![](_images/灵魂画师教开群组服.png) :::info -BungeeCord / Velocity 端(或他们的 Fork )在这里我们称为`跨服端`(或者称为上游服务器) +BungeeCord / Velocity 端(或他们的 Fork )在这里我们称为`跨服端`(或者称为上游服务器) -这三个服务器都称为 `子服` 图中为三个子服,子服没有先后之分(或者称为下游服务器) +这三个服务器都称为 `子服` 图中为三个子服,子服没有先后之分(或者称为下游服务器) ::: -> 如果你的群组服搭建完成,那么正常流程是: +> 如果你的群组服搭建完成,那么正常流程是: > -> > 玩家通过客户端连接到跨服端,接着由跨服端送至各个子服,玩家可以通过一些方式切换自己所在的子服,感觉上就像是切换维度,玩家甚至意识不到自己换过服 +> > 玩家通过客户端连接到跨服端,接着由跨服端送至各个子服,玩家可以通过一些方式切换自己所在的子服,感觉上就像是切换维度,玩家甚至意识不到自己换过服 # 为什么需要代理端? -1. Minecraft 是个单核心游戏,玩家数量在超过 50-100 后几乎任何核心都无法保证完全流畅( Folia 除外),而使用多个服务器则可以充分利用多核心优势,大服务器必备; +1. Minecraft 是个单核心游戏,玩家数量在超过 50-100 后几乎任何核心都无法保证完全流畅( Folia 除外),而使用多个服务器则可以充分利用多核心优势,大服务器必备; -2. 对多个服务器,玩家需要退出重新进入,且数据不能共享. 仅仅只是开两个服务器无法产生有效交互. 所以需要跨服端对服务器进行切换和交互的完善; +2. 对多个服务器,玩家需要退出重新进入,且数据不能共享. 仅仅只是开两个服务器无法产生有效交互. 所以需要跨服端对服务器进行切换和交互的完善; -3. 对单个服务器,在内存有一点点富裕的情况下(通常不到 1GB ),仍推荐使用代理端,服务端对于反假人攻击的性能不如代理端,如果你被攻击了,更换成代理端再说; +3. 对单个服务器,在内存有一点点富裕的情况下(通常不到 1GB ),仍推荐使用代理端,服务端对于反假人攻击的性能不如代理端,如果你被攻击了,更换成代理端再说; -4. 有些插件是代理端才能安装的,而在 Bukkit 系下可能不稳定(如[ MultiLogin ](https://github.com/CaaMoe/MultiLogin)). +4. 有些插件是代理端才能安装的,而在 Bukkit 系下可能不稳定(如[ MultiLogin ](https://github.com/CaaMoe/MultiLogin)). # 推荐用什么? -**推荐使用 Velocity**,除非你的版本不适合 Velocity 的现代转发 +**推荐使用 Velocity**,除非你的版本不适合 Velocity 的现代转发 ## 安装数据库 -你都跨服了,估计会有多端数据同步的需求吧? +你都跨服了,估计会有多端数据同步的需求吧? 看 [数据库相关](https://yizhan.wiki/NitWikit/database) -一般需要安装两个数据库,MySQL 和 Redis,MySQL 用于存储重要信息,比如账号密码,经济,权限 Redis 用于快速跨服同步 +一般需要安装两个数据库,MySQL 和 Redis,MySQL 用于存储重要信息,比如账号密码,经济,权限 Redis 用于快速跨服同步 diff --git a/docs-java/advance/cross-server/hide-the-real-IP.md b/docs-java/advance/cross-server/hide-the-real-IP.md index a944207b6..4e2b59744 100644 --- a/docs-java/advance/cross-server/hide-the-real-IP.md +++ b/docs-java/advance/cross-server/hide-the-real-IP.md @@ -11,9 +11,9 @@ sidebar_position: 7 + 注意不是所有 CDN 都支持四层转发 购买前请询问客服时候支持 -+ 请自行寻找服务商,记得买国内节点(写着需要备案 MC其实不需要的) ++ 请自行寻找服务商,记得买国内节点(写着需要备案 MC其实不需要的) -### 配置 CDN 四层转发 (以cdnfly系统为例) +### 配置 CDN 四层转发 (以cdnfly系统为例) + ![1.png](https://img2.imgtp.com/2024/05/20/ZNjg7mkL.png) + ![2.png](https://img2.imgtp.com/2024/05/20/XRtFbjwE.png) diff --git a/docs-java/advance/cross-server/join-server.md b/docs-java/advance/cross-server/join-server.md index cab455e06..0994a41c0 100644 --- a/docs-java/advance/cross-server/join-server.md +++ b/docs-java/advance/cross-server/join-server.md @@ -5,7 +5,7 @@ sidebar_position: 3 # 加入服务器 -在客户端点击加入服务器,输入你的跨服端的地址,连接即可。 +在客户端点击加入服务器,输入你的跨服端的地址,连接即可。 # 连接到子服 @@ -19,7 +19,7 @@ sidebar_position: 3 :::warning -此命令只能由玩家自己在聊天框里敲命令执行,插件不能让玩家执行此命令! +此命令只能由玩家自己在聊天框里敲命令执行,插件不能让玩家执行此命令! **因为这条命令压根没有被注册到子服** @@ -37,7 +37,7 @@ https://wiki.citizensnpcs.co/NPC_Commands#Bungee ### Adyeshach -ady 没有跨服动作,你可以导入其他插件的跨服动作来使用 +ady 没有跨服动作,你可以导入其他插件的跨服动作来使用 如安装 Invero 插件后: diff --git a/docs-java/advance/cross-server/plugin/BC&WF.md b/docs-java/advance/cross-server/plugin/BC&WF.md index 711355898..a0ced4540 100644 --- a/docs-java/advance/cross-server/plugin/BC&WF.md +++ b/docs-java/advance/cross-server/plugin/BC&WF.md @@ -27,13 +27,13 @@ sidebar_position: 1 ::: -这是 BungeeCord 版本的 AuthMe 。如果你的登录服使用 AuthMe 登录,请务必在 BungeeCord 上安装此插件,以增加登录系统的安全性和完整性,这可以为你避免一些不必要的麻烦 +这是 BungeeCord 版本的 AuthMe 。如果你的登录服使用 AuthMe 登录,请务必在 BungeeCord 上安装此插件,以增加登录系统的安全性和完整性,这可以为你避免一些不必要的麻烦 -如果你不安装此插件,在玩家登录时很可能乘此跳到其他子服务器来跳过登录,以此获取管理员账号来炸服 +如果你不安装此插件,在玩家登录时很可能乘此跳到其他子服务器来跳过登录,以此获取管理员账号来炸服 # 可安装在跨服端或子服 -这一分类中的插件有单端版和跨服端版,你可以删除单端版使用跨服端版。 +这一分类中的插件有单端版和跨服端版,你可以删除单端版使用跨服端版。 ## MiniMOTD @@ -67,7 +67,7 @@ sidebar_position: 1 比如 %viaversion_player_protocol_version% 来查看玩家客户端版本 -不利于任何反作弊的运行,因为后端服务器中的反作弊将认为玩家均来自于服务版本,这会导致**大量的误判**。 +不利于任何反作弊的运行,因为后端服务器中的反作弊将认为玩家均来自于服务版本,这会导致**大量的误判**。 ::: @@ -100,7 +100,7 @@ sidebar_position: 1 # 装在跨服端或+子服端 -这类插件可以只装在跨服端,但同时在子服安装可以有更多的功能。 +这类插件可以只装在跨服端,但同时在子服安装可以有更多的功能。 ## PlayerBalancer @@ -114,7 +114,7 @@ sidebar_position: 1 ::: -可以用来设置多个子大厅,设置主大厅,并按照你配置的方式发送玩家到子服。 +可以用来设置多个子大厅,设置主大厅,并按照你配置的方式发送玩家到子服。 ## ServerUtils @@ -146,8 +146,8 @@ sidebar_position: 1 ::: -PAPIProxyBridge 是安装在后端和代理服务器上的库桥插件,它允许代理端插件使用 PlaceholderAPI 占位符设置文本格式 +PAPIProxyBridge 是安装在后端和代理服务器上的库桥插件,它允许代理端插件使用 PlaceholderAPI 占位符设置文本格式 -在 Spigot (1.16.5+) 上安装最新版本的插件以及 [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) 插件,或在 Fabric (1.19.3+) 服务器上安装 [PlaceholderAPI mod](https://placeholders.pb4.eu/),然后在 BungeeCord 或 Velocity 代理服务器上安装该插件 +在 Spigot (1.16.5+) 上安装最新版本的插件以及 [PlaceholderAPI](https://www.spigotmc.org/resources/placeholderapi.6245/) 插件,或在 Fabric (1.19.3+) 服务器上安装 [PlaceholderAPI mod](https://placeholders.pb4.eu/),然后在 BungeeCord 或 Velocity 代理服务器上安装该插件 -请注意,此插件不能替代 PlaceholderAPI。你仍然需要在 Spigot/Fabric 服务器上安装 PlaceholderAPI +请注意,此插件不能替代 PlaceholderAPI。你仍然需要在 Spigot/Fabric 服务器上安装 PlaceholderAPI diff --git a/docs-java/advance/cross-server/plugin/plugin.md b/docs-java/advance/cross-server/plugin/plugin.md index 167561651..942706e35 100644 --- a/docs-java/advance/cross-server/plugin/plugin.md +++ b/docs-java/advance/cross-server/plugin/plugin.md @@ -6,8 +6,8 @@ sidebar_position: 4 # 插件 -和后端服务器一样,反代核心也可以安装一些插件,但他们和后端使用的插件往往不能互相兼容,在安装时请查看插件是否支持对应的反代核心。 +和后端服务器一样,反代核心也可以安装一些插件,但他们和后端使用的插件往往不能互相兼容,在安装时请查看插件是否支持对应的反代核心。 -一般说来,反代核心的插件相对功能性会偏向于网络协议、验证、MOTD 等而非后端多种多样的表现方式, +一般说来,反代核心的插件相对功能性会偏向于网络协议、验证、MOTD 等而非后端多种多样的表现方式, -但是,网络协议类的插件安装在反向代理将会有非常明显的提升,如反假人、FastMOTD 等,这是因为反向代理在网络方面高度优化。 \ No newline at end of file +但是,网络协议类的插件安装在反向代理将会有非常明显的提升,如反假人、FastMOTD 等,这是因为反向代理在网络方面高度优化。 \ No newline at end of file diff --git a/docs-java/advance/cross-server/plugin/velocity.md b/docs-java/advance/cross-server/plugin/velocity.md index d58b6efee..4d3abdad3 100644 --- a/docs-java/advance/cross-server/plugin/velocity.md +++ b/docs-java/advance/cross-server/plugin/velocity.md @@ -41,9 +41,9 @@ sidebar_position: 2 ::: -这是 Velocity 版本的 AuthMe 。如果你的登录服使用 AuthMe 登录,请务必在 Velocity 上安装此插件,以增加登录系统的安全性和完整性,这可以为你避免一些不必要的麻烦 +这是 Velocity 版本的 AuthMe 。如果你的登录服使用 AuthMe 登录,请务必在 Velocity 上安装此插件,以增加登录系统的安全性和完整性,这可以为你避免一些不必要的麻烦 -如果你不安装此插件,在玩家登录时很可能乘此跳到其他子服务器来跳过登录,以此获取管理员账号来炸服 +如果你不安装此插件,在玩家登录时很可能乘此跳到其他子服务器来跳过登录,以此获取管理员账号来炸服 ## HuskChat @@ -59,7 +59,7 @@ sidebar_position: 2 很轻量、简单的跨服聊天插件 -基本上该有的功能都有,但是无法做到与聊天信息互动等 Trchat 能够做到的功能。他只需要在 Velocity 端安装就能生效,适合追求精简清爽 ~~(其实就是懒)~~ 的服主使用 +基本上该有的功能都有,但是无法做到与聊天信息互动等 Trchat 能够做到的功能。他只需要在 Velocity 端安装就能生效,适合追求精简清爽 ~~(其实就是懒)~~ 的服主使用 :::warning @@ -69,9 +69,9 @@ sidebar_position: 2 如果你的服务器安装了 QuickShop 等需要输入聊天消息来录入参数的插件 -那么你安装 HuskChat 会让这些插件失效,这是因为子服务器的聊天事件已经被取消了,这会导致这些插件无法获取玩家的聊天消息 +那么你安装 HuskChat 会让这些插件失效,这是因为子服务器的聊天事件已经被取消了,这会导致这些插件无法获取玩家的聊天消息 -可以根据作者的方案解决这个问题,介意的建议不要使用 HuskChat ,转而用 [TrChat](https://www.spigotmc.org/resources/.111858/) +可以根据作者的方案解决这个问题,介意的建议不要使用 HuskChat ,转而用 [TrChat](https://www.spigotmc.org/resources/.111858/) ::: ## Sonar @@ -86,13 +86,13 @@ sidebar_position: 2 ::: -一款轻量级的反假人插件,能够有效的防止大部分假人进入你的服务器 +一款轻量级的反假人插件,能够有效的防止大部分假人进入你的服务器 -它内置多种**反假人策略**和**验证方式**,可以任你选择 +它内置多种**反假人策略**和**验证方式**,可以任你选择 **特色反假人机制**: -CAPTCHA 在玩家进入服务器时,会进入 Sonar 创建的虚拟服务器中,玩家需要在聊天栏中输入随机生成的验证码才能进入服务器,这样可以防御 **100%** 的假人。非常的安全 +CAPTCHA 在玩家进入服务器时,会进入 Sonar 创建的虚拟服务器中,玩家需要在聊天栏中输入随机生成的验证码才能进入服务器,这样可以防御 **100%** 的假人。非常的安全 非常推荐安装 @@ -116,7 +116,7 @@ CAPTCHA 在玩家进入服务器时,会进入 Sonar 创建的虚拟服务器 # 装在跨服端或+子服端 -这类插件可以只装在跨服端,但同时在子服安装可以有更多的功能。 +这类插件可以只装在跨服端,但同时在子服安装可以有更多的功能。 ## ServerUtils @@ -146,17 +146,17 @@ CAPTCHA 在玩家进入服务器时,会进入 Sonar 创建的虚拟服务器 ::: -一款好用的 tab 栏插件,此外,还可以制作计分板,Bossbar +一款好用的 tab 栏插件,此外,还可以制作计分板,Bossbar -支持制作文字动画,支持 RGB 颜色 +支持制作文字动画,支持 RGB 颜色 想让他显示 PlaceholderAPI 的变量?请在所有子服务器上安装 [Tab-Bridge](https://www.spigotmc.org/resources/.83966/) -此外,如果你使用了 Layout 功能,如果你不安装此插件,会导致一些显示 Bug +此外,如果你使用了 Layout 功能,如果你不安装此插件,会导致一些显示 Bug 因此强烈建议将 Tab-Bridge 一起安装 -_插件需要安装在代理端上,如果你在子服安装了TAB,可能会导致在高版本上出现“网络协议错误”等位置问题。_ +_插件需要安装在代理端上,如果你在子服安装了TAB,可能会导致在高版本上出现“网络协议错误”等位置问题。_ # 装在跨服端+子服端 @@ -178,7 +178,7 @@ _插件需要安装在代理端上,如果你在子服安装了TAB,可能会 ::: -从 Minecraft 1.19.1 开始,Mojang 实现了一个[新的聊天系统](https://zh.minecraft.wiki/w/Java%E7%89%881.19.1#%E5%B8%B8%E8%A7%84),该系统使用每个玩家拥有的签名密钥。Velocity 尚不完全支持取消或修改这种类型的消息和命令,因此你可以安装 SignedVelocity 插件, 这将允许将消息或命令传输到你的服务器,在服务器上收到消息或命令后, 将应用在 Velocity 中计算的结果。 —— Velocity 官方文档 +从 Minecraft 1.19.1 开始,Mojang 实现了一个[新的聊天系统](https://zh.minecraft.wiki/w/Java%E7%89%881.19.1#%E5%B8%B8%E8%A7%84),该系统使用每个玩家拥有的签名密钥。Velocity 尚不完全支持取消或修改这种类型的消息和命令,因此你可以安装 SignedVelocity 插件, 这将允许将消息或命令传输到你的服务器,在服务器上收到消息或命令后, 将应用在 Velocity 中计算的结果。 —— Velocity 官方文档 -_此外由于其功能实现,它也能修复因缺少个人信钥而导致无法加入服务器等问题_ +_此外由于其功能实现,它也能修复因缺少个人信钥而导致无法加入服务器等问题_ diff --git a/docs-java/advance/cross-server/precautions.md b/docs-java/advance/cross-server/precautions.md index 4770a7494..65ecaf528 100644 --- a/docs-java/advance/cross-server/precautions.md +++ b/docs-java/advance/cross-server/precautions.md @@ -7,19 +7,19 @@ sidebar_position: 8 :::danger[非常危险] -不要不要不要给子服开公网!!!你的玩家只要靠跨服端就可以去到子服,如果你脑子有问题非要给子服开公网......这将会导致很多问题,比如绕过登录服随便登录别人账号,窃取 OP 账号权限等严重时可能会直接导致服务器被提权或后门等。 +不要不要不要给子服开公网!!!你的玩家只要靠跨服端就可以去到子服,如果你脑子有问题非要给子服开公网......这将会导致很多问题,比如绕过登录服随便登录别人账号,窃取 OP 账号权限等严重时可能会直接导致服务器被提权或后门等。 ::: ## 不要给玩家 `/server` 权限 -用 `菜单/npc` 或其他东西跨服,但是不要给玩家这个权限(玩家默认有),会被玩家发现服主的小 ♂ 秘 ♂ 密 ♂ +用 `菜单/npc` 或其他东西跨服,但是不要给玩家这个权限(玩家默认有),会被玩家发现服主的小 ♂ 秘 ♂ 密 ♂ -这个权限默认是高于 Bukkit 插件权限的,也就是说玩家可以在未登录之前使用此命令跳转到另外一个服务器,如果另外的服务器没登陆插件,那么通过此方法就可以使用到 OP 账号 +这个权限默认是高于 Bukkit 插件权限的,也就是说玩家可以在未登录之前使用此命令跳转到另外一个服务器,如果另外的服务器没登陆插件,那么通过此方法就可以使用到 OP 账号 :::tip -如果你使用的是 AutheMe 登录插件,请务必在代理端安装对应的 AuthMe 插件,如 AuthMe-Velocity、AuthMeBungee 等插件 +如果你使用的是 AutheMe 登录插件,请务必在代理端安装对应的 AuthMe 插件,如 AuthMe-Velocity、AuthMeBungee 等插件 这样就可以避免一些此类问题了 @@ -41,18 +41,18 @@ sidebar_position: 8 /lpv group default permission set velocity.* false ``` -自己搭了个 vc 然后权限节点没有补全,你把权限全 `false` 了算了,反正玩家也用不到 +自己搭了个 vc 然后权限节点没有补全,你把权限全 `false` 了算了,反正玩家也用不到 ## bc 的语义扩大 bc 这个缩写应只指 BungeeCord 核心 -但是很多人用 bc 指 BungeeCord 和它的分支,甚至指所有的跨服端(把 Velocity 和包括进去了) +但是很多人用 bc 指 BungeeCord 和它的分支,甚至指所有的跨服端(把 Velocity 和包括进去了) -希望在看的你用 bc 这个缩写时只用来指 BungeeCord 核心,避免产生不必要的误会 +希望在看的你用 bc 这个缩写时只用来指 BungeeCord 核心,避免产生不必要的误会 :::note -服务端有个命令是 `/bc` ,用来发公告的,这和此处的 BungeeCord 没有关系 +服务端有个命令是 `/bc` ,用来发公告的,这和此处的 BungeeCord 没有关系 ::: diff --git a/docs-java/advance/cross-server/server-core-choose.md b/docs-java/advance/cross-server/server-core-choose.md index e869728c0..70935d7c6 100644 --- a/docs-java/advance/cross-server/server-core-choose.md +++ b/docs-java/advance/cross-server/server-core-choose.md @@ -19,7 +19,7 @@ sidebar_position: 1 :::info -停止维护是指不再为其添加新功能或错误修补, +停止维护是指不再为其添加新功能或错误修补, Waterfall 仍然会合并来自 BungeeCord 的更改。 @@ -27,21 +27,21 @@ Waterfall 仍然会合并来自 BungeeCord 的更改。 ::: -目前为止,你可以选择以下核心进行转发: +目前为止,你可以选择以下核心进行转发: | 名称 | 介绍 | 推荐与否 | 下载镜像 | |-----------------------------------------------------------|-----------------------------------------|------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [Waterfall](https://papermc.io/software/waterfall) | Papermc 对 BungeeCord 的分支,但已停止向其添加新功能 | 不推荐 | [McRes](https://mcres.cn/downloads/waterfall.html) [FastMirror](https://www.fastmirror.net/#/download/Waterfall) [原子云](https://res.nullatom.com/Minecraft/Server/Waterfall/) | -| [Lightfall](https://github.com/ArclightPowered/lightfall) | Arclight waterfall的分支,支持forge玩家进入服务器 | - | [McRes](https://dev.mcres.cn/job/Lightfall/lastBuild/) [FastMirror](https://www.fastmirror.net/#/download/lightfall) | -| [Velocity](https://papermc.io/software/velocity) | 新生代代理端核心,拥有高安全性和高性能,但是插件不如BungeeCord那边多 | 非常推荐 | [McRes(自己点进去找)](https://mcres.cn/) [FastMirror](https://www.fastmirror.net/#/download/Velocity) [原子云](https://res.nullatom.com/Minecraft/Server/Velocity/) | -| [BungeeCord](https://github.com/SpigotMC/BungeeCord) | 最古老的代理端核心,甚至有网页版mc的核心 | - | [McRes](https://repo.wdsj.io/repository/Bungeecord/BungeeCord.jar) [FastMirror](https://www.fastmirror.net/#/download/BungeeCord) | -| [Gate](https://gate.minekube.com/) | 基于Go开发的核心,拥有超高的性能和极低内存占用。 | - | +| [Waterfall](https://papermc.io/software/waterfall) | Papermc 对 BungeeCord 的分支,但已停止向其添加新功能 | 不推荐 | [McRes](https://mcres.cn/downloads/waterfall.html) [FastMirror](https://www.fastmirror.net/#/download/Waterfall) [原子云](https://res.nullatom.com/Minecraft/Server/Waterfall/) | +| [Lightfall](https://github.com/ArclightPowered/lightfall) | Arclight waterfall的分支,支持forge玩家进入服务器 | - | [McRes](https://dev.mcres.cn/job/Lightfall/lastBuild/) [FastMirror](https://www.fastmirror.net/#/download/lightfall) | +| [Velocity](https://papermc.io/software/velocity) | 新生代代理端核心,拥有高安全性和高性能,但是插件不如BungeeCord那边多 | 非常推荐 | [McRes(自己点进去找)](https://mcres.cn/) [FastMirror](https://www.fastmirror.net/#/download/Velocity) [原子云](https://res.nullatom.com/Minecraft/Server/Velocity/) | +| [BungeeCord](https://github.com/SpigotMC/BungeeCord) | 最古老的代理端核心,甚至有网页版mc的核心 | - | [McRes](https://repo.wdsj.io/repository/Bungeecord/BungeeCord.jar) [FastMirror](https://www.fastmirror.net/#/download/BungeeCord) | +| [Gate](https://gate.minekube.com/) | 基于Go开发的核心,拥有超高的性能和极低内存占用。 | - | | [Travertine](https://github.com/PaperMC/Travertine) | Waterfall 1.7.10的分支 | - | 富哥的选择 | 名称 | 介绍 | 价格 | |----------------------------------------------------------------------------------|-----------------------------------------------------|-----------------------------------------| -| [NullCordX](https://polymart.org/resource/nullcordx.1476/updates) | 基于反机器人原生构建的复杂瀑布叉,提高了性能 | 10美元 | -| [XCord](https://builtbybit.com/resources/xcord-high-performance-anti-bot.16843/) | BC叉:高级反机器人 | 性能 反漏洞利用 Anti-SpigotExploit(1.7-1.20.4) | 10美元 | -| [FlameCord](https://www.flamecord.com/) | 终极反机器人解决方案,Anti-VPN和高性能BungeeCord分叉,适用于Minecraft服务器 | 6美元(永久15美元) | +| [NullCordX](https://polymart.org/resource/nullcordx.1476/updates) | 基于反机器人原生构建的复杂瀑布叉,提高了性能 | 10美元 | +| [XCord](https://builtbybit.com/resources/xcord-high-performance-anti-bot.16843/) | BC叉:高级反机器人 | 性能 反漏洞利用 Anti-SpigotExploit(1.7-1.20.4) | 10美元 | +| [FlameCord](https://www.flamecord.com/) | 终极反机器人解决方案,Anti-VPN和高性能BungeeCord分叉,适用于Minecraft服务器 | 6美元(永久15美元) | diff --git a/docs-java/advance/folia.md b/docs-java/advance/folia.md index 2b5e2386c..174e469a4 100644 --- a/docs-java/advance/folia.md +++ b/docs-java/advance/folia.md @@ -5,7 +5,7 @@ sidebar_position: 3 # Folia -Folia 是 Paper 的一个分支,由 Minecraft 优化 BOSS Spottedleaf 开发。 +Folia 是 Paper 的一个分支,由 Minecraft 优化 BOSS Spottedleaf 开发。 ## 简介 @@ -45,9 +45,9 @@ Folia这么好,但并不是每个服务器都可以体验的,你需要确保你 ## LightLuminol -LightingLuminol 是 Luminol 的分支,旨在修复对 BukkitAPI 的破坏,最大程度保证 Bukkit 插件的兼容性。但是,虽然LightLuminol对于Bukkit插兼容性较好,但是会有许多问题,包括不定时的NullPointerError,Thread不安全,内存泄露,数据丢失(一天崩个几十次,挺正常的) +LightingLuminol 是 Luminol 的分支,旨在修复对 BukkitAPI 的破坏,最大程度保证 Bukkit 插件的兼容性。但是,虽然LightLuminol对于Bukkit插兼容性较好,但是会有许多问题,包括不定时的NullPointerError,Thread不安全,内存泄露,数据丢失(一天崩个几十次,挺正常的) -所以在开始使用LightingLuminol,请想想Leaf是不是更好? +所以在开始使用LightingLuminol,请想想Leaf是不是更好? 如果你需要1.20.1/2,你可以使用[DirtyMolia](https://github.com/Era4FunMC/DirtyMolia) @@ -59,9 +59,9 @@ LightingLuminol 是 Luminol 的分支,旨在修复对 BukkitAPI 的破坏, ### 分配线程数 -众所周知 Folia 默认的分配线程数非常脑瘫,会出现一核有难,八核围观的场景 +众所周知 Folia 默认的分配线程数非常脑瘫,会出现一核有难,八核围观的场景 -打开Paper的全局配置,找到`threaded-regions.threads`,通常情况下,分配给区块 Tick 线程数应该是 80% 乘上你物理CPU核数 +打开Paper的全局配置,找到`threaded-regions.threads`,通常情况下,分配给区块 Tick 线程数应该是 80% 乘上你物理CPU核数 ### 生电配置 diff --git a/docs-java/advance/format-code.md b/docs-java/advance/format-code.md index 1cd5b9267..31c755f1c 100644 --- a/docs-java/advance/format-code.md +++ b/docs-java/advance/format-code.md @@ -5,9 +5,9 @@ sidebar_position: 8 # 格式化代码 -**格式化代码(Formatting code)**,又称**颜色代码(Color code)**,能使在游戏中加入含颜色和格式信息。 +**格式化代码(Formatting code)**,又称**颜色代码(Color code)**,能使在游戏中加入含颜色和格式信息。 -在 Minecraft 中,可以以分节符号(`§`)产生带色文字。 +在 Minecraft 中,可以以分节符号(`§`)产生带色文字。 ![](_images/格式化代码/Minecraft_Formatting.gif) @@ -17,17 +17,17 @@ sidebar_position: 8 :::note -通常在游戏客户端中,你不能打出 `§` 这个符号。需要使用 `\u00A7` 或者 `\u00a7` +通常在游戏客户端中,你不能打出 `§` 这个符号。需要使用 `\u00A7` 或者 `\u00a7` -在配置文件中,你可以直接复制粘贴这个符号而不用自己输入。 +在配置文件中,你可以直接复制粘贴这个符号而不用自己输入。 -你也可以在按住 `Alt` 键的同时,**小键盘** **按顺序** 输入 `167` 以输出 `§` 符号 +你也可以在按住 `Alt` 键的同时,**小键盘** **按顺序** 输入 `167` 以输出 `§` 符号 ::: :::tip -为了方便,多数插件的配置中支持使用 `&` 来代表 `§` 。 +为了方便,多数插件的配置中支持使用 `&` 来代表 `§` 。 比如下面这个 TrMenu 菜单例子: @@ -45,7 +45,7 @@ Icons: ::: -如果你想要更绚丽的颜色和更丰富的功能(比如点击文本执行命令)。 +如果你想要更绚丽的颜色和更丰富的功能(比如点击文本执行命令)。 可以去看 [MiniMessage](MiniMessage.md) 部分。 diff --git a/docs-java/advance/kether/basic.md b/docs-java/advance/kether/basic.md index bee67f233..1a7edd9fc 100644 --- a/docs-java/advance/kether/basic.md +++ b/docs-java/advance/kether/basic.md @@ -5,25 +5,25 @@ sidebar_position: 2 # 基础 -> 动作,又称语句,每个动作都功能明确,如:Tell(输出文本) +> 动作,又称语句,每个动作都功能明确,如:Tell(输出文本) -在这一节中,我将告诉你在 kether 中的一些基本概念 +在这一节中,我将告诉你在 kether 中的一些基本概念 我们先了解几个简单的动作 -## 输出文本(Tell) +## 输出文本(Tell) > https://kether.tabooproject.org/list.html#Tell ![](_images/vul-tell.png) -这个动作的作用是给玩家发送一条信息(图中的 1 ) +这个动作的作用是给玩家发送一条信息(图中的 1 ) -下面的 `< > Result:` 是动作的返回值(下面会讲) +下面的 `< > Result:` 是动作的返回值(下面会讲) :::note -非调试(/vul evel)是不会看到这个的 +非调试(/vul evel)是不会看到这个的 ![](_images/result.png) @@ -31,13 +31,13 @@ sidebar_position: 2 ::: -然而,他不能搞颜色 +然而,他不能搞颜色 ![](_images/vul-tell_noColor.png) 我们可以用下面的 `color Text` 动作来搞颜色 -## 彩色(color Text) +## 彩色(color Text) > https://kether.tabooproject.org/list.html#Color_Text @@ -45,11 +45,11 @@ sidebar_position: 2 这里要用 `" "` 把要打印的信息包裹起来 -否则他会把这个当成变量,具体的会在后面讲到 +否则他会把这个当成变量,具体的会在后面讲到 :::note -值得一提的是,Invero插件会自动翻译tell中的颜色,内联,papi +值得一提的是,Invero插件会自动翻译tell中的颜色,内联,papi ::: @@ -57,15 +57,15 @@ sidebar_position: 2 ![](_images/vul-tell_color.png) -我们同时使用了 tell 和 color 两个语句,打印了带颜色的信息给玩家看 +我们同时使用了 tell 和 color 两个语句,打印了带颜色的信息给玩家看 ## 语句的返回值 ![](_images/vul-color.png) -在使用 `/vul evel` 时,语句的返回值会在 `< > Result:` 显示 +在使用 `/vul evel` 时,语句的返回值会在 `< > Result:` 显示 -于是我们可以知道,`color` 动作先翻译了颜色,然后把翻译好的交给了 `Tell` 动作 +于是我们可以知道,`color` 动作先翻译了颜色,然后把翻译好的交给了 `Tell` 动作 所以动作的执行顺序为:color -> tell @@ -75,7 +75,7 @@ sidebar_position: 2 ![](_images/痴呆.jpg) -## \{action\},\{token\}和Literal +## \{action\},\{token\}和Literal 查阅 https://kether.tabooproject.org/list.html 我们可以发现 @@ -90,25 +90,25 @@ sidebar_position: 2 - `{action}` 这里要写一个语句 - `{token}` 写固定不变的内容 -所以在 [语句的连用](#语句的连用) 那里,我们可以在 `tell` 后面接一个 `color` 动作 +所以在 [语句的连用](#语句的连用) 那里,我们可以在 `tell` 后面接一个 `color` 动作 -那么问题来了,为什么在 [Tell](#输出文本tell) 那里可以接一句话(此处写了个1)? +那么问题来了,为什么在 [Tell](#输出文本tell) 那里可以接一句话(此处写了个1)? ![](_images/vul-tell.png) -因为在这个示例中,kether找不到名为 `1` 的动作,所以用了 `Literal` 动作将他转为字符串 +因为在这个示例中,kether找不到名为 `1` 的动作,所以用了 `Literal` 动作将他转为字符串 > https://kether.tabooproject.org/list.html#Literal 它给出的使用方式:`literal {token} | {token}` -两种使用方式,特别是后一种,你随便写点啥,只要不是已有的动作,它最后就会被转为字符串 +两种使用方式,特别是后一种,你随便写点啥,只要不是已有的动作,它最后就会被转为字符串 -## 变量(PlaceholderAPI) +## 变量(PlaceholderAPI) > https://kether.tabooproject.org/list.html#PlaceholderAPI -翻译一个papi变量(如图) +翻译一个papi变量(如图) ![](_images/vul-papi.png) @@ -116,17 +116,17 @@ sidebar_position: 2 papi {action} | placeholder {action} ``` -两种用法,papi是简写 +两种用法,papi是简写 ## inline和join ![](_images/vul-tell_papiNoInline.png) -假如你用的那个插件不会给你自动翻译动作中的papi,阁下又当如何应对? +假如你用的那个插件不会给你自动翻译动作中的papi,阁下又当如何应对? > https://kether.tabooproject.org/list.html#Inline -`内联(inline)` 动作!在一段文本中插入 kether ! +`内联(inline)` 动作!在一段文本中插入 kether ! 用法为: @@ -134,17 +134,17 @@ papi {action} | placeholder {action} inline "阿巴阿巴{{你要用的kether}}qwq" ``` -比如上面的案例中,可以这样做 +比如上面的案例中,可以这样做 ``` -/vul eval tell inline "我叫{{papi %player_name%}},我今年{{papi %player_level%}}级了" +/vul eval tell inline "我叫{{papi %player_name%}},我今年{{papi %player_level%}}级了" ``` ![](_images/vul-tell_papiWithInline.png) > https://kether.tabooproject.org/list.html#Join -而 `join` 则是可以把多个动作拼接在一起,很多时候 `inline` 和 `join` 可以互相替代 +而 `join` 则是可以把多个动作拼接在一起,很多时候 `inline` 和 `join` 可以互相替代 用法为: ``` @@ -152,10 +152,10 @@ join [ 动作1 动作2 动作3 更多 ] ``` 动作之间要空格 -在上面的案例中,可以这样做 +在上面的案例中,可以这样做 ``` -/vul eval tell join [ "我叫" papi %player_name% ",我今年" papi %player_level% "级了" ] +/vul eval tell join [ "我叫" papi %player_name% ",我今年" papi %player_level% "级了" ] ``` ![](_images/vul-tell_papiWithJoin.png) @@ -174,9 +174,9 @@ player [(display|list) ] name > 该语句没有在官方文档中给出 -> 它的作用是获取脚本执行者的名字。跟 player name 作用类似,它也能用来获取玩家的名字,并且都没有参数。 -> 除此之外,当控制台作为脚本执行者时,它还能获取控制台的名字:console,只不过这并没有什么用而已。 -> 但它的优点在于不依赖玩家执行,相对来说会比 player name 更安全保守一些。 +> 它的作用是获取脚本执行者的名字。跟 player name 作用类似,它也能用来获取玩家的名字,并且都没有参数。 +> 除此之外,当控制台作为脚本执行者时,它还能获取控制台的名字:console,只不过这并没有什么用而已。 +> 但它的优点在于不依赖玩家执行,相对来说会比 player name 更安全保守一些。 > 摘自 https://www.yuque.com/sacredcraft/kether/action-start#su0PY ### papi %player_name% diff --git a/docs-java/advance/kether/idk.md b/docs-java/advance/kether/idk.md index 17a4ecd8e..06d439e21 100644 --- a/docs-java/advance/kether/idk.md +++ b/docs-java/advance/kether/idk.md @@ -9,7 +9,7 @@ sidebar_position: 6 ## inline -inline是在一段文本中插入语句,实际上会创造一个新的 kether 环境 +inline是在一段文本中插入语句,实际上会创造一个新的 kether 环境 例如这个 TrMenu 例子中: ```yaml @@ -25,15 +25,15 @@ inline是在一段文本中插入语句,实际上会创造一个新的 kether 而第二个 tell 打印了空值 -因为第二个 tell 后面是一个新的 kether 环境,里面没有原 kether 环境里的变量 +因为第二个 tell 后面是一个新的 kether 环境,里面没有原 kether 环境里的变量 -同时,你也不能使用原插件提供的 kether 私有语句,不过你可以尝试 [导入语句](https://www.yuque.com/sacredcraft/kether/namespace#zVbkg) +同时,你也不能使用原插件提供的 kether 私有语句,不过你可以尝试 [导入语句](https://www.yuque.com/sacredcraft/kether/namespace#zVbkg) ![](_images/inline.png) ## join -join 是拼接多个语句,不会像 inline 那样创造新的环境,所以没有上述特性,join 里的语句会使用原 kether 环境 +join 是拼接多个语句,不会像 inline 那样创造新的环境,所以没有上述特性,join 里的语句会使用原 kether 环境 ## 行内复合文本 diff --git a/docs-java/advance/kether/if.md b/docs-java/advance/kether/if.md index 3ff60eccb..755b5ad8c 100644 --- a/docs-java/advance/kether/if.md +++ b/docs-java/advance/kether/if.md @@ -5,49 +5,49 @@ sidebar_position: 3 # 逻辑判断 -## 布尔值(boolean) +## 布尔值(boolean) -它只有两个取值,即 **真(true)** 和 **假(false)** +它只有两个取值,即 **真(true)** 和 **假(false)** -或者说,**是(true)** 和 **否(false)** +或者说,**是(true)** 和 **否(false)** -## 权限判断(Permission) +## 权限判断(Permission) > https://kether.tabooproject.org/list.html#Permission -判断玩家是否拥有某权限,如果是,则返回 **true** ,否,则返回 **false** +判断玩家是否拥有某权限,如果是,则返回 **true** ,否,则返回 **false** ![](_images/vul-perm.png) -我是op,所以我拥有此权限,返回了 true +我是op,所以我拥有此权限,返回了 true -同 [PlaceholderAPI](basic.md#变量placeholderapi) 一样,**Permission** 也有一个简写 **perm** +同 [PlaceholderAPI](basic.md#变量placeholderapi) 一样,**Permission** 也有一个简写 **perm** -## 判断为否(Not) +## 判断为否(Not) -上面是判断拥有此权限,那么我如何判断不拥有此权限呢? +上面是判断拥有此权限,那么我如何判断不拥有此权限呢? ![](_images/vul-permNot_1.png) ![](_images/正经笑.jpg) -咳咳,开玩笑的,驿站怎么可能用过这么傻逼的写法呢 +咳咳,开玩笑的,驿站怎么可能用过这么傻逼的写法呢 ![](_images/冒汗.jpg) > https://kether.tabooproject.org/list.html#Not -> 判断动作的返回值是否为否,即否定动作的结果。 +> 判断动作的返回值是否为否,即否定动作的结果。 ![](_images/vul-permNot_2.png) -因为我拥有此权限,所以 perm 判断是 true +因为我拥有此权限,所以 perm 判断是 true -接着因为 not,最后的结果是 false +接着因为 not,最后的结果是 false perm -> not -## 判断(Check) +## 判断(Check) > https://kether.tabooproject.org/list.html#Check @@ -59,20 +59,20 @@ check 动作1 {symbol} 动作2 具体判断关系由中间的符号参数 Symbol 决定 -1. 等于(==、is):指两个值字面意思上相同。 -2. 不等于(!=、not):指两个值字面意思上不同。 -3. 相似等于(=?、is?):指两个值字面意思上忽略大小写的条件下相同。 -4. 绝对等于(=!、is!):指两个值内存路径上相同。 -5. 大于(>、gt):指第一个值大于第二个值。 -6. 大于等于(>=):指第一个值大于或等于第二个值。 -7. 小于(\<、lt):指第一个值小于第二个值。 -8. 小于等于(\<=):指第一个值小于或等于第二个值。 -9. 右含左(in):左侧 action A 的返回值是否属于右侧 action B 返回值的内容之一 -10. 左含右(has):左侧 action A 是否含有右侧 action B 内容 +1. 等于(==、is):指两个值字面意思上相同。 +2. 不等于(!=、not):指两个值字面意思上不同。 +3. 相似等于(=?、is?):指两个值字面意思上忽略大小写的条件下相同。 +4. 绝对等于(=!、is!):指两个值内存路径上相同。 +5. 大于(>、gt):指第一个值大于第二个值。 +6. 大于等于(>=):指第一个值大于或等于第二个值。 +7. 小于(\<、lt):指第一个值小于第二个值。 +8. 小于等于(\<=):指第一个值小于或等于第二个值。 +9. 右含左(in):左侧 action A 的返回值是否属于右侧 action B 返回值的内容之一 +10. 左含右(has):左侧 action A 是否含有右侧 action B 内容 ![](_images/vul-check.png) -## 分支判断(if esle) +## 分支判断(if esle) > https://kether.tabooproject.org/list.html#If_&_Else @@ -84,11 +84,11 @@ check 动作1 {symbol} 动作2 条件判断为 **true** 则执行 then 后面的动作 -注:这里的条件也是指动作,即 动作的返回值为 **true** 则执行 then 后面的动作 +注:这里的条件也是指动作,即 动作的返回值为 **true** 则执行 then 后面的动作 ![](_images/if_1.png) -上面只是执行单个动作,那么,如何让他判断 **true** 后执行多行动作? +上面只是执行单个动作,那么,如何让他判断 **true** 后执行多行动作? ``` if 条件 then { @@ -141,7 +141,7 @@ if 条件1 then { } ``` -## 多分支(Case & When) +## 多分支(Case & When) > https://kether.tabooproject.org/list.html#Case_&_When @@ -195,7 +195,7 @@ case 1 [ ## 多条件判断 -### 全部满足(All) +### 全部满足(All) > https://kether.tabooproject.org/list.html#All @@ -210,11 +210,11 @@ all [ 动作1 动作2 动作3 更多 ] /vul eval if all [ perm vulpecula.command not perm luckperms.editor ] then tell 通过 else 不通过 ``` -玩家拥有权限 vulpecula.command 没有权限 luckperms.editor 则通过,否则不通过 +玩家拥有权限 vulpecula.command 没有权限 luckperms.editor 则通过,否则不通过 ![](_images/if_2.png) -### 一个满足(Any) +### 一个满足(Any) > https://kether.tabooproject.org/list.html#Any @@ -254,7 +254,7 @@ any [ #### 判断null字符串 -如果一个动作,变量,或者其他什么东西会有输出null的情况,而你想判断这个情况 +如果一个动作,变量,或者其他什么东西会有输出null的情况,而你想判断这个情况 但是 `null` 是一个已有的动作:https://kether.tabooproject.org/list.html#Null diff --git a/docs-java/advance/kether/kether.md b/docs-java/advance/kether/kether.md index 2207f143c..167205ed0 100644 --- a/docs-java/advance/kether/kether.md +++ b/docs-java/advance/kether/kether.md @@ -6,7 +6,7 @@ sidebar_position: 12 # 概览 -kether 并不是一个插件,而是使用 Taboolib 框架开发的插件(如TrMenu,TrChat,Adyeshach)所使用的脚本语言。 +kether 并不是一个插件,而是使用 Taboolib 框架开发的插件(如TrMenu,TrChat,Adyeshach)所使用的脚本语言。 推荐教程:https://www.yuque.com/sacredcraft/kether diff --git a/docs-java/advance/kether/math.md b/docs-java/advance/kether/math.md index dc9cfe51f..9791aabdd 100644 --- a/docs-java/advance/kether/math.md +++ b/docs-java/advance/kether/math.md @@ -29,7 +29,7 @@ math * [ 3 2 5 ] math div [ 6 2 ] math / [ 6 2 ] ``` -除了上面几种用法,Math 还有一种比较舒服的写法: +除了上面几种用法,Math 还有一种比较舒服的写法: ``` ​/* 计算 1 + 3 x 6 ÷ 3 - 2 */ @@ -53,7 +53,7 @@ math 1 + 3 * 5 / 6 - 2 - 乘法:a * b - 除法:a / b -- 取余:取余操作使用 % 符号。例如,计算 10 除以 3 的余数:10 % 3。 +- 取余:取余操作使用 % 符号。例如,计算 10 除以 3 的余数:10 % 3。 当然也可以使用括号: diff --git a/docs-java/advance/kether/preparation.md b/docs-java/advance/kether/preparation.md index e2b611b68..cf71e628f 100644 --- a/docs-java/advance/kether/preparation.md +++ b/docs-java/advance/kether/preparation.md @@ -5,9 +5,9 @@ sidebar_position: 1 # 安装教学插件 -在本篇教程中,我将使用 [Vulpecula](https://www.yuque.com/lanscarlos/vulpecula-wiki-v2) +在本篇教程中,我将使用 [Vulpecula](https://www.yuque.com/lanscarlos/vulpecula-wiki-v2) -你可以点击 [此处](https://github.com/Lanscarlos/Vulpecula) 跳转到 GitHub ,从 Actions 中下载 +你可以点击 [此处](https://github.com/Lanscarlos/Vulpecula) 跳转到 GitHub ,从 Actions 中下载 或者加入他的 QQ交流群 759705478 从群文件下载 @@ -25,7 +25,7 @@ sidebar_position: 1 **别的插件执行kether?** -好吧,如果你已经安装了其他可以用命令调试kether的插件...... +好吧,如果你已经安装了其他可以用命令调试kether的插件...... **TrMenu v3** diff --git a/docs-java/advance/kether/variable.md b/docs-java/advance/kether/variable.md index f1a50ba98..cb97d742c 100644 --- a/docs-java/advance/kether/variable.md +++ b/docs-java/advance/kether/variable.md @@ -14,7 +14,7 @@ sidebar_position: 4
-### 类型转换(Type) +### 类型转换(Type) > https://kether.tabooproject.org/list.html#Type @@ -28,7 +28,7 @@ type {token} | type {type} {action} TODO -## 变量(Variable) +## 变量(Variable) 在这里想一个非常巧妙的比喻 @@ -36,9 +36,9 @@ TODO ## kether -此处讲解 kether 自己的变量,此变量特点是 kether 环境摧毁就消失 +此处讲解 kether 自己的变量,此变量特点是 kether 环境摧毁就消失 -比如:TrMenu 关闭菜单,Vulpecula 的命令执行完成 +比如:TrMenu 关闭菜单,Vulpecula 的命令执行完成 ### 基础 @@ -49,7 +49,7 @@ TODO set {token} {token} | set {token} to {action} ``` -注意上面的语法,前者只能输入固定内容,后者可以把动作的返回值传入变量 +注意上面的语法,前者只能输入固定内容,后者可以把动作的返回值传入变量 ![](_images/var_1.png) @@ -67,13 +67,13 @@ get {token} | &{token} 啪!空的! -我擦嘞,这是咋回事? +我擦嘞,这是咋回事? 还记得我说过的吗 > 此变量特点是 kether 环境摧毁就消失 -是的,当你执行完 `/vul eval set yizhan to 114514` 之后,kether环境已经被摧毁了,所以这个变量就消失了 +是的,当你执行完 `/vul eval set yizhan to 114514` 之后,kether环境已经被摧毁了,所以这个变量就消失了 正确做法: @@ -85,14 +85,14 @@ get {token} | &{token} 成功得到了变量里的内容! -对于获取变量,我们有个更简单的办法 `&{token}` +对于获取变量,我们有个更简单的办法 `&{token}` ![](_images/var_4.png) -看到这里,你就应该知道,为什么前面讲 [彩色(color Text)](basic.md#彩色color-text) 动作的时候会说 +看到这里,你就应该知道,为什么前面讲 [彩色(color Text)](basic.md#彩色color-text) 动作的时候会说 > 这里要用 `" "` 把要打印的信息包裹起来 -> 否则他会把这个当成变量,具体的会在后面讲到 +> 否则他会把这个当成变量,具体的会在后面讲到 ### array @@ -100,7 +100,7 @@ get {token} | &{token} > https://kether.tabooproject.org/list.html#Array -这也是一个动作,作用是 +这也是一个动作,作用是 > 将动作列表的所有返回值作为集合返回。 @@ -113,11 +113,11 @@ array [ 动作1 动作2 动作3 更多 ] ![](_images/var_5.png) -在这个集合中,数据被英文 `,` 分割开来,我们称为 **元素** +在这个集合中,数据被英文 `,` 分割开来,我们称为 **元素** 比如在上面共有三个元素:`HelloWord!` `postyizhan` `0.0` -接下来,我们把数组存进变量里 +接下来,我们把数组存进变量里 ``` set yizhan to array [ HelloWord! player name 0.0 ] @@ -127,7 +127,7 @@ set yizhan to array [ HelloWord! player name 0.0 ] 如果我们只需要获取某数组中其中一个元素的值该怎么办? -我们给每个元素都标上号,然后获取指定号数的就好啦!`&变量名[标号]` +我们给每个元素都标上号,然后获取指定号数的就好啦!`&变量名[标号]` ![](_images/var_6.png) @@ -141,7 +141,7 @@ set yizhan to array [ HelloWord! player name 0.0 ] 除了上面的 `&变量名[标号]` -我们还有一种办法获取到指定元素的值,那就是 `element` 动作 +我们还有一种办法获取到指定元素的值,那就是 `element` 动作 ![](_images/var_7.png) diff --git a/docs-java/advance/loginchoices.md b/docs-java/advance/loginchoices.md index d9298d153..f258956c1 100644 --- a/docs-java/advance/loginchoices.md +++ b/docs-java/advance/loginchoices.md @@ -5,11 +5,11 @@ sidebar_position: 7 # 登录方式 -在开启服务器之前,选择合适的登录方式至关重要。这不仅关系到玩家们的 **生命财产安全**,还涉及到服务器的管理和稳定性。因此,请在选择时务必 **慎重** 考虑! +在开启服务器之前,选择合适的登录方式至关重要。这不仅关系到玩家们的 **生命财产安全**,还涉及到服务器的管理和稳定性。因此,请在选择时务必 **慎重** 考虑! :::danger -一旦选定了登录方式,请尽量不要更换它,除非你了解这样做的风险和后果! +一旦选定了登录方式,请尽量不要更换它,除非你了解这样做的风险和后果! ::: @@ -17,40 +17,40 @@ sidebar_position: 7 通用外置登录是基于分析 `Minecraft 官方 Yggdrasil 认证服务器` 的行为总结出来的一种外置登录方式。 -它的特点是玩家只需在 `Minecraft 启动器` 上完成账号登录,在进入服务器时会使用会话登录自动加入游戏。 +它的特点是玩家只需在 `Minecraft 启动器` 上完成账号登录,在进入服务器时会使用会话登录自动加入游戏。 -在这种登录方式下,玩家的游戏档案(包括皮肤和玩家UUID)由 `Yggdrasil` 决定。因此,选择一个 **可信任** 的外置身份验证服务器非常非常非常非常重要。 +在这种登录方式下,玩家的游戏档案(包括皮肤和玩家UUID)由 `Yggdrasil` 决定。因此,选择一个 **可信任** 的外置身份验证服务器非常非常非常非常重要。 ### 正版登录 -正版登录是绝大多数服务端默认设置的登录方式,仅允许 Minecraft Java 正版 用户加入游戏,使用 Mojang 的身份认证服务器来验证玩家身份和分配游戏档案数据。 +正版登录是绝大多数服务端默认设置的登录方式,仅允许 Minecraft Java 正版 用户加入游戏,使用 Mojang 的身份认证服务器来验证玩家身份和分配游戏档案数据。 **优点:** - * 数据包通讯全程加密,确保游戏数据安全。 - * 服务端默认配置,无需额外配置。 + * 数据包通讯全程加密,确保游戏数据安全。 + * 服务端默认配置,无需额外配置。 * 身份验证服务值得信赖。 * 支持自定义角色皮肤以及更改角色名字。 **缺点:** - * 身份验证服务器位于国外,可能因网络问题导致会话验证失败。 - * 需要购买正版游戏,限制了一部分玩家。 + * 身份验证服务器位于国外,可能因网络问题导致会话验证失败。 + * 需要购买正版游戏,限制了一部分玩家。 ### Authlib-Injector实现的外置登录 -[Authlib-Injector](https://github.com/yushijinhun/authlib-injector) 是一个允许 Minecraft 使用自定义 Yggdrasil 验证服务器的工具。它可以提供与正版登录几乎相同的游戏体验,但使用的是非官方的身份验证服务器。 +[Authlib-Injector](https://github.com/yushijinhun/authlib-injector) 是一个允许 Minecraft 使用自定义 Yggdrasil 验证服务器的工具。它可以提供与正版登录几乎相同的游戏体验,但使用的是非官方的身份验证服务器。 :::info -Authlib-Injector 仅作为工具,它本身不提供认证服务。你需要找到一个合适的、完全实现了 [Yggdrasil 服务端技术规范](https://github.com/yushijinhun/authlib-injector/wiki/Yggdrasil-%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%8A%80%E6%9C%AF%E8%A7%84%E8%8C%83) 的认证服务提供商,比如: +Authlib-Injector 仅作为工具,它本身不提供认证服务。你需要找到一个合适的、完全实现了 [Yggdrasil 服务端技术规范](https://github.com/yushijinhun/authlib-injector/wiki/Yggdrasil-%E6%9C%8D%E5%8A%A1%E7%AB%AF%E6%8A%80%E6%9C%AF%E8%A7%84%E8%8C%83) 的认证服务提供商,比如: * [LittleSkin](https://littleskin.cn/) * [红石皮肤站](https://mcskin.com.cn/) :::warning -**不能确保以上列出的所有服务提供商绝对安全可靠,请注意甄别** +**不能确保以上列出的所有服务提供商绝对安全可靠,请注意甄别** ::: **优点:** @@ -59,27 +59,27 @@ Authlib-Injector 仅作为工具,它本身不提供认证服务。你需要找 **缺点:** * 需要使用受支持的启动器。 - * 配置和登录相对复杂,有一定的接受和学习成本。 + * 配置和登录相对复杂,有一定的接受和学习成本。 * 部分玩家可能不接受非正版的外置登录。 * 需要考虑认证服务的可信度。 :::danger -由于 Yggdrasil 拥有绝对的游戏外账号管理权,即使在游戏内实施了多重安全保障措施,也无法完全确保账号安全。因此,建议选择 **值得信赖的服务商** 或自行搭建认证服务器! +由于 Yggdrasil 拥有绝对的游戏外账号管理权,即使在游戏内实施了多重安全保障措施,也无法完全确保账号安全。因此,建议选择 **值得信赖的服务商** 或自行搭建认证服务器! -在极端情况下,如果你的竞争对手贿赂或收买了你正在使用的 Yggdrasil 服务提供商,你的服务器就完了。最轻的情况是所有用户都获得了管理权限(全员OP),而最严重的情况则可能导致服务器完全崩溃,造成不可估量的损失!!! +在极端情况下,如果你的竞争对手贿赂或收买了你正在使用的 Yggdrasil 服务提供商,你的服务器就完了。最轻的情况是所有用户都获得了管理权限(全员OP),而最严重的情况则可能导致服务器完全崩溃,造成不可估量的损失!!! ::: ## 内置登录 -内置登录,也称为离线模式,允许未经过认证的用户以自定义用户名加入游戏,此种模式下, -玩家只需输入任意有效的游戏ID即可加入服务器,皮肤是随机分配的,UUID则由服务器根据用户名生成。 +内置登录,也称为离线模式,允许未经过认证的用户以自定义用户名加入游戏,此种模式下, +玩家只需输入任意有效的游戏ID即可加入服务器,皮肤是随机分配的,UUID则由服务器根据用户名生成。 :::danger -内置登录模式安全性较低,通常在玩家登录服务器后才进行验证。 -在验证通过之前,玩家在游戏中的行为可能仅依靠第三方登录插件来限制。 +内置登录模式安全性较低,通常在玩家登录服务器后才进行验证。 +在验证通过之前,玩家在游戏中的行为可能仅依靠第三方登录插件来限制。 恶意用户可以利用这一点进行假人压测、干扰或盗号行为。 ::: @@ -95,55 +95,55 @@ Authlib-Injector 仅作为工具,它本身不提供认证服务。你需要找 ## 自定义登录 -自定义登录通常需要客户端安装MOD来辅助登录。根据登录时机的不同,它可以属于内置登录或外置登录。由于市场上自定义登录程序较少,安全性难以评估,这里不做详细讨论。 +自定义登录通常需要客户端安装MOD来辅助登录。根据登录时机的不同,它可以属于内置登录或外置登录。由于市场上自定义登录程序较少,安全性难以评估,这里不做详细讨论。 ## 无登录 :::danger -不推荐在没有任何登录方式的情况下运行服务器,除非你完全清楚这样做的目的和风险。 +不推荐在没有任何登录方式的情况下运行服务器,除非你完全清楚这样做的目的和风险。 ::: ## 多重验证登录 -多重验证登录是指服务器同时启用两种或多种验证方式,用户必须通过所有验证才能登录。这种方式通常适用于需要严格控制的账号(比如管理员),但对所有玩家启用会增加登录复杂性和成本。 +多重验证登录是指服务器同时启用两种或多种验证方式,用户必须通过所有验证才能登录。这种方式通常适用于需要严格控制的账号(比如管理员),但对所有玩家启用会增加登录复杂性和成本。 ## 混合验证登录 -混合验证登录允许服务器提供多种验证方式,供玩家选择。 +混合验证登录允许服务器提供多种验证方式,供玩家选择。 :::danger -这种方式适用于兼容多种登录方式的需求,但通常会增加维护难度和安全风险。 +这种方式适用于兼容多种登录方式的需求,但通常会增加维护难度和安全风险。 -如果没有明确的需求,不建议使用混合验证登录。任何实现混合登录的尝试都可能增加维护成本和复杂性,增加安全隐患。 +如果没有明确的需求,不建议使用混合验证登录。任何实现混合登录的尝试都可能增加维护成本和复杂性,增加安全隐患。 ::: -### Floodgate(正版登录和基岩(Xbox)登录共存) +### Floodgate(正版登录和基岩(Xbox)登录共存) -Floodgate 是一个允许使用 Minecraft 基岩版的游戏绕过 `通用外置登录` 直接加入游戏的逆天插件,它可以说也是一种混合验证登录插件,能让正版和基岩版共存。 +Floodgate 是一个允许使用 Minecraft 基岩版的游戏绕过 `通用外置登录` 直接加入游戏的逆天插件,它可以说也是一种混合验证登录插件,能让正版和基岩版共存。 -其中基岩版的玩家 UUID 由 Floodgate 通过 `Xbox账号的XUID` 来生成,UUID碰撞风险极低。 +其中基岩版的玩家 UUID 由 Floodgate 通过 `Xbox账号的XUID` 来生成,UUID碰撞风险极低。 -### 正版登录和离线(内置)登录共存 +### 正版登录和离线(内置)登录共存 一般它指实现`使正版玩家自动登录、离线玩家则需要游戏内登录`的插件 -通常此类程序内置的账号管理系统已经十分完善,如果配置得当不太可能出现UUID碰撞的风险,除非它们自身就有问题。 +通常此类程序内置的账号管理系统已经十分完善,如果配置得当不太可能出现UUID碰撞的风险,除非它们自身就有问题。 ### 正版登录和通用外置登录共存 :::danger -多外置共存问题最大,如果操作不当,可能导致一下后果: +多外置共存问题最大,如果操作不当,可能导致一下后果: 1. 可能重名: -> 在多外置共存的环境下,不同外置中的玩家可能会有相同的名字,但他们的 UUID 是不一样的。当这些玩家同时在线时可能会造成服务端整体系统的一些混淆。此外,一些不怀好意的用户可能故意使用与别人相同的名字来进行欺诈行为,这种重名和冒名的情况可能会导致安全和信任问题,给游戏环境带来潜在风险。 +> 在多外置共存的环境下,不同外置中的玩家可能会有相同的名字,但他们的 UUID 是不一样的。当这些玩家同时在线时可能会造成服务端整体系统的一些混淆。此外,一些不怀好意的用户可能故意使用与别人相同的名字来进行欺诈行为,这种重名和冒名的情况可能会导致安全和信任问题,给游戏环境带来潜在风险。 2. UUID碰撞 -> 在多外置共存的环境下,UUID碰撞的概率被放大了,而UUID相当于玩家的身份证,一旦出现 UUID 碰撞的话,可能会带来严重的后果。这将会导致玩家数据丢失设置错乱,并且排查和解决这些问题会极其困难,将导致灾难性的损失。 +> 在多外置共存的环境下,UUID碰撞的概率被放大了,而UUID相当于玩家的身份证,一旦出现 UUID 碰撞的话,可能会带来严重的后果。这将会导致玩家数据丢失设置错乱,并且排查和解决这些问题会极其困难,将导致灾难性的损失。 ::: -相比于 `正版登录和离线(内置)登录共存` 以及 `Floodgate(正版登录和基岩版(Xbox)登录共存)`,他们两个通常都拥有专用的账号管理系统来防止玩家身份混淆和相关问题。然而,Yggdrasil 本身就是一个独立的账号管理系统,多外置之间通常无法直接通信和同步信息。因此在多外置系统共存的环境下,如果不设计一个完善的身份管理系统,极有可能出现上述后果,从而引发严重的安全和信任问题。 +相比于 `正版登录和离线(内置)登录共存` 以及 `Floodgate(正版登录和基岩版(Xbox)登录共存)`,他们两个通常都拥有专用的账号管理系统来防止玩家身份混淆和相关问题。然而,Yggdrasil 本身就是一个独立的账号管理系统,多外置之间通常无法直接通信和同步信息。因此在多外置系统共存的环境下,如果不设计一个完善的身份管理系统,极有可能出现上述后果,从而引发严重的安全和信任问题。 -好在UUID碰撞概率相当的低,普通服主或管理员只需要考虑重名问题就好了,是吧。 +好在UUID碰撞概率相当的低,普通服主或管理员只需要考虑重名问题就好了,是吧。 diff --git a/docs-java/intro.md b/docs-java/intro.md index 2f64fd640..0b11edb06 100644 --- a/docs-java/intro.md +++ b/docs-java/intro.md @@ -7,13 +7,13 @@ sidebar_position: 1 👋 欢迎来到笨蛋开服教程 **Java** 板块! -此板块是一篇主要针对 **高版本 Java 版** 服务器的开服指南,而非**基岩版**或**远古核心**。 +此板块是一篇主要针对 **高版本 Java 版** 服务器的开服指南,而非**基岩版**或**远古核心**。 # 开始你的旅程 ![:NitWikit](https://count.kjchmc.cn/get/@:NitWikit) -如果你确定你符合条件,请点击一侧的目录开始阅读文档。 +如果你确定你符合条件,请点击一侧的目录开始阅读文档。 # 更多 diff --git a/docs-java/preparation/preparation.md b/docs-java/preparation/preparation.md index 753f00111..b86ca49ef 100644 --- a/docs-java/preparation/preparation.md +++ b/docs-java/preparation/preparation.md @@ -6,7 +6,7 @@ sidebar_position: 3 # 准备工作 -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: +在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; @@ -16,8 +16,8 @@ import DocCardList from '@theme/DocCardList'; Java 是开 Java 版 Minecraft 服务器必要的; -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; +文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; +网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; 笨蛋脚本主要用于一键式配置文件、安装插件等。 diff --git a/docs-java/preparation/websites.md b/docs-java/preparation/websites.md index d438953a0..529e01e2b 100644 --- a/docs-java/preparation/websites.md +++ b/docs-java/preparation/websites.md @@ -5,15 +5,15 @@ sidebar_position: 3 # 可能用到的网站 -开服不能只是从某一网站或者简单百度、谷歌获取资源,这样获取的资源种类非常贫乏。 +开服不能只是从某一网站或者简单百度、谷歌获取资源,这样获取的资源种类非常贫乏。 -因此,如果你是失去了 MCBBS 就不知道去哪里搜索 Minecraft 相关资源, +因此,如果你是失去了 MCBBS 就不知道去哪里搜索 Minecraft 相关资源, 以下是一些可供参考的推荐网站: # SpigotMC -Minecraft 最大的插件网站,***建议注册账号并安装 [Spigot Search Engine](https://www.spigotmc.org/resources/spigotsearchengine.54108/)*** +Minecraft 最大的插件网站,***建议注册账号并安装 [Spigot Search Engine](https://www.spigotmc.org/resources/spigotsearchengine.54108/)***
点击展开 @@ -30,14 +30,14 @@ Minecraft 最大的插件网站,***建议注册账号并安装 [Spigot Search -SpigotMC 应该是目前 Minecraft 开服圈最大的插件网站了,最大的问题是插件搜索引擎十分狗屎。 +SpigotMC 应该是目前 Minecraft 开服圈最大的插件网站了,最大的问题是插件搜索引擎十分狗屎。
注册问题 ![](_images/spigotmc.png) -使用魔法就可以看到验证了,而不是傻呵呵的跟人说。 +使用魔法就可以看到验证了,而不是傻呵呵的跟人说。 *SpigotMC不开放注册* *老外的网站真反人类* @@ -72,7 +72,7 @@ SpigotMC 应该是目前 Minecraft 开服圈最大的插件网站了,最大的 虽然不登录账号不影响你浏览仓库和下载 Release 等。 -但是登录后可以给作者发 Issues 来报告问题,提交新需求/建议,还可以下载 Actions 中的文件。 +但是登录后可以给作者发 Issues 来报告问题,提交新需求/建议,还可以下载 Actions 中的文件。
注册问题 @@ -84,12 +84,12 @@ SpigotMC 应该是目前 Minecraft 开服圈最大的插件网站了,最大的
连不上怎么办 -这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要Github域名指向任意IP,该IP的443端口就会超时3分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。 +这是由于 GitHub 是开放的外国网站,网站上时不时会有一些不能在此讨论的内容,所以运营商会刻意地屏蔽这个网站,在很多时候都不能正常访问。具体的表现如下:[只要Github域名指向任意IP,该IP的443端口就会超时3分钟](https://blog.csdn.net/weixin_43659597/article/details/118882176)。 有以下几种解决办法: 1. 魔法 2. [改hosts](https://www.cnblogs.com/eudaimonia/p/16001981.html#1034247326) -3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到**网络加速**,点击**平台加速(免费)**,往下翻勾上GitHub,然后点击**一键加速**,随后就可以正常访问GitHub了 +3. [Watt Toolkit](https://steampp.net/):下载安装完成后,在左侧侧边栏切换到**网络加速**,点击**平台加速(免费)**,往下翻勾上GitHub,然后点击**一键加速**,随后就可以正常访问GitHub了
@@ -115,7 +115,7 @@ GitHub 汉化插件:https://github.com/maboloshi/github-chinese # MineBBS -国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。 +国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。
点击展开 @@ -134,15 +134,15 @@ GitHub 汉化插件:https://github.com/maboloshi/github-chinese 插件板块:https://www.minebbs.com/forums/mcjeplugin/ -同时,本教程在 MineBBS 也有搬运贴:https://www.minebbs.com/threads/nitwikit-geyser.26356/ +同时,本教程在 MineBBS 也有搬运贴:https://www.minebbs.com/threads/nitwikit-geyser.26356/
# Builtbybit -一个综合交易平台,其中的 Minecraft 插件大多数都是付费的。 +一个综合交易平台,其中的 Minecraft 插件大多数都是付费的。 -有一些圈钱的垃圾插件,请仔细辨别后购买。 +有一些圈钱的垃圾插件,请仔细辨别后购买。
点击展开 @@ -161,7 +161,7 @@ GitHub 汉化插件:https://github.com/maboloshi/github-chinese 如果你的钱包空空就别考虑了。 -此外,此网站和 CurseForge 一样并不只有 Minecraft 相关资源,请注意识别别看错了。 +此外,此网站和 CurseForge 一样并不只有 Minecraft 相关资源,请注意识别别看错了。 *链接已重定向到 Minecraft 相关资源区* 地址:https://builtbybit.com/resources/categories/minecraft-plugins.1/ @@ -193,7 +193,7 @@ GitHub 汉化插件:https://github.com/maboloshi/github-chinese # Bukkit -一个相对 SpigotMC 更加古老的插件发布网站,一般用于寻找远古插件。 +一个相对 SpigotMC 更加古老的插件发布网站,一般用于寻找远古插件。
点击展开 @@ -218,7 +218,7 @@ GitHub 汉化插件:https://github.com/maboloshi/github-chinese # Modrinth -现代化的 Minecraft 新兴资源站,插件相对较新较少,而且大部分都开源。 +现代化的 Minecraft 新兴资源站,插件相对较新较少,而且大部分都开源。
点击展开 @@ -237,7 +237,7 @@ GitHub 汉化插件:https://github.com/maboloshi/github-chinese 插件搜索引擎比 spigot 强了好几倍。 -因为是新兴资源站,某些资源并未在此发布,但是足够你用了。 +因为是新兴资源站,某些资源并未在此发布,但是足够你用了。 地址:https://modrinth.com/ @@ -245,7 +245,7 @@ GitHub 汉化插件:https://github.com/maboloshi/github-chinese # PaperMC -Paper 的现代化的插件平台,目前正在 Beta 阶段,插件相对较新较少,但是都经过 Paper 官方验证,并且可以找到支持 Folia 和 Velocity 的插件。 +Paper 的现代化的插件平台,目前正在 Beta 阶段,插件相对较新较少,但是都经过 Paper 官方验证,并且可以找到支持 Folia 和 Velocity 的插件。
点击展开 @@ -270,7 +270,7 @@ Paper 的现代化的插件平台,目前正在 Beta 阶段,插件相对较 # MOTD 生成网站 -MOTD 就是 Minecraft 客户端在尝试连接服务器之前,服务器对客户端发送的一条短消息,这通常包含1-3行文字和一张图片。 +MOTD 就是 Minecraft 客户端在尝试连接服务器之前,服务器对客户端发送的一条短消息,这通常包含1-3行文字和一张图片。
听不懂描述就展开看图 @@ -279,7 +279,7 @@ MOTD 就是 Minecraft 客户端在尝试连接服务器之前,服务器对客
-MOTD 是玩家进入服务器之前最先看到的东西,决定了玩家对一个服务器的第一印象,所以,请任选一个 MOTD 生成器生成个性化 MOTD: +MOTD 是玩家进入服务器之前最先看到的东西,决定了玩家对一个服务器的第一印象,所以,请任选一个 MOTD 生成器生成个性化 MOTD: [MOTD.gg](https://motd.gg)(非常非常推荐)(~~还可以偷别的服务器的motd~~) @@ -289,21 +289,21 @@ MOTD 是玩家进入服务器之前最先看到的东西,决定了玩家对一 # Minecraft 工具箱 -有时候你项要加三两个数据包形式的自定义合成,自定义超平坦地图,烟花,文本生成等,但苦恼不会使用? +有时候你项要加三两个数据包形式的自定义合成,自定义超平坦地图,烟花,文本生成等,但苦恼不会使用? -请选择 [Minecraft 工具箱](https://minecraft.tools/),自动生成各种 Minecraft 指令、数据包等。 +请选择 [Minecraft 工具箱](https://minecraft.tools/),自动生成各种 Minecraft 指令、数据包等。 # 像素云黑 指像素论坛的[失信人员名单页面](https://www.pixelbbs.cn/f-50-1.html)。 -交易前查询下这人有没有被记录过,被记录过就别交易了。如果你被骗了,搜集证据去发个帖,给大家避个雷。 +交易前查询下这人有没有被记录过,被记录过就别交易了。如果你被骗了,搜集证据去发个帖,给大家避个雷。 能为你避开 90% 诈骗坑的[防骗小技巧](https://www.pixelbbs.cn/t-1377-1-1.html)。 # bStats -常用的统计数据网站,不少开发者会在自己的插件中写统计数据功能(一般默认开启) +常用的统计数据网站,不少开发者会在自己的插件中写统计数据功能(一般默认开启) 例如: diff --git a/docs-java/process/maintenance/anticheat/anticheat.md b/docs-java/process/maintenance/anticheat/anticheat.md index b895b47a5..e15be7a47 100644 --- a/docs-java/process/maintenance/anticheat/anticheat.md +++ b/docs-java/process/maintenance/anticheat/anticheat.md @@ -6,9 +6,9 @@ slug: /anticheat # 概览 -在各种各样的 Minecraft 服务器中都存在各种各样的 **Hacker Client User**(作弊端用户) +在各种各样的 Minecraft 服务器中都存在各种各样的 **Hacker Client User**(作弊端用户) -作弊者通过作弊软件获取其他合法玩家无法取得的优势,从而影响游戏平衡性。 +作弊者通过作弊软件获取其他合法玩家无法取得的优势,从而影响游戏平衡性。 各服主和合法玩家都会为解决这些作弊端用户头痛不已。所以这章来了解一些反作弊插件 @@ -19,7 +19,7 @@ slug: /anticheat 一般认为的作弊包括但不限于: - 种子推演 -- RNG(随机数)预测 +- RNG(随机数)预测 - 自动前往、药品、举盾、挖矿等 - 刀刀暴击、杀戮光环等战斗作弊 - 穿墙、高跳、飞行等移动作弊 @@ -27,10 +27,10 @@ slug: /anticheat # 注意 -反作弊在尽量不影响合法玩家游玩的前提下,**惩戒**和**阻拦**作弊玩家。 +反作弊在尽量不影响合法玩家游玩的前提下,**惩戒**和**阻拦**作弊玩家。 -但由于 Minecraft 协议的特殊性,很多数据是服务端难以判断是否合法的。 +但由于 Minecraft 协议的特殊性,很多数据是服务端难以判断是否合法的。 -作弊和反作弊永远是一个你追我赶的永无休止的竞赛,你无法抓到每一个作弊者。 +作弊和反作弊永远是一个你追我赶的永无休止的竞赛,你无法抓到每一个作弊者。 -**_最好的反作弊是社区,一个良好的社区会自发的举报作弊。_** +**_最好的反作弊是社区,一个良好的社区会自发的举报作弊。_** diff --git a/docs-java/process/maintenance/anticheat/anticheatplugins.md b/docs-java/process/maintenance/anticheat/anticheatplugins.md index 5559496db..88098a6e0 100644 --- a/docs-java/process/maintenance/anticheat/anticheatplugins.md +++ b/docs-java/process/maintenance/anticheat/anticheatplugins.md @@ -5,7 +5,7 @@ sidebar_position: 1 :::tip[写在最前] -混合端**不要**用下面所列的反作弊插件,建议使用 [次元反作弊](https://www.mcmod.cn/class/6578.html) 或 [猫反作弊](https://www.wxmwl.com/?p=95) +混合端**不要**用下面所列的反作弊插件,建议使用 [次元反作弊](https://www.mcmod.cn/class/6578.html) 或 [猫反作弊](https://www.wxmwl.com/?p=95) 次元反作弊的交流群:327175980 @@ -13,25 +13,25 @@ sidebar_position: 1 # 选择反作弊插件 -好的反作弊插件通过对玩家行为进行分析从而找出违规者可能的违规行为,从而限制甚至封禁。 +好的反作弊插件通过对玩家行为进行分析从而找出违规者可能的违规行为,从而限制甚至封禁。 -市面上的反作弊很多,常常让人难以选择。为了让新手入门反作弊,我们写了一部分常见的反作弊插件。 +市面上的反作弊很多,常常让人难以选择。为了让新手入门反作弊,我们写了一部分常见的反作弊插件。 -虽然这些插件均存在绕过,但是仍然能检测或削弱 **大部分** 的作弊玩家,希望能帮到你。 +虽然这些插件均存在绕过,但是仍然能检测或削弱 **大部分** 的作弊玩家,希望能帮到你。 :::warning[警告] -不要使用任何已经停止更新的反作弊插件,因为他们并不能支持最新版本且缺少对其他插件的兼容性,除非你有能力自己解决这些问题,不然就尽量不去使用已经停止更新的反作弊。而大多数反作弊插件对混合端和 Geyser 的支持有限甚至没有,可能需要其他方式解决。 +不要使用任何已经停止更新的反作弊插件,因为他们并不能支持最新版本且缺少对其他插件的兼容性,除非你有能力自己解决这些问题,不然就尽量不去使用已经停止更新的反作弊。而大多数反作弊插件对混合端和 Geyser 的支持有限甚至没有,可能需要其他方式解决。 -没有任何一个反作弊是无法被绕过的,且所以反作弊都会有误判。反作弊该做的应是限制玩家的作弊行为并帮助管理员辨别作弊者,不要过度依赖或期望反作弊自动识别作弊者并将其封禁或踢出。 +没有任何一个反作弊是无法被绕过的,且所以反作弊都会有误判。反作弊该做的应是限制玩家的作弊行为并帮助管理员辨别作弊者,不要过度依赖或期望反作弊自动识别作弊者并将其封禁或踢出。 ::: ## Matrix(推荐) -Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取代 AAC 这款反作弊插件, +Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取代 AAC 这款反作弊插件, -而如今经过不断改良也拥有了不错的检测性能和质量,足以对抗部分脑溢血参数。 +而如今经过不断改良也拥有了不错的检测性能和质量,足以对抗部分脑溢血参数。 !试用版只拥有少部分检测且只支持一台机器 !7天使用权到期后可继续订阅试用版使用 @@ -43,39 +43,39 @@ Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取 企业版 - 499 RMB -- 拥有所有检测(虽然多的检测误判挺多的) +- 拥有所有检测(虽然多的检测误判挺多的) - 可同时给 40 台机器使用 - 可对你的服务器进行深度定制 -如果你是生存服,可以先使用试用版进行测试,如何再进行付费版本的购买 +如果你是生存服,可以先使用试用版进行测试,如何再进行付费版本的购买 -如果你是大型小游戏/大型群组服,可以购买企业版,这能让 Matrix 对你的服务器进行更深度的定制 +如果你是大型小游戏/大型群组服,可以购买企业版,这能让 Matrix 对你的服务器进行更深度的定制 > 官网: matrix.rip ## NoCheatPlus-Update -非常经典的老牌反作弊,拥有悠久历史且和作弊者们对抗许久,但目前并不积极的进行更新, +非常经典的老牌反作弊,拥有悠久历史且和作弊者们对抗许久,但目前并不积极的进行更新, -且由于远古代码遗留导致部分检测较为低下,但这并不影响它是个不错的反作弊。 +且由于远古代码遗留导致部分检测较为低下,但这并不影响它是个不错的反作弊。 !只推荐影响原版插件较少的生存服务器使用。 -!由于配置文件过于复杂,需要花费一段时间来理解和调整配置文件。 +!由于配置文件过于复杂,需要花费一段时间来理解和调整配置文件。 !不建议在不接触配置文件的情况下直接使用该插件。 > GitHub: https://github.com/Updated-NoCheatPlus/NoCheatPlus -或者 Leaf 核心作者 [Dreeam](https://github.com/Dreeam-qwq)(国人)的分支版本,这个版本剔除了一些检测以提升性能。 +或者 Leaf 核心作者 [Dreeam](https://github.com/Dreeam-qwq)(国人)的分支版本,这个版本剔除了一些检测以提升性能。 > https://github.com/Dreeam-qwq/NoCheatPlus ## GrimAC 2.0 -一个不错的实验性反作弊,支持避免检查来自 Geyser 的玩家,移动检测虽然强大但有很多误判。 +一个不错的实验性反作弊,支持避免检查来自 Geyser 的玩家,移动检测虽然强大但有很多误判。 -!目前仍然有很多不稳定因素,但 Timer 和 Reach , BadPackets 检查都是较为稳定的。 +!目前仍然有很多不稳定因素,但 Timer 和 Reach , BadPackets 检查都是较为稳定的。 !除了实验性检查, 其余的检查是不可被关闭的。 @@ -85,21 +85,21 @@ Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取 ## Vulcan -老牌火神反作弊,虽然在几个版本存在十分严重的漏洞,但并不影响他一些检测强力的事实,尽管他的配置文件非常脑淤血,但还是深受多人喜爱。 +老牌火神反作弊,虽然在几个版本存在十分严重的漏洞,但并不影响他一些检测强力的事实,尽管他的配置文件非常脑淤血,但还是深受多人喜爱。 -!拥有中规中矩的检测,但由于拉回系统非常不稳定,建议慎用或与其它反作弊搭配使用。 +!拥有中规中矩的检测,但由于拉回系统非常不稳定,建议慎用或与其它反作弊搭配使用。 > SpigotMC: https://www.spigotmc.org/resources/vulcan-anti-cheat-advanced-cheat-detection-1-7-1-20-4.83626/ ## 不推荐 - Spartan -老牌垃圾反作弊,性能拉胯误判多,有很多无用和多余的检测,不如其它开源或具有相同价格的反作弊。 +老牌垃圾反作弊,性能拉胯误判多,有很多无用和多余的检测,不如其它开源或具有相同价格的反作弊。 -对于 Geyser 的基岩版支持也是如此,并且从一开始的同时检查基岩版玩家和 Java 版玩家被拆分成了 Spartan: Java 和 Spartan: Bedrock 两个不同的版本。 +对于 Geyser 的基岩版支持也是如此,并且从一开始的同时检查基岩版玩家和 Java 版玩家被拆分成了 Spartan: Java 和 Spartan: Bedrock 两个不同的版本。 -被 md_5 警告后在 SpigotMC上 捆绑销售。就算你需要退款,先请在 SpigotMC 上撤回你的负面言论后才可进行 Spartan 的退款服务, +被 md_5 警告后在 SpigotMC上 捆绑销售。就算你需要退款,先请在 SpigotMC 上撤回你的负面言论后才可进行 Spartan 的退款服务, -由于购买后 6 个月需要重新支付才能继续使用且包含额外的需要付费的功能导致被 md_5 警告的传奇反作弊,这就是 Spartan-AntiCheat。 +由于购买后 6 个月需要重新支付才能继续使用且包含额外的需要付费的功能导致被 md_5 警告的传奇反作弊,这就是 Spartan-AntiCheat。 > SpigotMC: https://www.spigotmc.org/resources/spartan-anti-cheat-advanced-cheat-hack-detection-1-7-1-20-4-33-off.25638/ @@ -112,28 +112,28 @@ Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取 * 自动药水 * 自动工具 * 分析不可能发送的数据包 -* (以及更多) +* (以及更多) [查看地址](https://www.spigotmc.org/resources/anticheataddition.33590/) -## XCatch +## AntiCheatObfuscator -这个插件是一个通过分析玩家发现矿物的数量的反 X-ray 插件。 +此插件会 "混淆 你的服务器上的反作弊,可以避免作弊者发现你的反作弊组合而针对性绕过 - [查看地址](https://www.spigotmc.org/resources/xcatch-anti-xray-1-13-1-19.101227/) +[下载地址](https://www.minebbs.com/resources/anticheatobfuscator-1-8-1-20.9251/) ## ClientDetectorPlus -一个可以用来查端的插件,可以检测客户端是什么类型的客户端,可以检测到部分模组。 +一个可以用来查端的插件,可以检测客户端是什么类型的客户端,可以检测到部分模组。 [查看地址](https://www.spigotmc.org/resources/clientdetectorplus-now-in-alpha-testing.90375/) --- ## 只有这几个? -你难道想让我把 Intave Karhu Polar那些什么全部都列出来吗, +你难道想让我把 Intave Karhu Polar那些什么全部都列出来吗, -要求不高这几个主流就差不多够用了,毕竟是面向小白的开服教程, +要求不高这几个主流就差不多够用了,毕竟是面向小白的开服教程, 后面想试试非主流反作弊请自己去官网购买就好了捏。 @@ -141,25 +141,25 @@ Matrix 是由国人 RE 编写的一款反作弊插件,当年诞生是用于取 ## Talent 先生的反作弊配置 -一款面向萌新的主流反作弊配置,对配置有任何问题骚扰 Talents 先生项目的 Issues 即可解决! +一款面向萌新的主流反作弊配置,对配置有任何问题骚扰 Talents 先生项目的 Issues 即可解决! GitHub:https://github.com/TalentsRC/Talents-AntiCheat-Config ## ViaBackwards -如果你在你的服务器使用了跨版本插件(Viaversion),你需要开启这个选项以增加反作弊对其他版本的兼容性。 +如果你在你的服务器使用了跨版本插件(Viaversion),你需要开启这个选项以增加反作弊对其他版本的兼容性。 打开 `ViaBackwards/config.yml` ,找到 `handle-pings-as-inv-acknowledgements` 配置项,把它改成 `true` 就可以增加对反作弊的兼容性 ## 笨蛋脚本 -[自动为你配置反作弊,下载!](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/config-anticheat.exe) +[自动为你配置反作弊,下载!](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/config-anticheat.exe) # 组合反作弊 -一般个人建议是一个服务器的反作弊两个足够,一个的话容易被绕, +一般个人建议是一个服务器的反作弊两个足够,一个的话容易被绕, -太多又会严重影响服务器性能,并产生大量误判,一般装两个足够了。 +太多又会严重影响服务器性能,并产生大量误判,一般装两个足够了。 :::warning diff --git a/docs-java/process/maintenance/anticheat/antixray.md b/docs-java/process/maintenance/anticheat/antixray.md index 5e5179c75..b0eb79f08 100644 --- a/docs-java/process/maintenance/anticheat/antixray.md +++ b/docs-java/process/maintenance/anticheat/antixray.md @@ -8,22 +8,22 @@ sidebar_position: 2 为什么常规的反作弊插件不会包括部分作弊类型? * 矿物透视与种子破解其实是很难从服务器所收到的玩家行为包分析得到的。 -* 插件往往术语有专攻,一个过于齐全的插件会像 ESS / CMI 一样累赘。 +* 插件往往术语有专攻,一个过于齐全的插件会像 ESS / CMI 一样累赘。 * 插件对于"种子"这种相当底层的特征的修改并不如核心稳定高效。 ## 矿物透视与种子破解 矿物透视是作弊客户端通过材质包、透明渲染非矿物方块等方式实现的对服务器矿物的快速搜索。 -而 Minecraft 的结构和矿物等的生成均由种子决定,因此也可以进行种子反推了解服务器结构位置。 +而 Minecraft 的结构和矿物等的生成均由种子决定,因此也可以进行种子反推了解服务器结构位置。 -矿物透视和种子破解会导致玩家在非常短的时间内获取大量物资,这会影响大多数服务器的平衡和经济。 +矿物透视和种子破解会导致玩家在非常短的时间内获取大量物资,这会影响大多数服务器的平衡和经济。 ### 延长种子反推 #### 自动版 -请使用[笨蛋脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/auto-antiseedcracker.exe),在服务器根目录执行即可自动配置!! +请使用[笨蛋脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/auto-antiseedcracker.exe),在服务器根目录执行即可自动配置!! #### 特征使用随机种子 @@ -35,9 +35,9 @@ sidebar_position: 2 feature-seeds: generate-random-seeds-for-all: true ``` -> 这是对每个建筑使用随机种子,防止你的世界种子轻易的被破解 +> 这是对每个建筑使用随机种子,防止你的世界种子轻易的被破解 -> 如果发现你的 `spigot.yml` 中出现了类似以下的配置配置就成功了,你可以修改其中的种子。(但其实不改也完全没问题) +> 如果发现你的 `spigot.yml` 中出现了类似以下的配置配置就成功了,你可以修改其中的种子。(但其实不改也完全没问题) ```yaml seed-village: 10387312 @@ -66,15 +66,15 @@ feature-seeds: #### Matter 安全种子 -如果你使用包含 Matter 安全种子补丁的分支(目前仅存在 Leaf),那么恭喜你,你可以体验到安全功能种子, +如果你使用包含 Matter 安全种子补丁的分支(目前仅存在 Leaf),那么恭喜你,你可以体验到安全功能种子, -地形和生物群落的生成保持不变,但所有矿石和结构都是用 1024 位种子生成的,而不是通常的 64 位种子。 +地形和生物群落的生成保持不变,但所有矿石和结构都是用 1024 位种子生成的,而不是通常的 64 位种子。 -这种种子几乎不可能破解,因为所需的破解时间和资源极长无比,如果你正在使用,那么你基本不用担心种子破解。 +这种种子几乎不可能破解,因为所需的破解时间和资源极长无比,如果你正在使用,那么你基本不用担心种子破解。 :::danger[特别注意] -开启 Leaf 安全种子之前,你要明白这玩意儿是**不能关闭的**,也就是说,你开启后,除非你删档重开,不然必须使用安全种子 +开启 Leaf 安全种子之前,你要明白这玩意儿是**不能关闭的**,也就是说,你开启后,除非你删档重开,不然必须使用安全种子 ::: @@ -82,11 +82,11 @@ feature-seeds: #### 插件 -使用插件 [AntiSeedCracker](https://www.spigotmc.org/resources/antiseedcracker-1-20-4.81495/) ,这个插件会发送一个虚假的种子到客户端,客户端仍然可以通过分析地形来破解,但难度会大大增强 +使用插件 [AntiSeedCracker](https://www.spigotmc.org/resources/antiseedcracker-1-20-4.81495/) ,这个插件会发送一个虚假的种子到客户端,客户端仍然可以通过分析地形来破解,但难度会大大增强 #### 重置资源世界 -如果你还是害怕长期推演导致的种子反推。你可以在使用以上一种或多种方法的前提下重置世界,但是这往往只适用于资源世界等。 +如果你还是害怕长期推演导致的种子反推。你可以在使用以上一种或多种方法的前提下重置世界,但是这往往只适用于资源世界等。 ### 设置假矿 @@ -94,7 +94,7 @@ feature-seeds: #### 自动版 -使用[笨蛋脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/auto_antixray.exe),在服务器根目录执行脚本即可自动配置!! +使用[笨蛋脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/auto_antixray.exe),在服务器根目录执行脚本即可自动配置!! ⚠警告:`engine-mode: 3` 在 `paper 1.19.3` 往后的版本才添加⚠ @@ -107,7 +107,7 @@ feature-seeds: :::
- 配置 Ⅰ - *带宽消耗较大,效果非常好* + 配置 Ⅰ - *带宽消耗较大,效果非常好* ```yaml anticheat: @@ -166,7 +166,7 @@ anticheat:
- 配置Ⅱ - *带宽消耗中等,效果中等 + 配置Ⅱ - *带宽消耗中等,效果中等 ```yaml anticheat: @@ -224,7 +224,7 @@ anticheat:
- 配置Ⅲ - *降低带宽消耗,效果较差* + 配置Ⅲ - *降低带宽消耗,效果较差* ```yaml anticheat: @@ -268,7 +268,7 @@ anticheat: 将下列你喜欢的配置进行复制粘贴即可
- 下界配置 Ⅰ - *带宽压力翻倍,效果好,客户端 FPS 可能下降* + 下界配置 Ⅰ - *带宽压力翻倍,效果好,客户端 FPS 可能下降* ```yaml anticheat: @@ -302,7 +302,7 @@ anticheat:
- 下界配置 Ⅱ - *带宽占用略微降低,效果一般(但下届合金一定会被隐藏)* + 下界配置 Ⅱ - *带宽占用略微降低,效果一般(但下届合金一定会被隐藏)* ```yaml anticheat: @@ -326,7 +326,7 @@ anticheat:
- 下界配置 Ⅲ - *带宽占用较大提升,效果较好* + 下界配置 Ⅲ - *带宽占用较大提升,效果较好* ```yaml anticheat: @@ -359,7 +359,7 @@ anticheat:
-在末地由于没有矿物,我们推荐将 `world_the_end/paper.world.yml` 进行以下配置即可。 +在末地由于没有矿物,我们推荐将 `world_the_end/paper.world.yml` 进行以下配置即可。 ```yaml anticheat: @@ -367,13 +367,13 @@ anticheat: enabled: false ``` -注意,如果你需要隐藏暴露在空气中的方块,需要将 `air` 添加到 `hidden-blocks` 和 `replacement-blocks` ,但这非常影响性能,不推荐。 +注意,如果你需要隐藏暴露在空气中的方块,需要将 `air` 添加到 `hidden-blocks` 和 `replacement-blocks` ,但这非常影响性能,不推荐。 :::info -将配置文件复制到对应 `.yml` 文件中时,如果已经存在,请相应的进行覆盖而不是简单复制到最后。 +将配置文件复制到对应 `.yml` 文件中时,如果已经存在,请相应的进行覆盖而不是简单复制到最后。 -如果并不存在类似的文本,那么请直接复制到对应世界 `.yml` 中。 +如果并不存在类似的文本,那么请直接复制到对应世界 `.yml` 中。 ::: @@ -381,20 +381,26 @@ anticheat: #### RayTraceAntiXray -[RayTraceAntiXray](https://builtbybit.com/resources/raytraceantixray.24914/),[开源](https://github.com/stonar96/RayTraceAntiXray)付费且仅售 7 美元。 +[RayTraceAntiXray](https://builtbybit.com/resources/raytraceantixray.24914/),[开源](https://github.com/stonar96/RayTraceAntiXray)付费且仅售 7 美元。 是一款用于隐藏 paper 服务器中使用 `engine-mode: 1` 时暴露在空气中的未隐藏方块的插件。 -其使用了异步多线程光线追踪,判断玩家是否能看到目标方块,从而在玩家能够看到目标方块时发送真实方块信息。 +其使用了异步多线程光线追踪,判断玩家是否能看到目标方块,从而在玩家能够看到目标方块时发送真实方块信息。 -可以优化自带的 Anti-Xray ,减小服务器的带宽开销,如需构建请自行构建。 +可以优化自带的 Anti-Xray ,减小服务器的带宽开销(甚至比不使用Anti-Xray的宽带占用还低!),如需构建请自行构建。 #### RaytraceAntiXray -一个功能非常多的反X光插件,支持隐藏方块(并且支持XMat命名),隐藏,箱子,刷怪笼之类的,作者现在正在编写结构隐藏 +一个功能非常多的反X光插件,支持隐藏方块(并且支持XMat命名),隐藏,箱子,刷怪笼之类的,作者现在正在编写结构隐藏 [购买链接](https://builtbybit.com/resources/raytraceantixray-ores-entities-tiles.41896/) 有点小贵 +#### Xrai (服务器在国内不推荐) + +Xrai 通过 AI 分析玩家是否开启 XRay,并在发现时运行指定操作来帮助您管理您的服务器。 + +但是该插件的服务器位于国外,所以国内访问会较慢 + :::warning 在使用 Paper 及其 Fork 时。请停止使用 [Orebfuscator](https://modrinth.com/plugin/orebfuscator) 等假矿插件。换用 Paper 自带的 Anti-Xray。 diff --git a/docs-java/process/maintenance/anticheat/rng.md b/docs-java/process/maintenance/anticheat/rng.md index ddc0d6299..16f6abfd8 100644 --- a/docs-java/process/maintenance/anticheat/rng.md +++ b/docs-java/process/maintenance/anticheat/rng.md @@ -7,13 +7,13 @@ sidebar_position: 3 RNG 是 **随机数生成器** 的简写。 -本质上只是个计算器,用来计算 Minecraft 中的随机事件。 +本质上只是个计算器,用来计算 Minecraft 中的随机事件。 **原理?** -计算机产生随机数不是真正的随机,而是根据已有的数据,通过复杂的公式产生一个 “伪随机数” 。 +计算机产生随机数不是真正的随机,而是根据已有的数据,通过复杂的公式产生一个 “伪随机数” 。 -那么,如果你知道这个公式,并且知道要使用什么数据,操纵进入公式的数据,就可以使随机数变成自己想要的结果。 +那么,如果你知道这个公式,并且知道要使用什么数据,操纵进入公式的数据,就可以使随机数变成自己想要的结果。 利用此漏洞的客户端 mod: @@ -28,15 +28,15 @@ RNG 是 **随机数生成器** 的简写。 ## 耐久无损耗 -耐久附魔不是增加物品的耐久,而是有概率不消耗耐久。 +耐久附魔不是增加物品的耐久,而是有概率不消耗耐久。 ## 钓鱼出指定宝藏 -同理,玩家可以想钓出什么,就能钓出什么。 +同理,玩家可以想钓出什么,就能钓出什么。 # 如何防御 RNG 漏洞 -[purpur](https://purpurmc.org/) 和 [leaves](https://leavesmc.org/) 核心(包括它们的分支),可以防止玩家破解 RNG 。 +[purpur](https://purpurmc.org/) 和 [leaves](https://leavesmc.org/) 核心(包括它们的分支),可以防止玩家破解 RNG 。 你可以将配置改为如下 (默认就是开启的): @@ -54,5 +54,5 @@ RNG 是 **随机数生成器** 的简写。 use-vanilla-random: false ``` -如果你使用 Gale、Leaf 等核心,你甚至无需为此担心,因为他们的 RNG 算法已经经过改良,不再是原版的 RNG 。 +如果你使用 Gale、Leaf 等核心,你甚至无需为此担心,因为他们的 RNG 算法已经经过改良,不再是原版的 RNG 。 diff --git a/docs-java/process/maintenance/backup.md b/docs-java/process/maintenance/backup.md index 2517e6a68..0a67f3916 100644 --- a/docs-java/process/maintenance/backup.md +++ b/docs-java/process/maintenance/backup.md @@ -5,21 +5,21 @@ sidebar_position: 5 ## 备份 -你也不想你和你的玩家辛苦开发的世界由于一次断电,一次崩溃而毁于一旦吧? 这些情况很少发生但无法避免,经常做备份是有必要的! +你也不想你和你的玩家辛苦开发的世界由于一次断电,一次崩溃而毁于一旦吧? 这些情况很少发生但无法避免,经常做备份是有必要的! ### 备份插件 -推荐两个备份插件(高效的备份,无需停服即可备份): +推荐两个备份插件(高效的备份,无需停服即可备份): -[ebackup](https://www.spigotmc.org/resources/ebackup-simple-and-reliable-backups-for-your-server-supports-ftp-sftp.69917/) 可设置黑名单不备份某些文件,FTP远程备份支持 +[ebackup](https://www.spigotmc.org/resources/ebackup-simple-and-reliable-backups-for-your-server-supports-ftp-sftp.69917/) 可设置黑名单不备份某些文件,FTP远程备份支持 -[serverbackup](https://www.spigotmc.org/resources/server-backup-ingame-dropbox-ftp-backup-1-8-1-20-multithreaded.79320/) 可支持动态备份(即只备份最近变更过的文件),占用空间更小 +[serverbackup](https://www.spigotmc.org/resources/server-backup-ingame-dropbox-ftp-backup-1-8-1-20-multithreaded.79320/) 可支持动态备份(即只备份最近变更过的文件),占用空间更小 :::warning -虽然使用插件备份既方便又快速,但是插件备份得到的文件有可能是损坏的。 +虽然使用插件备份既方便又快速,但是插件备份得到的文件有可能是损坏的。 -在空间和时间都充足的情况下,推荐直接关服进行备份,并定期检测备份的文件是否存在损坏。 +在空间和时间都充足的情况下,推荐直接关服进行备份,并定期检测备份的文件是否存在损坏。 ::: @@ -37,11 +37,11 @@ InventoryRollbackPlus 插件可以备份玩家的背包。 #### [MCServerBackup](https://github.com/OblivionOcean/MCServerBackup) -MCServerBackup 是由 (玄云海 OblivionOcean)[https://github.com/OblivionOcean] 自主研发的一款 Minecraft Java 服务器自动备份软件,主要用于区块备份 (但也可以用于服务器整体备份)。 +MCServerBackup 是由 (玄云海 OblivionOcean)[https://github.com/OblivionOcean] 自主研发的一款 Minecraft Java 服务器自动备份软件,主要用于区块备份 (但也可以用于服务器整体备份)。 -即将推出一个带有简易 GUI 的版本,更加方便使用,目前使用仍略有难度。 +即将推出一个带有简易 GUI 的版本,更加方便使用,目前使用仍略有难度。 -支持将一段时间内所有变动的文件(区块、玩家信息等)全部打包为 `zip` 或 `tar.gz` 格式的压缩包或文件夹。 +支持将一段时间内所有变动的文件(区块、玩家信息等)全部打包为 `zip` 或 `tar.gz` 格式的压缩包或文件夹。 ##### 用法: @@ -49,7 +49,7 @@ MCServerBackup 是由 (玄云海 OblivionOcean)[https://github.com/OblivionOcean python main.py [相对/绝对目录] [时长] [类型] ``` -优势:群友 @Lafcadia 写的,可以问群友咋用。 +优势:群友 @Lafcadia 写的,可以问群友咋用。 [BorgBackup](https://www.borgbackup.org/) @@ -57,43 +57,43 @@ python main.py [相对/绝对目录] [时长] [类型] ### 手动备份 -Windows 系统在服务器根目录右键点击压缩即可(如果时间比较急推荐zip,如果空间比较紧推荐7zip)。 +Windows 系统在服务器根目录右键点击压缩即可(如果时间比较急推荐zip,如果空间比较紧推荐7zip)。 Linux 使用指令 ```tar -czvf backup_date.tar.gz /[path]/``` (如果使用7zip请自行查看7zip指令)。 面板 - 大多数面板都可以像 Windows 一键压缩。 -### 手动精简备份(不推荐) +### 手动精简备份(不推荐) -假如你的存储空间告急,**在你安装好防护软件(如火绒),确保服务器本体不会被一锅端后**,你可以试试只备份以下内容: +假如你的存储空间告急,**在你安装好防护软件(如火绒),确保服务器本体不会被一锅端后**,你可以试试只备份以下内容: #### 备份世界 -这一点相比不用多说,肯定是很十分重要的,记得备份根目录下你创建过的和服务器生成的世界。 +这一点相比不用多说,肯定是很十分重要的,记得备份根目录下你创建过的和服务器生成的世界。 #### 备份插件数据文件 -插件数据文件、数据库文件等(常见名称有 data.yml ,database.db,data 文件夹等)。 +插件数据文件、数据库文件等(常见名称有 data.yml ,database.db,data 文件夹等)。 -这些需要自己寻找,这也是不推荐的原因,你可以等服务器稳定后找到全部类似的文件并记录下来。 +这些需要自己寻找,这也是不推荐的原因,你可以等服务器稳定后找到全部类似的文件并记录下来。 :::danger -如果安装了粘液科技,不管有没有设置 MySQL 存储(设置了也会在 data-storage 文件夹存储部分数据),一定不要忘记备份根目录下的 data-storage 文件夹! +如果安装了粘液科技,不管有没有设置 MySQL 存储(设置了也会在 data-storage 文件夹存储部分数据),一定不要忘记备份根目录下的 data-storage 文件夹! ::: -#### (可选)日志文件 +#### (可选)日志文件 服务器根目录下的 logs 文件夹。 ### 删除世界 -要想删除世界,只需简单的将 `world` 文件夹删除即可,或删除对应维度文件夹。 +要想删除世界,只需简单的将 `world` 文件夹删除即可,或删除对应维度文件夹。 -但是值得注意的是,大多数插件数据并不会随着世界的移除而移除, +但是值得注意的是,大多数插件数据并不会随着世界的移除而移除, -如 NPC 插件可能仍然会尝试在相同名字的世界中尝试生成 NPC,即使他们已经不在原来的位置上。 +如 NPC 插件可能仍然会尝试在相同名字的世界中尝试生成 NPC,即使他们已经不在原来的位置上。 -一些服务端可能将维度拆分成单个文件夹存放至根目录,你需要全部删除才能重置所有维度。 +一些服务端可能将维度拆分成单个文件夹存放至根目录,你需要全部删除才能重置所有维度。 diff --git a/docs-java/process/maintenance/optimize/ask-for-help.md b/docs-java/process/maintenance/optimize/ask-for-help.md index 3fd491767..8345915bb 100644 --- a/docs-java/process/maintenance/optimize/ask-for-help.md +++ b/docs-java/process/maintenance/optimize/ask-for-help.md @@ -5,9 +5,9 @@ sidebar_position: 7 # 怎么让大佬帮我性能分析 -1. 检查你的服务器有没有安装 Spark 插件, 尝试 `/spark` 命令或者 `/pl` 看看有没有 Spark +1. 检查你的服务器有没有安装 Spark 插件, 尝试 `/spark` 命令或者 `/pl` 看看有没有 Spark -如果没有,手动安装一下 [Spark](performance-analysis.md) +如果没有,手动安装一下 [Spark](performance-analysis.md) 2. 开启 Spark 记录 @@ -17,7 +17,7 @@ sidebar_position: 7 ![](_images/怎么让大佬帮我/spark_start.png) -在你服务器卡顿的时候开启, **一段时间后** 结束它 +在你服务器卡顿的时候开启, **一段时间后** 结束它 3. 结束 Spark 记录 @@ -25,7 +25,7 @@ sidebar_position: 7 /spark profiler stop ``` -它会给你一个链接,你把这个链接发给大佬并 **礼貌的** 请求帮助你 +它会给你一个链接,你把这个链接发给大佬并 **礼貌的** 请求帮助你 注:链接位置在下图中红框标记的部分 diff --git a/docs-java/process/maintenance/optimize/go.md b/docs-java/process/maintenance/optimize/go.md index 911126b0b..7df125b9a 100644 --- a/docs-java/process/maintenance/optimize/go.md +++ b/docs-java/process/maintenance/optimize/go.md @@ -5,45 +5,45 @@ sidebar_position: 4 # 调服务端配置 -没有适用于所有服务器的设置。你应该理解每个配置选项,并根据服务器的最佳参数与服务器硬件、玩家数量和服务器性质等调整参数。 +没有适用于所有服务器的设置。你应该理解每个配置选项,并根据服务器的最佳参数与服务器硬件、玩家数量和服务器性质等调整参数。 -所以参数因服而异,随着进入游戏后期,服务器工作量会随着机器或者玩家增加而逐渐增加, +所以参数因服而异,随着进入游戏后期,服务器工作量会随着机器或者玩家增加而逐渐增加, -因此服务器优化不是一次性的任务,而是持续的努力。 +因此服务器优化不是一次性的任务,而是持续的努力。 -准备好你的脑子,以下的推荐参数仅作为参考,具体数字请自行尝试: +准备好你的脑子,以下的推荐参数仅作为参考,具体数字请自行尝试: 适用于 Paper 版本 1.20 + # 更简单的 -自动优化脚本,[下载](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/auto-optimize.exe),在服务器根目录执行,目前支持CraftBukkit,Spigot,Paper,PufferFish,Purpur,Gale,Leaf +自动优化脚本,[下载](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/auto-optimize.exe),在服务器根目录执行,目前支持CraftBukkit,Spigot,Paper,PufferFish,Purpur,Gale,Leaf # 网络优化 -网络优化主要目的是解决服务器上行带宽占用导致的玩家 **Ping**(即网络延迟)过高导致的糟糕游戏体验。 +网络优化主要目的是解决服务器上行带宽占用导致的玩家 **Ping**(即网络延迟)过高导致的糟糕游戏体验。 ## 降低服务器视野距离 :::warning -请注意视野距离和玩家体验相关性也较大,除非特殊情况否则不建议大幅压缩视野换取带宽占用。 +请注意视野距离和玩家体验相关性也较大,除非特殊情况否则不建议大幅压缩视野换取带宽占用。 ::: ### 手动调整 -在 `spigot.yml` 或 `server.properties` 中可以设置服务器的视野距离,其中 `spigot.yml` 会覆盖 `server.properties` 的值。 +在 `spigot.yml` 或 `server.properties` 中可以设置服务器的视野距离,其中 `spigot.yml` 会覆盖 `server.properties` 的值。 ```yaml view-distance: 8 #视野距离为 8 chunks ``` -如果你使用的默认 10 chunks 的视野距离,可能对于带宽来说有一定的压力,可以酌情减少, +如果你使用的默认 10 chunks 的视野距离,可能对于带宽来说有一定的压力,可以酌情减少, ### 自动调整 -安装 [View Distance Tweaks](https://www.spigotmc.org/resources/view-distance-tweaks.75164/) 实现自动调整视野距离使得玩家增多时自动减少视野,玩家减少时自动增加视野。 +安装 [View Distance Tweaks](https://www.spigotmc.org/resources/view-distance-tweaks.75164/) 实现自动调整视野距离使得玩家增多时自动减少视野,玩家减少时自动增加视野。 ## 降低区块加载速度 @@ -53,22 +53,22 @@ view-distance: 8 #视野距离为 8 chunks chunk-loading-basic: #注:以下的单位均为 chunks / seconds player-max-chunk-generate-rate: -1.0 - #为每个玩家生成分块的最大速率,设置为-1 则禁用。 + #为每个玩家生成分块的最大速率,设置为-1 则禁用。 player-max-chunk-load-rate: 100 - #任何单个玩家加载块的最大速率,设置为-1 则禁用。 + #任何单个玩家加载块的最大速率,设置为-1 则禁用。 player-max-chunk-send-rate: 75 #服务器发送给单个玩家的最大速率。设置为-1 则禁用。 ``` -其中 player-max-chunk-send-rate 对应服务器每秒钟最多向玩家发送多少区块包,设置得越低玩家收到完整的地图信息越慢, +其中 player-max-chunk-send-rate 对应服务器每秒钟最多向玩家发送多少区块包,设置得越低玩家收到完整的地图信息越慢, -服务器虽然总是会发送几乎同样多的区块信息,但由于发送速度降低,这会降低上行带宽的最大占用率,从而避免大量跑图导致的顿卡。 +服务器虽然总是会发送几乎同样多的区块信息,但由于发送速度降低,这会降低上行带宽的最大占用率,从而避免大量跑图导致的顿卡。 ## 控制实体数量 -Minecraft 服务端会将每个实体的行为实时发送给附近的玩家客户端,这个包通常来说占用是很少的,但是大量玩家处于实体密集型区域时将出现大量带宽占用。 +Minecraft 服务端会将每个实体的行为实时发送给附近的玩家客户端,这个包通常来说占用是很少的,但是大量玩家处于实体密集型区域时将出现大量带宽占用。 -bukkit.yml 以及 config/paper-world-default.yml 中对于 spawn-limits 做了限制(若二者均有值时取 Paper 的,若 Paper 中为 -1 时取 Bukkit) +bukkit.yml 以及 config/paper-world-default.yml 中对于 spawn-limits 做了限制(若二者均有值时取 Paper 的,若 Paper 中为 -1 时取 Bukkit) ```yaml spawn-limits: @@ -91,11 +91,11 @@ spawn-limits: # 美西螈 ambient: 15 - # 只包括蝙蝠,建议0 + # 只包括蝙蝠,建议0 ``` -高版本的 config/paper-world-default.yml 中将 `animals` 改为了 `creature`,将 `water-animals` 改为了 `water-creature`,可参考这份配置文件: +高版本的 config/paper-world-default.yml 中将 `animals` 改为了 `creature`,将 `water-animals` 改为了 `water-creature`,可参考这份配置文件: ```yaml spawn-limits: @@ -118,15 +118,15 @@ spawn-limits: # 美西螈 ambient: 15 - # 只包括蝙蝠,建议0 + # 只包括蝙蝠,建议0 ``` -大多数情况下,直接将所有限制降低到原来的 50% 是合理的,由于限制和实际实体数量不成线性,实际存在的实体数量大约是原来的 72%。 +大多数情况下,直接将所有限制降低到原来的 50% 是合理的,由于限制和实际实体数量不成线性,实际存在的实体数量大约是原来的 72%。 -## 更低的实体显示距离(不推荐) +## 更低的实体显示距离(不推荐) -降低实体显示距离可以让服务器少发送实体的刷新数据包,但是代价是玩家看不到远处的实体,即使在服务器上这些实体是存在的。 +降低实体显示距离可以让服务器少发送实体的刷新数据包,但是代价是玩家看不到远处的实体,即使在服务器上这些实体是存在的。 ```yaml entity-tracking-range: @@ -139,9 +139,9 @@ entity-tracking-range: ## 选择更加合理的反矿物透视方式 -停止使用 [Orebfuscator](https://modrinth.com/plugin/orebfuscator) 等矿物混淆插件,使用 Paper 自带的矿物混淆。 +停止使用 [Orebfuscator](https://modrinth.com/plugin/orebfuscator) 等矿物混淆插件,使用 Paper 自带的矿物混淆。 -使用 Paper 矿物混淆时候,尽量不要在 **非主世界** 开启 `mode 2` 或 `mode 3` +使用 Paper 矿物混淆时候,尽量不要在 **非主世界** 开启 `mode 2` 或 `mode 3` ## 心跳连接 @@ -161,21 +161,21 @@ entity-tracking-range: :::tip -在此之前,你必须了解的是模拟距离(Simulate distance)和视野距离(View distance)区别(下文用 SDT和 VDT 分别指代)。 +在此之前,你必须了解的是模拟距离(Simulate distance)和视野距离(View distance)区别(下文用 SDT和 VDT 分别指代)。 -模拟距离指的是玩家在这个范围内的游戏行为正常进行,如动物、怪物等 AI 的寻路,生物生成,草地扩散,水流流动等。 +模拟距离指的是玩家在这个范围内的游戏行为正常进行,如动物、怪物等 AI 的寻路,生物生成,草地扩散,水流流动等。 -视野距离指的是服务器将发送给玩家的区块的数据包的距离,在这个范围内,游戏行为不一定会继续发生(这取决于 SDT) +视野距离指的是服务器将发送给玩家的区块的数据包的距离,在这个范围内,游戏行为不一定会继续发生(这取决于 SDT) -当玩家移动导致一个区域不在玩家的 SDT 中而又在 VDT 中,那么服务器只会读取这个区域的方块信息并发送给玩家。 +当玩家移动导致一个区域不在玩家的 SDT 中而又在 VDT 中,那么服务器只会读取这个区域的方块信息并发送给玩家。 -而不会对这个区域进行加载。这是各种游戏常见的处理方式,弱化远处的计算能够使得服务器更加流畅。 +而不会对这个区域进行加载。这是各种游戏常见的处理方式,弱化远处的计算能够使得服务器更加流畅。 ::: -你可以在末地设置更高的 `view-distance` ,这可以让鞘翅飞的更舒服而不会占用很多资源。 +你可以在末地设置更高的 `view-distance` ,这可以让鞘翅飞的更舒服而不会占用很多资源。 -另外,应该鼓励你的玩家安装 Bobby 或 Farsight 等 mod,可以在本地缓存区块,这不会对服务器性能造成任何影响! +另外,应该鼓励你的玩家安装 Bobby 或 Farsight 等 mod,可以在本地缓存区块,这不会对服务器性能造成任何影响! ##### 手动调整 @@ -185,7 +185,7 @@ entity-tracking-range: simulate-distance: 8 ``` -如果你使用的默认 10 chunks 的模拟距离,这会非常影响性能,可以酌情减少, +如果你使用的默认 10 chunks 的模拟距离,这会非常影响性能,可以酌情减少, ``` 推荐值:3 - 8 @@ -193,13 +193,13 @@ simulate-distance: 8 ##### 自动调整 -安装 [View Distance Tweaks](https://www.spigotmc.org/resources/view-distance-tweaks.75164/) 实现自动调整视野距离使得玩家增多时自动减少视野,玩家减少时自动增加视野。 +安装 [View Distance Tweaks](https://www.spigotmc.org/resources/view-distance-tweaks.75164/) 实现自动调整视野距离使得玩家增多时自动减少视野,玩家减少时自动增加视野。 ### 区块生成和加载 #### chunk-loading-basic -服务器生成区块非常消耗资源,希望你服务器进行了预生成,如果没有进行的话请阅读 [预生成](/docs-java/process/maintenance/optimize/optimize.md#第二步---预生成) +服务器生成区块非常消耗资源,希望你服务器进行了预生成,如果没有进行的话请阅读 [预生成](/docs-java/process/maintenance/optimize/optimize.md#第二步---预生成) 在 `/config/paper-global.yml` 中有关于区块生成的一些参数 @@ -207,16 +207,16 @@ simulate-distance: 8 chunk-loading-basic: #注:以下的单位均为 chunks / seconds player-max-chunk-generate-rate: -1.0 - #为每个玩家生成分块的最大速率,设置为-1 则禁用。 + #为每个玩家生成分块的最大速率,设置为-1 则禁用。 player-max-chunk-load-rate: 100 - #任何单个玩家加载块的最大速率,设置为-1 则禁用。 + #任何单个玩家加载块的最大速率,设置为-1 则禁用。 player-max-chunk-send-rate: 75 #服务器发送给单个玩家的最大速率。设置为-1 则禁用。 ``` -其中 `player-max-chunk-generate-rate` 对应服务器每秒钟最多为玩家生成多少区块,设置得越低区块生成越慢。 +其中 `player-max-chunk-generate-rate` 对应服务器每秒钟最多为玩家生成多少区块,设置得越低区块生成越慢。 -此时大量跑图的玩家可能会觉得服务器有一些滞后,但是能够保证大多数玩家的游戏体验,这是值得的。 +此时大量跑图的玩家可能会觉得服务器有一些滞后,但是能够保证大多数玩家的游戏体验,这是值得的。 ``` 推荐值:20 - 40 @@ -228,15 +228,15 @@ chunk-loading-basic: 推荐值: true ``` -防止玩家进入未加载的区块,以避免同步加载区块造成的主线程卡顿。view-distance视距越小,玩家进入未加载区块的可能性就越大。 +防止玩家进入未加载的区块,以避免同步加载区块造成的主线程卡顿。view-distance视距越小,玩家进入未加载区块的可能性就越大。 #### max-loads-per-projectile -在 Minecraft 中,射出的箭、扔出的末影珍珠等可以加载一定距离的区块。 +在 Minecraft 中,射出的箭、扔出的末影珍珠等可以加载一定距离的区块。 在 `pufferfish.yml` 中可以调整弹射物最多加载的区块数量。 -降低该值可减少大量弹射物造成的区块负载,但可能会导致末影珍珠等出现问题。 +降低该值可减少大量弹射物造成的区块负载,但可能会导致末影珍珠等出现问题。 ``` 推荐值: 8 @@ -246,7 +246,7 @@ chunk-loading-basic: #### delay-chunk-unloads-by -区块的反复大量加载和卸载区块是很消耗性能的,而长期加载无效的区块也是浪费性能。 +区块的反复大量加载和卸载区块是很消耗性能的,而长期加载无效的区块也是浪费性能。 在 `paper-world-defaults.yml` 中可以调整玩家离开后多久开始卸载区块。 @@ -255,9 +255,9 @@ chunks: delay-chunk-unloads-by: 10s ``` -这有助于避免玩家来回移动时,服务器不断加载和卸载相同的区块。过高的值可能会导致一次加载太多区块。 +这有助于避免玩家来回移动时,服务器不断加载和卸载相同的区块。过高的值可能会导致一次加载太多区块。 -在玩家频繁传送或加载的区域,可以考虑让该区域永久加载。这可以减轻服务器不小的负担。 +在玩家频繁传送或加载的区域,可以考虑让该区域永久加载。这可以减轻服务器不小的负担。 | 推荐值 | 服务器类型 | | ------ | ---------------------------------- | @@ -269,34 +269,34 @@ chunks: #### max-auto-save-chunks-per-tick -在 `paper-world-defaults.yml` 中的参数,用于控制世界保存速度。 +在 `paper-world-defaults.yml` 中的参数,用于控制世界保存速度。 ``` max-auto-save-chunks-per-tick: 24 ``` -这个值是每个 tick 最多可以保存的区块数量,通过降低世界区块保存速度可以提高平均性能。 +这个值是每个 tick 最多可以保存的区块数量,通过降低世界区块保存速度可以提高平均性能。 -如果一个 tick 加载区块超过本设定值,将在下一个 tick 继续保存剩余的待保存区块。 +如果一个 tick 加载区块超过本设定值,将在下一个 tick 继续保存剩余的待保存区块。 -这个值应该与需要保存的区块及玩家人数相匹配,当人数更多有更多区块需要保存时应该适当增加。 +这个值应该与需要保存的区块及玩家人数相匹配,当人数更多有更多区块需要保存时应该适当增加。 -保存区块的速度快意味着保存时负载高,但保存时间更短。如果遭遇断电、突然死机等情况时, +保存区块的速度快意味着保存时负载高,但保存时间更短。如果遭遇断电、突然死机等情况时, 使用更高的保存速度是有利于降低丢失区块数据的可能性的。 | 推荐值 | 服务器人数 | | ------ | ----------------- | | 4 | 长期不到 10 人 | -| 8 | 20 人左右(默认) | +| 8 | 20 人左右(默认) | | 12 | 30 人左右 | | >24 | 长期大于 50 | #### entity-per-chunk-save-limit -在保存区块时,服务器会一并保存区块对应位置的实体。 +在保存区块时,服务器会一并保存区块对应位置的实体。 -在 `paper-world-defaults.yml` 中的参数,用于控制世界保存时最大保存的某种实体数量。 +在 `paper-world-defaults.yml` 中的参数,用于控制世界保存时最大保存的某种实体数量。 推荐值: @@ -323,9 +323,9 @@ chunks: wither_skull: 4 ``` -此项可以设置区块卸载后从内存保存到硬盘时每个区块最大的实体数量,可为每种实体规定一个限制, +此项可以设置区块卸载后从内存保存到硬盘时每个区块最大的实体数量,可为每种实体规定一个限制, -以避免服务器尝试保存大量弹射物时崩溃,你还可以根据名称将其他实体添加到该列表中。 +以避免服务器尝试保存大量弹射物时崩溃,你还可以根据名称将其他实体添加到该列表中。 从而缓解某些玩家使用大量实体卡服。**并不适用于阻止玩家建造大型生物农场。** @@ -333,11 +333,11 @@ chunks: #### treasure-maps.enabled -生成藏宝图的性能占用极高,如果要定位的结构位于未生成的区块中,服务器甚至可能会未响应。 +生成藏宝图的性能占用极高,如果要定位的结构位于未生成的区块中,服务器甚至可能会未响应。 -只有在你预生成世界并设置原版世界边界的情况下,启用此功能才是安全的。 +只有在你预生成世界并设置原版世界边界的情况下,启用此功能才是安全的。 -在 `paper-world-default.yml` 中的参数,决定服务器是否生成藏宝图。 +在 `paper-world-default.yml` 中的参数,决定服务器是否生成藏宝图。 ``` 推荐值: false @@ -345,7 +345,7 @@ chunks: #### treasure-maps.find-already-discovered -在 `paper-world-default.yml` 中的参数,控制服务器是否强制藏宝图在未探索的地方。 +在 `paper-world-default.yml` 中的参数,控制服务器是否强制藏宝图在未探索的地方。 ```yaml 推荐值: @@ -353,15 +353,15 @@ chunks: villager-trade: true ``` -由于这些未探索的结构通常位于尚未生成的区块中,这可能会滞后服务器。 +由于这些未探索的结构通常位于尚未生成的区块中,这可能会滞后服务器。 `villager-trade` 影响村民交易的地图。 -`loot-tables` 影响任何生成战利品的容器,如宝箱等。 +`loot-tables` 影响任何生成战利品的容器,如宝箱等。 #### dolphin.disable-treasure-searching -在 `purpur.yml` 中的参数,控制海豚是否能够寻找藏宝图。 +在 `purpur.yml` 中的参数,控制海豚是否能够寻找藏宝图。 设置为 true 禁用搜索。 @@ -371,15 +371,15 @@ chunks: ## 实体 -默认情况下,实体的占用一般占服务器的 40% 左右,如果不控制实体,即使是市面上最好的 CPU ,服务器也会卡顿。 +默认情况下,实体的占用一般占服务器的 40% 左右,如果不控制实体,即使是市面上最好的 CPU ,服务器也会卡顿。 ### 控制实体数量 -用 spark 等性能分析插件查看,应该希望将全部实体 tick 保持在 30% 以下(有一定数量的玩家在线的情况)。 +用 spark 等性能分析插件查看,应该希望将全部实体 tick 保持在 30% 以下(有一定数量的玩家在线的情况)。 #### spawn-limits -在 `bukkit.yml` 和 `paper-world-default` 中都有一样的配置,但 paper 如果设置将覆盖 bukkit 的。 +在 `bukkit.yml` 和 `paper-world-default` 中都有一样的配置,但 paper 如果设置将覆盖 bukkit 的。 所以建议直接在 `paper-world-default` 中设置: @@ -398,14 +398,14 @@ spawn-limits: axolotls: 5 # 美西螈 ambient: 15 - # 只包括蝙蝠,建议0 + # 只包括蝙蝠,建议0 ``` -生物生成最大数量为 `玩家数量 * 生成限制`,该值越小,玩家能遇到的生物就越少,不同生物类型在每个玩家附近生成的概率是平均的。 +生物生成最大数量为 `玩家数量 * 生成限制`,该值越小,玩家能遇到的生物就越少,不同生物类型在每个玩家附近生成的概率是平均的。 -这是一把双刃剑:较低的值会减轻服务器负担,但在大多数游戏模式中,自然生成的生物是游戏玩法的重要组成部分。 +这是一把双刃剑:较低的值会减轻服务器负担,但在大多数游戏模式中,自然生成的生物是游戏玩法的重要组成部分。 -下表推荐了三种不同情况的推荐值,请结合服务器卡顿程度和玩法选择合适的值: +下表推荐了三种不同情况的推荐值,请结合服务器卡顿程度和玩法选择合适的值: | 生物类型 | 推荐最小值 | 推荐值 | 推荐最大值 | | -------------------------- | ---------- | ------ | ---------- | @@ -419,21 +419,21 @@ spawn-limits: #### mob-spawn-range -另外,在 `spigot.yml` 中有关于生物生成范围的设置: +另外,在 `spigot.yml` 中有关于生物生成范围的设置: ```yaml mob-spawn-range: 8 ``` -因为我们降低了总生物的刷新频率和数量,生物的总密度会明显下降,考虑到过远处的怪物对于游戏性影响非常小。 +因为我们降低了总生物的刷新频率和数量,生物的总密度会明显下降,考虑到过远处的怪物对于游戏性影响非常小。 -我们可以缩小生物刷新范围(以区块为单位,且不会大于[模拟距离](#手动调整))从而获得和原版接近的密度。 +我们可以缩小生物刷新范围(以区块为单位,且不会大于[模拟距离](#手动调整))从而获得和原版接近的密度。 推荐值: | `spawn-limit` 值 | 对应 `mob-spawn-range`推荐值 | 实际生物量 | | :--------------: | :--------------------------: | :---------: | -| 70 (默认) | 8(默认) | 100% (默认) | +| 70 (默认) | 8(默认) | 100% (默认) | | 56 | 6-7 | 90% | | 42 | 5-6 | 78% | | 28 | 4-5 | 65% | @@ -441,7 +441,7 @@ mob-spawn-range: 8 :::tip -如果你只调`mob-spawn-range`,不更改 `spawn-limit`,会导致玩家周围刷很多怪,影响游玩 +如果你只调`mob-spawn-range`,不更改 `spawn-limit`,会导致玩家周围刷很多怪,影响游玩 ::: @@ -462,9 +462,9 @@ ticks-per: ambient-spawns: 1 ``` -这个参数控制了多少 tick 后服务器会进行一次生物的刷新,可以看到默认情况下是每个 tick 都刷新,即每秒 20 次。 +这个参数控制了多少 tick 后服务器会进行一次生物的刷新,可以看到默认情况下是每个 tick 都刷新,即每秒 20 次。 -这无疑是非常繁重的工作,但调整这个值到太高会导致即使服务器生物没有到达上限,生物刷新频率还是偏低。 +这无疑是非常繁重的工作,但调整这个值到太高会导致即使服务器生物没有到达上限,生物刷新频率还是偏低。 ```yaml 推荐值: @@ -481,9 +481,9 @@ ticks-per: 为什么选择 9 、199 之类的数字作为刷新频率而不是 10、200? -因为选择 10 和 200 时,每 200 tick 就会有多种类型的生物需要刷新,任务量集中在了某一刻度上,这会导致负载不平均。 +因为选择 10 和 200 时,每 200 tick 就会有多种类型的生物需要刷新,任务量集中在了某一刻度上,这会导致负载不平均。 -使用 9、199 时,需要每 1791 tick 才会有多种类型生物需要被刷新,刷新任务被平均在了更多 tick 中。 +使用 9、199 时,需要每 1791 tick 才会有多种类型生物需要被刷新,刷新任务被平均在了更多 tick 中。 ::: @@ -520,7 +520,7 @@ ticks-per: soft: 30 ``` -此项可以调整各种生物的消失范围(方块为单位)。降低这些值可以更快地清除远离玩家的生物。 你应该将 soft 软距离设置为约`30`,然后将 hard 硬性距离设置的稍微大于 simulation-distance,这样当玩家刚刚跑出区块时,生物不会立即消失(你可以一并调整 [paper-world configuration] 中的`delay-chunk-unloads-by`)。 当一个生物离开了 hard 距离,该生物会立刻消失。 当一个生物处于 soft 和 hard 距离之间,该生物将有概率消失。 你的 hard 距离应该大于 soft 距离。你应该根据模拟距离调整此项:`(simulation-distance * 16) + 8`。 此项还可能造成玩家经过后,区块不卸载的情况(因为生物还没消失)。 +此项可以调整各种生物的消失范围(方块为单位)。降低这些值可以更快地清除远离玩家的生物。 你应该将 soft 软距离设置为约`30`,然后将 hard 硬性距离设置的稍微大于 simulation-distance,这样当玩家刚刚跑出区块时,生物不会立即消失(你可以一并调整 [paper-world configuration] 中的`delay-chunk-unloads-by`)。 当一个生物离开了 hard 距离,该生物会立刻消失。 当一个生物处于 soft 和 hard 距离之间,该生物将有概率消失。 你的 hard 距离应该大于 soft 距离。你应该根据模拟距离调整此项:`(simulation-distance * 16) + 8`。 此项还可能造成玩家经过后,区块不卸载的情况(因为生物还没消失)。 ### 碰撞箱 @@ -532,7 +532,7 @@ ticks-per: 推荐值: 2 ``` -覆盖 [spigot.yml] 中的同名项。它让你决定一个实体可以同时处理多少次碰撞。`0`将导致无法推动其他实体,包括玩家。`2`应该可以处理大部分情况。 值得注意的是,这将会破坏 maxEntityCramming gamerule 也就是生物堆叠窒息。 +覆盖 [spigot.yml] 中的同名项。它让你决定一个实体可以同时处理多少次碰撞。`0`将导致无法推动其他实体,包括玩家。`2`应该可以处理大部分情况。 值得注意的是,这将会破坏 maxEntityCramming gamerule 也就是生物堆叠窒息。 #### fix-climbing-bypassing-cramming-rule @@ -543,13 +543,13 @@ ticks-per: 推荐值: true ``` -是否修复实体在攀爬时不受实体挤压影响的问题。这将防止大量生物在攀爬时堆叠在狭小空间内(例如蜘蛛)。 +是否修复实体在攀爬时不受实体挤压影响的问题。这将防止大量生物在攀爬时堆叠在狭小空间内(例如蜘蛛)。 #### enable-suffocation-optimization `推荐值: true` -此项将检查速率限制为伤害超时来优化窒息检查(检查生物是否在方块内以及它们是否应该受到窒息伤害)。除非你是生电玩家,能够使用精确计时窒息杀死实体的时间,否则这种优化应该是不可能注意到的。 +此项将检查速率限制为伤害超时来优化窒息检查(检查生物是否在方块内以及它们是否应该受到窒息伤害)。除非你是生电玩家,能够使用精确计时窒息杀死实体的时间,否则这种优化应该是不可能注意到的。 ### 实体 AI @@ -559,9 +559,9 @@ ticks-per: 在 `spigot.yml` 中有一个控制生物激活范围的参数 `entity-activation-range`: -此项可以设置实体的激活AI距离(方块为单位)。降低这些值有助于提高性能, +此项可以设置实体的激活AI距离(方块为单位)。降低这些值有助于提高性能, -但可能会导致怪物反应迟钝。将此值降低太多可能会破坏某些生物农场,比如刷铁机。 +但可能会导致怪物反应迟钝。将此值降低太多可能会破坏某些生物农场,比如刷铁机。 ```yaml 推荐值: @@ -583,9 +583,9 @@ ticks-per: 推荐值: true ``` -在实体非活动时限制其目标选择器,让非活动实体每 `20 tick` 更新一次其目标选择器, +在实体非活动时限制其目标选择器,让非活动实体每 `20 tick` 更新一次其目标选择器, -而不是每 tick 更新一次。可以将性能提高几个百分点,而且对游戏体验的影响很小。 +而不是每 tick 更新一次。可以将性能提高几个百分点,而且对游戏体验的影响很小。 ##### dab @@ -600,15 +600,15 @@ dab: blacklisted-entities: [] ``` -`dab` 是什么?这是一个生物 AI 控制算法,以梯度降低远处生物的 AI 运行,因为远处生物相对不重要。 +`dab` 是什么?这是一个生物 AI 控制算法,以梯度降低远处生物的 AI 运行,因为远处生物相对不重要。 -`start-distance` 单位为格,控制了从多少远开始降低生物的 AI; +`start-distance` 单位为格,控制了从多少远开始降低生物的 AI; -`activation-dist-mod` 为梯度,增加此值可使较远的实体更频繁地运算。减少此值可使较远的实体运算的更慢,从而更加流畅。但会影响实体与环境互动,可能降低刷怪塔效率。 +`activation-dist-mod` 为梯度,增加此值可使较远的实体更频繁地运算。减少此值可使较远的实体运算的更慢,从而更加流畅。但会影响实体与环境互动,可能降低刷怪塔效率。 -`max-tick-freq` 单位为 tick,控制了实体最低 tick 的间距,即无论实体有多远,只要被加载,那么至少在 20 tick 内会被运算一次。 +`max-tick-freq` 单位为 tick,控制了实体最低 tick 的间距,即无论实体有多远,只要被加载,那么至少在 20 tick 内会被运算一次。 -`blacklisted-entities` 是可以无视 dab 控制 AI 的实体,如果某种实体 AI 特别重要,那么可以试着加入黑名单。 +`blacklisted-entities` 是可以无视 dab 控制 AI 的实体,如果某种实体 AI 特别重要,那么可以试着加入黑名单。 不同情况下的推荐值: @@ -628,13 +628,13 @@ dab: nerf-spawner-mobs: false ``` -打开此项可以卸载刷怪笼生成的生物的 AI,被卸载 AI 的生物将不会做任何事情。 +打开此项可以卸载刷怪笼生成的生物的 AI,被卸载 AI 的生物将不会做任何事情。 ``` 推荐值: true ``` -这一项打开时候会大幅影响刷怪塔及游戏体验,因此 paper 为此做了[更加人性化的选项](#spawner-nerfed-mobs-should-jump)。 +这一项打开时候会大幅影响刷怪塔及游戏体验,因此 paper 为此做了[更加人性化的选项](#spawner-nerfed-mobs-should-jump)。 ##### spawner-nerfed-mobs-should-jump @@ -644,7 +644,7 @@ nerf-spawner-mobs: false spawner-nerfed-mobs-should-jump: false ``` -这个参数控制了刷怪笼刷出的生物是否能给在水中跳跃,这修复了 `nerf-spawner-mobs` 导致的刷怪塔问题。 +这个参数控制了刷怪笼刷出的生物是否能给在水中跳跃,这修复了 `nerf-spawner-mobs` 导致的刷怪塔问题。 ``` 推荐值: true @@ -658,7 +658,7 @@ spawner-nerfed-mobs-should-jump: false 推荐值: 2 - 3 ``` -此项调整刷怪笼的刷新频率,如果服务器有大量刷怪笼,调高刷新间隙这会很有助。 +此项调整刷怪笼的刷新频率,如果服务器有大量刷怪笼,调高刷新间隙这会很有助。 #### 村民相关 @@ -672,7 +672,7 @@ tick-inactive-villagers: true 非活跃的定义是村民在上述参数 `entity-activation-range` 中 `villagers` 所设定的范围外时。 -禁用此功能将有助于提高性能,但在某些情况下会让远处的村民更蠢,此项还会降低刷铁机等的效率。 +禁用此功能将有助于提高性能,但在某些情况下会让远处的村民更蠢,此项还会降低刷铁机等的效率。 ``` 推荐值:false @@ -684,7 +684,7 @@ tick-inactive-villagers: true 由于村民被僵尸跟踪时会触发非常复杂的寻路、铁傀儡召唤等行为。 -大量村民被僵尸恐吓时会造成卡顿,当 TPS 低于`purpur.yml` 中设置的 `lagging-threshold` 值时,启用此项会阻止僵尸追赶村民。 +大量村民被僵尸恐吓时会造成卡顿,当 TPS 低于`purpur.yml` 中设置的 `lagging-threshold` 值时,启用此项会阻止僵尸追赶村民。 ``` 推荐值: false @@ -698,7 +698,7 @@ tick-inactive-villagers: true 推荐值: true ``` -> 仅当村民造成服务器卡顿时才应启用此项!否则,村民寻路会出现问题。 +> 仅当村民造成服务器卡顿时才应启用此项!否则,村民寻路会出现问题。 村民被卸载了AI后只会按时补货。启用此项会禁用村民自动寻路。 @@ -713,7 +713,7 @@ tick-inactive-villagers: true nearest-bed-sensor: 16 ``` -降低这个值会大大提高了村民的性能,但会阻止他们探测到比设定值更远的工作方块或床。 +降低这个值会大大提高了村民的性能,但会阻止他们探测到比设定值更远的工作方块或床。 ##### tick-rates @@ -735,9 +735,9 @@ tick-inactive-villagers: true nearestlivingentitysensor: 40 ``` -> 当 [Pufferfish's DAB](#dab) 启用时,不建议修改该项任何默认值。 +> 当 [Pufferfish's DAB](#dab) 启用时,不建议修改该项任何默认值。 -`acquirepoi`是村民最频繁的行为, 因此它的间隔已经大大增加了。 如果村民有寻路问题,请减少此项。 +`acquirepoi`是村民最频繁的行为, 因此它的间隔已经大大增加了。 如果村民有寻路问题,请减少此项。 #### 寻路 @@ -749,9 +749,9 @@ tick-inactive-villagers: true 推荐值: false ``` -禁用此项将减少寻路次数,从而提高性能。在某些情况下,这会导致生物看起来更加迟钝; +禁用此项将减少寻路次数,从而提高性能。在某些情况下,这会导致生物看起来更加迟钝; -它们只会每 5 个 tick(0.25 秒)被动更新一次路径。 +它们只会每 5 个 tick(0.25 秒)被动更新一次路径。 ### 掉落物及经验 @@ -793,7 +793,7 @@ tick-inactive-villagers: true scaffolding: 600 ``` -此项可以设置指定物品消失的时间(tick 为单位), 建议用此项替代扫地姬或 `merge-radius` 来提高性能。 +此项可以设置指定物品消失的时间(tick 为单位), 建议用此项替代扫地姬或 `merge-radius` 来提高性能。 ##### merge-radius @@ -806,9 +806,9 @@ tick-inactive-villagers: true exp: 4.0 ``` -可减少地面未拾取物数量。 设置得太高会导致物品合并时像瞬间传送。也会使得物品穿过方块,可能破坏一些刷怪塔。 +可减少地面未拾取物数量。 设置得太高会导致物品合并时像瞬间传送。也会使得物品穿过方块,可能破坏一些刷怪塔。 -此项不会判断物品是否穿过墙壁 (除非开启 Paper 中的`fix-items-merging-through-walls)。` +此项不会判断物品是否穿过墙壁 (除非开启 Paper 中的`fix-items-merging-through-walls)。` `经验球仅会在生成时合并。建议使用`alt-item-despawn-rate`来优化掉落物数量。 @@ -820,7 +820,7 @@ tick-inactive-villagers: true 推荐值: 20 ``` -怪物射出的箭消失的时间(以 tick 为单位)。因为玩家无法捡起这些箭,所以你不妨将其设置为`20`(1 秒)之类的值。 +怪物射出的箭消失的时间(以 tick 为单位)。因为玩家无法捡起这些箭,所以你不妨将其设置为`20`(1 秒)之类的值。 #### creative-arrow-despawn-rate @@ -828,7 +828,7 @@ tick-inactive-villagers: true 推荐值: 20 ``` -创造模式玩家射出的箭消失的时间(以 tick 为单位)。因为玩家无法捡起这些箭,所以你不妨将其设置为`20`(1 秒)之类的值。 +创造模式玩家射出的箭消失的时间(以 tick 为单位)。因为玩家无法捡起这些箭,所以你不妨将其设置为`20`(1 秒)之类的值。 ### 盔甲架 @@ -840,7 +840,7 @@ tick-inactive-villagers: true 推荐值: false ``` -在大部分情况下,将该项设置为 `false` 是安全的。如果你使用盔甲架或任何相关的插件时遇到了问题,请重新启用它。 +在大部分情况下,将该项设置为 `false` 是安全的。如果你使用盔甲架或任何相关的插件时遇到了问题,请重新启用它。 这将防止盔甲架被水推动或受到重力的影响。 @@ -850,7 +850,7 @@ tick-inactive-villagers: true 推荐值: false ``` -是否启用盔甲架碰撞。如果你有很多盔甲架,并且不想它们与任何东西发生碰撞,这将有所帮助。 +是否启用盔甲架碰撞。如果你有很多盔甲架,并且不想它们与任何东西发生碰撞,这将有所帮助。 ## 红石 @@ -864,9 +864,9 @@ tick-inactive-villagers: true 推荐值: ALTERNATE_CURRENT ``` -将红石系统替换为优化版本,减少冗余更新,降低服务器必须计算的逻辑量。可能会对个别的红石机器产生影响, +将红石系统替换为优化版本,减少冗余更新,降低服务器必须计算的逻辑量。可能会对个别的红石机器产生影响, -但其提升非常大,性能提升可能有 70%,利大于弊。甚至还可以修复 Bukkit 造成的红石同步问题。 +但其提升非常大,性能提升可能有 70%,利大于弊。甚至还可以修复 Bukkit 造成的红石同步问题。 `ALTERNATE_CURRENT`是基于 [Alternate Current](https://modrinth.com/mod/alternate-current)。 更多信息请阅读该页面。 @@ -882,7 +882,7 @@ tick-inactive-villagers: true 仅当有插件监听 `InventoryMoveItemEvent` 时才会触发该事件。 -**如果你想使用侦听此事件的插件,请不要设置为 true,比如保护插件!** +**如果你想使用侦听此事件的插件,请不要设置为 true,比如保护插件!** #### hopper.ignore-occluding-blocks @@ -892,7 +892,7 @@ tick-inactive-villagers: true 推荐值: true ``` -降低沙子或沙砾中的漏斗矿车之类的情况,启用该项可能会破坏一些红石装置。 +降低沙子或沙砾中的漏斗矿车之类的情况,启用该项可能会破坏一些红石装置。 ### tick-per @@ -904,11 +904,11 @@ tick-inactive-villagers: true `hopper-check` 控制了漏斗一次运输多少物品。 -在漏斗特别多的服务器中,合理搭配`hopper-transfer` 和 `hopper-check` 可以降低漏斗占用。(但可能略微影响一些机器的行为,如分类机) +在漏斗特别多的服务器中,合理搭配`hopper-transfer` 和 `hopper-check` 可以降低漏斗占用。(但可能略微影响一些机器的行为,如分类机) -另外,使用更高的 `hopper-check` 能够增加漏斗在单位时间的物品传输效率, +另外,使用更高的 `hopper-check` 能够增加漏斗在单位时间的物品传输效率, -降低同样数量物品的漏斗使用时间,进一步降低漏斗占用。 +降低同样数量物品的漏斗使用时间,进一步降低漏斗占用。 | 漏斗速度 | 服务器占用 | hopper-transfer | hopper-check | | -------- | ---------- | --------------- | ------------ | @@ -925,7 +925,7 @@ tick-inactive-villagers: true 在 `paper-world-default.yml` 中控制是否启用爆炸优化。 -将此项设为`true`可以将原版爆炸算法替换成优化版本,略微牺牲非常小的爆炸伤害换取爆炸时的大量性能提升。 +将此项设为`true`可以将原版爆炸算法替换成优化版本,略微牺牲非常小的爆炸伤害换取爆炸时的大量性能提升。 ``` 推荐值: true @@ -935,11 +935,11 @@ tick-inactive-villagers: true ## 减少后台垃圾内容 -服务端自带一些非常简陋的反作弊,检测玩家是否飞行、过速等,但效果非常差。 +服务端自带一些非常简陋的反作弊,检测玩家是否飞行、过速等,但效果非常差。 -特别是服务器出现卡顿的时候,这将在后台进行大量刷屏。如果安装了至少一个反作弊。 +特别是服务器出现卡顿的时候,这将在后台进行大量刷屏。如果安装了至少一个反作弊。 -那么就可以关闭这些刷屏的无效信息。如果没有安装任何反作弊,还是保留基础反作弊吧。 +那么就可以关闭这些刷屏的无效信息。如果没有安装任何反作弊,还是保留基础反作弊吧。 在 `server.properties` 中按以下设置: @@ -949,7 +949,7 @@ allow-flight=true 这样可以防止玩家在骑马或爬上脚手架时因“飞行”而被服务器踢出。 -设置为 true 不意味着玩家可以飞行,它只是意味着服务器认为玩家在飞行时不会被踢。 +设置为 true 不意味着玩家可以飞行,它只是意味着服务器认为玩家在飞行时不会被踢。 在 `spigot.yml` 中按以下设置: @@ -965,7 +965,7 @@ settings: :::warning -前方二次元内容,在公共场合请谨慎观看 +前方二次元内容,在公共场合请谨慎观看 ::: diff --git a/docs-java/process/maintenance/optimize/jvm/common.md b/docs-java/process/maintenance/optimize/jvm/common.md index 95c0a7732..266f05817 100644 --- a/docs-java/process/maintenance/optimize/jvm/common.md +++ b/docs-java/process/maintenance/optimize/jvm/common.md @@ -8,39 +8,39 @@ slug: /optimize/jvm/common ## 大页支持 -注意在 WINDOWS 上使用大页,必须要以管理员启动 +注意在 WINDOWS 上使用大页,必须要以管理员启动 -当然,在动手前,让我们先试一试是不是系统已经支持了这项功能 ,在控制台执行此命令 +当然,在动手前,让我们先试一试是不是系统已经支持了这项功能 ,在控制台执行此命令 ```shell java -Xlog:gc+init -XX:+UseLargePages -Xmx1g -version ``` -如果出现了以下字样,那么说明不完全兼容: +如果出现了以下字样,那么说明不完全兼容: ```shell -UseLargePages disabled, no large pages configured and available on the system. +UseLargePages disabled, no large pages configured and available on the system. ``` -那么就说明当前系统并不支持大页,不过不要急,可以试一下这一行命令: +那么就说明当前系统并不支持大页,不过不要急,可以试一下这一行命令: ```shell java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version ``` -如果看到 `Large Page Support: Enabled (Transparent)` ,表示你的系统支持透明大页 +如果看到 `Large Page Support: Enabled (Transparent)` ,表示你的系统支持透明大页 -但是如果你依然不支持或者想要追求极致性能,可以去百度搜索当前的系统如何开启大页, +但是如果你依然不支持或者想要追求极致性能,可以去百度搜索当前的系统如何开启大页, -这里就不再过多的赘述了。(LargePages 对服务器提升相当巨大,在我的电脑上,它提升了 50%的性能) +这里就不再过多的赘述了。(LargePages 对服务器提升相当巨大,在我的电脑上,它提升了 50%的性能) -如果支持 LargePages ,加上此参数 +如果支持 LargePages ,加上此参数 ```shell -XX:+UseLargePages -XX:LargePageSizeInBytes=2m ``` -如果支持 TransparentHugePages (不要把两个都加上,优先 LargePages),加上此参数 +如果支持 TransparentHugePages (不要把两个都加上,优先 LargePages),加上此参数 ```shell -XX:+UseTransparentHugePages -XX:LargePageSizeInBytes=2m @@ -48,13 +48,13 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version :::tip -在某些服务器上,开启大页后,会延长 JVM 的启动时间,时间从十秒到十分钟不等 +在某些服务器上,开启大页后,会延长 JVM 的启动时间,时间从十秒到十分钟不等 ::: ## SIMD -如果你使用的是 Pufferfish 的分支(Purpur,Leaf,Leaves,Gale),你可以添加此参数 +如果你使用的是 Pufferfish 的分支(Purpur,Leaf,Leaves,Gale),你可以添加此参数 ```shell --add-modules=jdk.incubator.vector @@ -62,7 +62,7 @@ java -Xlog:gc+init -XX:+UseTransparentHugePages -Xmx1g -version ## 下载源加速 -默认的 SpigotLibraryLoader 下载源在国内访问很慢,如果你使用的是 Leaf,你可以添加参数使用国内下载源: +默认的 SpigotLibraryLoader 下载源在国内访问很慢,如果你使用的是 Leaf,你可以添加参数使用国内下载源: ```shell -DLeaf.library-download-repo=https://maven.aliyun.com/repository/public diff --git a/docs-java/process/maintenance/optimize/jvm/dragonwell11.md b/docs-java/process/maintenance/optimize/jvm/dragonwell11.md index 7f75a9ffb..65e4bf673 100644 --- a/docs-java/process/maintenance/optimize/jvm/dragonwell11.md +++ b/docs-java/process/maintenance/optimize/jvm/dragonwell11.md @@ -18,7 +18,7 @@ slug: /optimize/jvm/dragonwell ## ZGC -Dragonwell11 的 ZGC 不同于 OpenJDK11 的 ZGC,Dragonwell 通过移植 OpenJDK 15+的 ZGC补丁,使得Dragonwell的ZGC可以投入生产环境 +Dragonwell11 的 ZGC 不同于 OpenJDK11 的 ZGC,Dragonwell 通过移植 OpenJDK 15+的 ZGC补丁,使得Dragonwell的ZGC可以投入生产环境 添加参数 `-XX:+UseZGC -XX:AllocatePrefetchStyle=1`以启用 @@ -36,13 +36,13 @@ Dragonwell11 的 ZGC 不同于 OpenJDK11 的 ZGC,Dragonwell 通过移植 OpenJDK ## 对象头压缩 -可以节约10%左右的Java对象内存占用,并可能提升程序性能。**目前仅支持G1GC和ParallelGC** +可以节约10%左右的Java对象内存占用,并可能提升程序性能。**目前仅支持G1GC和ParallelGC** 添加参数`-XX:+UseCompactObjectHeaders` ## Wisp -Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后,Java线程不再简单地映射到内核级线程,而是对应到一个协程,JVM在少量内核线上调度大量协程执行,以减少内核的调度开销 +Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后,Java线程不再简单地映射到内核级线程,而是对应到一个协程,JVM在少量内核线上调度大量协程执行,以减少内核的调度开销 只需添加JVM参数即可开启Wisp2,无需更改程序!! diff --git a/docs-java/process/maintenance/optimize/jvm/dragonwell8.md b/docs-java/process/maintenance/optimize/jvm/dragonwell8.md index d3110b314..4e0a2a6d8 100644 --- a/docs-java/process/maintenance/optimize/jvm/dragonwell8.md +++ b/docs-java/process/maintenance/optimize/jvm/dragonwell8.md @@ -31,7 +31,7 @@ G1GC 参数 ## JWarmup -JWarmup的基本原理: 根据前一次程序运行的情况,记录下热点方法、类编译顺序等信息,在应用下一次启动的时候积极加载相关的类,并积极编译相关的方法,进而应用启动后可以直接运行编译好的Java代码(C2编译)。 +JWarmup的基本原理: 根据前一次程序运行的情况,记录下热点方法、类编译顺序等信息,在应用下一次启动的时候积极加载相关的类,并积极编译相关的方法,进而应用启动后可以直接运行编译好的Java代码(C2编译)。 ### 使用步骤 @@ -39,19 +39,19 @@ JWarmup的基本原理: 根据前一次程序运行的情况,记录下热点 添加参数`-XX:-ClassUnloading -XX:-CMSClassUnloadingEnabled -XX:-ClassUnloadingWithConcurrentMark -XX:CompilationWarmUpLogfile=jwarmup.log -XX:+CompilationWarmUpRecording -XX:CompilationWarmUpRecordTime=300` -#### 使用阶段(一般是生产环境) +#### 使用阶段(一般是生产环境) 添加参数`-XX:+CompilationWarmUp -XX:-TieredCompilation -XX:CompilationWarmUpLogfile=jwarmup.log -XX:CompilationWarmUpDeoptTime=0` ## 对象头压缩 -可以节约10%左右的Java对象内存占用,并可能提升程序性能。 +可以节约10%左右的Java对象内存占用,并可能提升程序性能。 添加参数`-XX:+UseCompactObjectHeaders` ## Wisp -Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后,Java线程不再简单地映射到内核级线程,而是对应到一个协程,JVM在少量内核线上调度大量协程执行,以减少内核的调度开销 +Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后,Java线程不再简单地映射到内核级线程,而是对应到一个协程,JVM在少量内核线上调度大量协程执行,以减少内核的调度开销 只需添加JVM参数即可开启Wisp2,无需更改程序!! @@ -61,4 +61,4 @@ Wisp在JVM上提供了一种用户态的线程实现。开启Wisp2后,Java线 ## G1ElasticHeap -G1ElasticHeap 是一种 GC 功能,用于将 Java 堆的内存返回给操作系统,以减少 Java 进程的内存占用。要启用此功能,你需要通过以下选项使用 G1 GC:`-XX:+G1ElasticHeap -XX:+ElasticHeapPeriodicUncommit` +G1ElasticHeap 是一种 GC 功能,用于将 Java 堆的内存返回给操作系统,以减少 Java 进程的内存占用。要启用此功能,你需要通过以下选项使用 G1 GC:`-XX:+G1ElasticHeap -XX:+ElasticHeapPeriodicUncommit` diff --git a/docs-java/process/maintenance/optimize/jvm/graal.md b/docs-java/process/maintenance/optimize/jvm/graal.md index f6ad1e0f4..43d8831ae 100644 --- a/docs-java/process/maintenance/optimize/jvm/graal.md +++ b/docs-java/process/maintenance/optimize/jvm/graal.md @@ -34,8 +34,8 @@ GraalVM EE 22.3.0 修复了所有已知的 Minecraft 错误 ## 正在考虑的标志 -更激进的内联,在 Graal 中通过`-Dgraal.BaseTargetSpending=160`(默认为 120)和 OpenJDK 中的其他一些标志。具有较大缓存的 CPU 可能会从中受益 +更激进的内联,在 Graal 中通过`-Dgraal.BaseTargetSpending=160`(默认为 120)和 OpenJDK 中的其他一些标志。具有较大缓存的 CPU 可能会从中受益 -`-Dgraal.OptWriteMotion=true`和`-Dgraal.WriteableCodeCache=true` ,看起来不稳定,但在 GraalVM 22.3.0 中可能更稳定,显然,针对Mod +`-Dgraal.OptWriteMotion=true`和`-Dgraal.WriteableCodeCache=true` ,看起来不稳定,但在 GraalVM 22.3.0 中可能更稳定,显然,针对Mod ~~神无需优化~~ \ No newline at end of file diff --git a/docs-java/process/maintenance/optimize/jvm/jvm.md b/docs-java/process/maintenance/optimize/jvm/jvm.md index 319cd4f57..3edc3f6eb 100644 --- a/docs-java/process/maintenance/optimize/jvm/jvm.md +++ b/docs-java/process/maintenance/optimize/jvm/jvm.md @@ -35,11 +35,11 @@ flowchart TD 这可能与你想的不太一样 -Zulu 被淘汰了,这是事实 +Zulu 被淘汰了,这是事实 ## 垃圾回收器 -经过我们的多次测试,G1GC和ZGC 最适合MC服务器(还有一个 Zing C4) +经过我们的多次测试,G1GC和ZGC 最适合MC服务器(还有一个 Zing C4) 选择! diff --git a/docs-java/process/maintenance/optimize/jvm/zing.md b/docs-java/process/maintenance/optimize/jvm/zing.md index 1d3b5594b..3e0c65fdd 100644 --- a/docs-java/process/maintenance/optimize/jvm/zing.md +++ b/docs-java/process/maintenance/optimize/jvm/zing.md @@ -12,15 +12,15 @@ slug: /optimize/jvm/zing ## ReadyNow -你大概已经注意到了,Zing的预热期很长,ReadyNow就是来解决这个问题的 +你大概已经注意到了,Zing的预热期很长,ReadyNow就是来解决这个问题的 -若要启用 ReadyNow,请添加以下命令行选项,其中两者``通常相同: +若要启用 ReadyNow,请添加以下命令行选项,其中两者``通常相同: `-XX:ProfileLogIn=` 指示 Azul Platform Prime 使用现有配置文件日志中的信息。 `-XX:ProfileLogOut=` 记录之前的编译和运行中的去优化决策。 -然后,运行应用程序将自动生成或更新配置文件日志。此配置文件日志将在应用程序的后续运行时使用,从而改进预热。 +然后,运行应用程序将自动生成或更新配置文件日志。此配置文件日志将在应用程序的后续运行时使用,从而改进预热。 官方推荐所有重要函数执行**5万遍** @@ -28,11 +28,11 @@ slug: /optimize/jvm/zing ## 垃圾回收器 -C4 是 Zing 中唯一的垃圾收集器,取代了 OpenJDK 中可用的其他垃圾收集器。 +C4 是 Zing 中唯一的垃圾收集器,取代了 OpenJDK 中可用的其他垃圾收集器。 ## 紧凑字符串 -添加选项`-XX:+CompactStrings`可减少内存占用,提高字符串密集型应用程序的性能,并减少花费在垃圾回收上的时间 +添加选项`-XX:+CompactStrings`可减少内存占用,提高字符串密集型应用程序的性能,并减少花费在垃圾回收上的时间 ## 更高级别的 Falcon 优化 @@ -48,7 +48,7 @@ C4 是 Zing 中唯一的垃圾收集器,取代了 OpenJDK 中可用的其他 ## 下载 -虽然需要公司账户,但我们通过神秘手段搞到了安装包,都是JDK +虽然需要公司账户,但我们通过神秘手段搞到了安装包,都是JDK [RPM](https://cdn.azul.com/zing-zvm/ZVM24.07.0.0/zing24.07.0.0-3-jdk21.0.3.0.101-linux.x86_64.rpm) diff --git a/docs-java/process/maintenance/optimize/optimize.md b/docs-java/process/maintenance/optimize/optimize.md index edcfcac37..6f284f05e 100644 --- a/docs-java/process/maintenance/optimize/optimize.md +++ b/docs-java/process/maintenance/optimize/optimize.md @@ -5,17 +5,17 @@ sidebar_position: 1 # 优化 -优化是做减法,清理服务器的卡顿因素,由于 Minecraft 本身的性能低下、部分插件作者并没有优化代码的意识、服务器实体过多等。 +优化是做减法,清理服务器的卡顿因素,由于 Minecraft 本身的性能低下、部分插件作者并没有优化代码的意识、服务器实体过多等。 -每个服务器可能有自己的卡顿原因,在这部分先做最基础的通用优化,如果你使用后作用不大请参考性能分析板块。 +每个服务器可能有自己的卡顿原因,在这部分先做最基础的通用优化,如果你使用后作用不大请参考性能分析板块。 -在此之前,请一定查看 [优化误区](optimized-plugin.md),停止此类无效"优化",然后根据下面的步骤进行操作。 +在此之前,请一定查看 [优化误区](optimized-plugin.md),停止此类无效"优化",然后根据下面的步骤进行操作。 ## 第一步 - Java 优化 -为什么选择 Java 优化作为第一步 - 几乎任何情况下,服务器都会因为合适的 Java 受益, +为什么选择 Java 优化作为第一步 - 几乎任何情况下,服务器都会因为合适的 Java 受益, -仅仅需要你下载一个小小的 Java 安装程序,或者更改 JVM 参数(大白话来说就是开服参数)。 +仅仅需要你下载一个小小的 Java 安装程序,或者更改 JVM 参数(大白话来说就是开服参数)。 ### 选择合适的 Java @@ -23,78 +23,78 @@ sidebar_position: 1 ### JVM 参数优化 -可以在 [JVM 参数生成器](https://startmc.jakaco.xyz/)生成适合你服务器的基本 JVM 参数,然后复制并保存到你的启动脚本里,然后重启就完成了 +可以在 [JVM 参数生成器](https://startmc.jakaco.xyz/)生成适合你服务器的基本 JVM 参数,然后复制并保存到你的启动脚本里,然后重启就完成了 -别急,还有一些更高阶的参数。[JVM 优化](./jvm/jvm.md) +别急,还有一些更高阶的参数。[JVM 优化](./jvm/jvm.md) ## 第二步 - 预生成 -什么是预生成 - 预生成就是让服务器在玩家进入之前,预先生成区块对应方块、结构等。 +什么是预生成 - 预生成就是让服务器在玩家进入之前,预先生成区块对应方块、结构等。 -在 Minecraft 服务器中,生成新区块会消耗大量服务器资源,如果要开启新的地图 / 服务器,建议先预生成地图。 +在 Minecraft 服务器中,生成新区块会消耗大量服务器资源,如果要开启新的地图 / 服务器,建议先预生成地图。 -[Chunky](https://hangar.papermc.io/pop4959/Chunky) 是最常用的预生成插件,通常与 [ChunkyBorder](https://modrinth.com/plugin/chunkyborder) 结合使用,你可以根据自己的喜好自定义边界及形状。 +[Chunky](https://hangar.papermc.io/pop4959/Chunky) 是最常用的预生成插件,通常与 [ChunkyBorder](https://modrinth.com/plugin/chunkyborder) 结合使用,你可以根据自己的喜好自定义边界及形状。 -通常来说,即使你不设置边界,也务必进行预生成大约 1w x 1w 大小的世界。这对降低后期服务器负载很有效。 +通常来说,即使你不设置边界,也务必进行预生成大约 1w x 1w 大小的世界。这对降低后期服务器负载很有效。 -预生成时应该注意,默认情况 1.20 原版 1w x 1w 的地图需要 4-5 GB 硬盘。应根据硬盘大小选择世界的预生成大小。 +预生成时应该注意,默认情况 1.20 原版 1w x 1w 的地图需要 4-5 GB 硬盘。应根据硬盘大小选择世界的预生成大小。 ## 第三步 - 更换核心 -在插件和配置层面能进行的优化其实不多(受限于 API 还有服务端核心),所以最好的方法是更换服务器核心。 +在插件和配置层面能进行的优化其实不多(受限于 API 还有服务端核心),所以最好的方法是更换服务器核心。 :::warning -任何时候都不要再使用 CraftBukkit 和 Spigot 了。追求稳定/性能上 Purpur ,追求原版特性上 Leaves,性能上 Leaf +任何时候都不要再使用 CraftBukkit 和 Spigot 了。追求稳定/性能上 Purpur ,追求原版特性上 Leaves,性能上 Leaf :::
选择更换的服务器核心 -此处只是作为最基础的核心选择推荐,完整版请查看[核心选择](/docs-java/start/server-core-choose.md) +此处只是作为最基础的核心选择推荐,完整版请查看[核心选择](/docs-java/start/server-core-choose.md) ### Paper - 追求极致稳定 _推荐度 ★★★★☆_ -如果是第一次开服,或者追求稳定,请使用 Paper 。任何时候想更换其他核心可以随时更换如 Purpur / Leaf 等核心。 +如果是第一次开服,或者追求稳定,请使用 Paper 。任何时候想更换其他核心可以随时更换如 Purpur / Leaf 等核心。 ### Purpur - 稳定性与性能最佳选择 _推荐度 ★★★★★_ -如果你并不是追求更极致的性能,Purpur 你最好的选择,只需要替换掉核心就可以,Purpur 兼容全部插件!! +如果你并不是追求更极致的性能,Purpur 你最好的选择,只需要替换掉核心就可以,Purpur 兼容全部插件!! ### Leaf - 极致性能 _推荐度 ★★★★☆_ -前往 Leaf 的 GitHub Action 下载最新核心,然后替换!!,Leaf 兼容你的绝大部分插件(已知仅有一个不兼容,但在插件的分支解决) +前往 Leaf 的 GitHub Action 下载最新核心,然后替换!!,Leaf 兼容你的绝大部分插件(已知仅有一个不兼容,但在插件的分支解决) -### Folia - 硬件利用率超高的高性能,但兼容性较差 _推荐度 ★★★☆☆_ +### Folia - 硬件利用率超高的高性能,但兼容性较差 _推荐度 ★★★☆☆_ -如果你的服务器对插件的需求不大,或者你的插件已全部兼容 Folia ,那你就可以选择切换到这个核心,你的 tps 有绝对巨大的提升(甚至超过了 Leaf ) +如果你的服务器对插件的需求不大,或者你的插件已全部兼容 Folia ,那你就可以选择切换到这个核心,你的 tps 有绝对巨大的提升(甚至超过了 Leaf )
## 第四步 - 调整服务端配置 -目前,Bilibili 上面的配置都是很老的,不推荐使用 +目前,Bilibili 上面的配置都是很老的,不推荐使用 -文档里的 [调服务端配置](go.md) 比较新,非常推荐 +文档里的 [调服务端配置](go.md) 比较新,非常推荐 ## 第五步 - 更换硬件 -**不要无脑换硬件!** 首先要知道自己的硬件瓶颈在哪里。如果 CPU 负荷过高,建议先排除 CPU 异常占用,再看 CPU 总体占用情况。一般来说服务器卡顿换 CPU 是最有效的,单核性能和 MC 服务器 TPS 几乎呈线性相关,但是换 CPU 几乎就相当于要换一台机器,迁移对于新手来说并不是易事。 +**不要无脑换硬件!** 首先要知道自己的硬件瓶颈在哪里。如果 CPU 负荷过高,建议先排除 CPU 异常占用,再看 CPU 总体占用情况。一般来说服务器卡顿换 CPU 是最有效的,单核性能和 MC 服务器 TPS 几乎呈线性相关,但是换 CPU 几乎就相当于要换一台机器,迁移对于新手来说并不是易事。 -对于单端服务器来说,超过 8 核心的部分基本很难通过提升 CPU 核心数量提升 TPS 。不要动不动就买 E5 然后卡了就加 4 核 8G 内存,更多也没用的。 +对于单端服务器来说,超过 8 核心的部分基本很难通过提升 CPU 核心数量提升 TPS 。不要动不动就买 E5 然后卡了就加 4 核 8G 内存,更多也没用的。 -对于群组服务器来说,一般核心数量都会占用上,但是内存可能会有些捉急,对于每一个普通的生存服来说内存的推荐值为 8G - 20G 更多更少都是不推荐的。 +对于群组服务器来说,一般核心数量都会占用上,但是内存可能会有些捉急,对于每一个普通的生存服来说内存的推荐值为 8G - 20G 更多更少都是不推荐的。 :::warning -如果发现 CPU 占用和内存占用都不是很高但是服务器卡卡的,请考虑是不是服务器带宽受限导致玩家 ping 值突然升高的问题。请分清楚 TPS 低导致的卡顿,MSPT 高导致的卡顿,带宽占满导致的卡顿。 +如果发现 CPU 占用和内存占用都不是很高但是服务器卡卡的,请考虑是不是服务器带宽受限导致玩家 ping 值突然升高的问题。请分清楚 TPS 低导致的卡顿,MSPT 高导致的卡顿,带宽占满导致的卡顿。 ::: ## 第六步 - 更换操作系统 -无论在性能还是稳定性, Linux 都比 Windows 更适合用于开服,对于 Linux 根据自己的使用经验选择即可,如果没有使用经验可以先使用 Ubuntu 等主流系统。 +无论在性能还是稳定性, Linux 都比 Windows 更适合用于开服,对于 Linux 根据自己的使用经验选择即可,如果没有使用经验可以先使用 Ubuntu 等主流系统。 如果想要了解更多请前往进阶 [Linux 开服教程](https://yizhan.wiki/NitWikit/Sundry/Advance/Linux) @@ -102,10 +102,10 @@ sidebar_position: 1 **“马克思主义活的灵魂在于对具体问题作具体分析。” - 列宁** -通用优化已经差不多做好了,而每个服都有自己导致滞后的因素,可能是实体太多,可能是玩家机器多,也可能是某些插件写的太屎... +通用优化已经差不多做好了,而每个服都有自己导致滞后的因素,可能是实体太多,可能是玩家机器多,也可能是某些插件写的太屎... -如此,那么应该如何知道服务器为何卡顿呢? +如此,那么应该如何知道服务器为何卡顿呢? -如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢? 请转跳到 [怎么让大佬帮我](ask-for-help.md) +如果你是个完完全全的新手,或者懒得分析,想请教别人分析应该怎么办呢? 请转跳到 [怎么让大佬帮我](ask-for-help.md) -如果你不想求助别人,亦或者你想有一些进步,请参考 [性能分析](performance-analysis.md) +如果你不想求助别人,亦或者你想有一些进步,请参考 [性能分析](performance-analysis.md) diff --git a/docs-java/process/maintenance/optimize/optimized-plugin.md b/docs-java/process/maintenance/optimize/optimized-plugin.md index b319e8542..84a524830 100644 --- a/docs-java/process/maintenance/optimize/optimized-plugin.md +++ b/docs-java/process/maintenance/optimize/optimized-plugin.md @@ -7,7 +7,7 @@ sidebar_position: 6 ## 混合端 -由于混合端本身的问题,混合端能进行的优化很少,并且混合端**不可以装大部分优化 MOD**,但是你仍然可以进行除安装优化mod以外的其他优化操作 +由于混合端本身的问题,混合端能进行的优化很少,并且混合端**不可以装大部分优化 MOD**,但是你仍然可以进行除安装优化mod以外的其他优化操作 ~~不使用混合端来达到最佳的优化~~ @@ -15,11 +15,11 @@ sidebar_position: 6 :::warning[特别说明] -我们在这里列出的不建议使用的插件是一个类型的插件,而不是仅仅只是不推荐某个插件. 对于推荐的"优化插件",其实大多数也是通过限制红石/漏斗/实体数量和AI等完成的, +我们在这里列出的不建议使用的插件是一个类型的插件,而不是仅仅只是不推荐某个插件. 对于推荐的"优化插件",其实大多数也是通过限制红石/漏斗/实体数量和AI等完成的, -在狭义上任何使用插件操作限制任何东西都不能称之为"*优化*"而是"*限制*",这里只是以"*优化插件*"代指一些"*限制插件*". +在狭义上任何使用插件操作限制任何东西都不能称之为"*优化*"而是"*限制*",这里只是以"*优化插件*"代指一些"*限制插件*". -所以说,使用这些"优化插件",不如更换服务端核心,甚至不如优化启动参数和调优服务端配置文件 +所以说,使用这些"优化插件",不如更换服务端核心,甚至不如优化启动参数和调优服务端配置文件 ::: @@ -27,91 +27,91 @@ sidebar_position: 6 :::info -有很多优化是核心自带的,使用插件只是利用核心的 API,效率上是比不上核心的。如 AI,村民,爆炸,区块卸载等... +有很多优化是核心自带的,使用插件只是利用核心的 API,效率上是比不上核心的。如 AI,村民,爆炸,区块卸载等... -大佬们思考一下吧,让插件删掉核心已经决定刷出来的怪物性能好还是让核心决定不刷怪性能好? +大佬们思考一下吧,让插件删掉核心已经决定刷出来的怪物性能好还是让核心决定不刷怪性能好? ::: ### 控制玩家跑图 -由于大量生成区块非常消耗性能,限制玩家生成的区块数,能够起到一定的效果。 +由于大量生成区块非常消耗性能,限制玩家生成的区块数,能够起到一定的效果。 -但我们一般可以通过 [参数配置](go.md#prevent-moving-into-unloaded-chunks) 降低区块生成速率,不太需要强行拉回玩家或减速玩家等方式干扰跑图。 +但我们一般可以通过 [参数配置](go.md#prevent-moving-into-unloaded-chunks) 降低区块生成速率,不太需要强行拉回玩家或减速玩家等方式干扰跑图。 -因此,停止使用类似插件,如: +因此,停止使用类似插件,如: -*[TooManyGen](https://modrinth.com/plugin/toomanygen) - 惩罚玩家跑图,实际上这是非常影响游戏体验的,有更好的选择。* +*[TooManyGen](https://modrinth.com/plugin/toomanygen) - 惩罚玩家跑图,实际上这是非常影响游戏体验的,有更好的选择。* ### 对于 AI 有影响的插件 -使用 Pufferfish Fork(如Purpur / Leaf等)降低远处生物的 AI 比插件利用 API 更加有效和符合游戏逻辑, +使用 Pufferfish Fork(如Purpur / Leaf等)降低远处生物的 AI 比插件利用 API 更加有效和符合游戏逻辑, -因此,停止使用类似插件,如: +因此,停止使用类似插件,如: -*LaggRemover (Fork) - 有时候会导致即使插件卸载,实体 AI 也被移除了,比不上 Pufferfish(使用 Purpur Fork即可)根据距离衰减的 AI.* +*LaggRemover (Fork) - 有时候会导致即使插件卸载,实体 AI 也被移除了,比不上 Pufferfish(使用 Purpur Fork即可)根据距离衰减的 AI.* ### 任何对于内存 GC 进行操作的插件 -内存 GC 本身是受 JVM 本身控制的. GC 本身是会导致顿卡的,而并不能起到"清理内存"的作用. +内存 GC 本身是受 JVM 本身控制的. GC 本身是会导致顿卡的,而并不能起到"清理内存"的作用. -因此,停止使用类似插件,如: +因此,停止使用类似插件,如: -*Spartan - 一款性能非常差的付费反作弊,如果你买了那么恭喜你你被骗了(大嘘),如果近期购买请立即申请退款!* +*Spartan - 一款性能非常差的付费反作弊,如果你买了那么恭喜你你被骗了(大嘘),如果近期购买请立即申请退款!* ### 村民优化插件 -村民非常吃性能,如果只需要保留公用交易性质可以使用 [Shopkeepers](https://www.spigotmc.org/resources/shopkeepers.80756/) 插件创建无 AI 的村民, +村民非常吃性能,如果只需要保留公用交易性质可以使用 [Shopkeepers](https://www.spigotmc.org/resources/shopkeepers.80756/) 插件创建无 AI 的村民, -如果你想保留村民和 AI 只需要在 `purpur.yml` 中搜索 lobotomize 启用即可, +如果你想保留村民和 AI 只需要在 `purpur.yml` 中搜索 lobotomize 启用即可, -另外在 `config/paper-world-defaults.yml` 中有一部分可以优化的内容和村民相关,但这可能会导致村民看起来有一点呆。 +另外在 `config/paper-world-defaults.yml` 中有一部分可以优化的内容和村民相关,但这可能会导致村民看起来有一点呆。 在 `调服务端配置`自己找 -因此,停止使用类似插件,如: +因此,停止使用类似插件,如: *[Villager Optimiser](https://www.spigotmc.org/resources/villager-optimiser-1-14-2-1-16-5.68517/) - 降低村民寻路操作的插件* ### 地面清理插件 -地面上的物品很少会导致性能问题,而且物品往往会自行消失,如果你的服务器掉落物特别多,请调整以下两个参数: +地面上的物品很少会导致性能问题,而且物品往往会自行消失,如果你的服务器掉落物特别多,请调整以下两个参数: [点这里查看正确方法 #alt-item-despawn-rate](go.md#alt-item-despawn-rate) [点这里查看正确方法 #merge-radius](go.md#merge-radius) -因此,停止使用类似插件,如: +因此,停止使用类似插件,如: *[ClearLagg](https://www.spigotmc.org/resources/clearlagg.68271/) - 清理物品插件* ### 生物清理插件 -使用插件删除生物是笨蛋中的笨蛋才会做的事,生物如果达到服务器设定的上限则会停止生成. 而被清除后,服务器必须重新生成生物,这个过程也是非常费性能的。 +使用插件删除生物是笨蛋中的笨蛋才会做的事,生物如果达到服务器设定的上限则会停止生成. 而被清除后,服务器必须重新生成生物,这个过程也是非常费性能的。 -如果你不需要那么多怪物,直接调整参数即可 [点这里查看正确方法](go.md#spawn-limits) +如果你不需要那么多怪物,直接调整参数即可 [点这里查看正确方法](go.md#spawn-limits) -因此,停止使用类似插件,如: +因此,停止使用类似插件,如: *[Cleaner](https://www.minebbs.com/resources/cleaner-addon.4816/) - 清理生物/物品插件* ### 实体堆叠插件 -除非玩家乐意养殖非常非常多生物,否则对生物进行堆叠仍然会使服务器浪费性能在刷新更多的生物上,否则请不要安装堆叠插件。 +除非玩家乐意养殖非常非常多生物,否则对生物进行堆叠仍然会使服务器浪费性能在刷新更多的生物上,否则请不要安装堆叠插件。 -因此,停止使用类似插件,如: +因此,停止使用类似插件,如: *[StackMob](https://www.spigotmc.org/resources/stackmob-enhance-your-servers-performance-without-the-sacrifice.29999/) - 实体密集时进行堆叠的插件(若一定要使用仍推荐本插件而不是其他堆叠插件)* -其实叠加后的一小段时间,应该是占用下降的,但是服务器会因为实际的实体变少,重新刷新怪物,这会让占用缓慢恢复。 +其实叠加后的一小段时间,应该是占用下降的,但是服务器会因为实际的实体变少,重新刷新怪物,这会让占用缓慢恢复。 -其次,如果堆叠插件使用的是命名的方式,这会牺牲命名这个操作,主流的是通过发包,告诉玩家这里有多少怪物,但是大量的会刷新的发包也会造成一定的带宽、cpu压力 +其次,如果堆叠插件使用的是命名的方式,这会牺牲命名这个操作,主流的是通过发包,告诉玩家这里有多少怪物,但是大量的会刷新的发包也会造成一定的带宽、cpu压力 -最后,从心理学的角度(不是),玩家总是倾向将动物养殖到服务器能容忍的最大限度,如果你堆叠到100,他一样会养很多堆叠到100的羊, +最后,从心理学的角度(不是),玩家总是倾向将动物养殖到服务器能容忍的最大限度,如果你堆叠到100,他一样会养很多堆叠到100的羊, -综上所述,不要安装堆叠插件。 +综上所述,不要安装堆叠插件。 :::tip -补充一点,我可以推荐给你这个,只在服务器mspt超过阈值才堆叠动物。如果你本身有farmcontrol之类的插件控制总量,那这个插件的使用是安全、无感、且能起到一定的“优化”作用的。
+补充一点,我可以推荐给你这个,只在服务器mspt超过阈值才堆叠动物。如果你本身有farmcontrol之类的插件控制总量,那这个插件的使用是安全、无感、且能起到一定的“优化”作用的。
https://github.com/quiquelhappy/StackMob-5 ::: @@ -123,7 +123,7 @@ Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。 ### 区块卸载插件 -服务器会自己卸载插件,与其使用插件一遍遍检查区块是否需要卸载不如让服务器自行卸载, +服务器会自己卸载插件,与其使用插件一遍遍检查区块是否需要卸载不如让服务器自行卸载, 如果你需要更快卸载请 [点这里查看正确方法](go.md#delay-chunk-unloads-by) @@ -133,62 +133,62 @@ Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。 :::warning -大佬们,多合一插件大多数都是把几个开源的功能拼接到一起就说多合一说不定还付费了。这并不划算,且本身很容易臃肿。 +大佬们,多合一插件大多数都是把几个开源的功能拼接到一起就说多合一说不定还付费了。这并不划算,且本身很容易臃肿。 ::: #### Lagassist -跑路付费多合一"优化插件",不要使用。下面是吐槽(包含一定程度的恶意,问就是因为被骗过一百块) +跑路付费多合一"优化插件",不要使用。下面是吐槽(包含一定程度的恶意,问就是因为被骗过一百块)
为什么不要用这个插件 -1. ChunkAnalyser - 简单的搜索世界的红石,漏斗,实体之类,有很多平替插件如 [Insights](https://modrinth.com/plugin/insights)/ [Entitydetection](https://www.spigotmc.org/resources/entitydetection-tile-entity-support.20588/); +1. ChunkAnalyser - 简单的搜索世界的红石,漏斗,实体之类,有很多平替插件如 [Insights](https://modrinth.com/plugin/insights)/ [Entitydetection](https://www.spigotmc.org/resources/entitydetection-tile-entity-support.20588/); -2. LagMonitor,LagMap,Benchmark - 很鸡肋的性能检测(不如 [Spark](performance-analysis.md#spark) ); +2. LagMonitor,LagMap,Benchmark - 很鸡肋的性能检测(不如 [Spark](performance-analysis.md#spark) ); -3. RedstoneCuller - 直接破坏红石机器,平替插件 [AntiRedstoneClock](https://hangar.papermc.io/OneLiteFeather/AntiRedstoneClock-Remastered?fbclid=IwAR0sVVd50oTgHd9UVJJ7C8dTyL3PiVIBaJtpT6NyMy_D2T2Ho0umzrqtaDw); +3. RedstoneCuller - 直接破坏红石机器,平替插件 [AntiRedstoneClock](https://hangar.papermc.io/OneLiteFeather/AntiRedstoneClock-Remastered?fbclid=IwAR0sVVd50oTgHd9UVJJ7C8dTyL3PiVIBaJtpT6NyMy_D2T2Ho0umzrqtaDw); -4. ChunkHoppers - 有专门的区块漏斗插件如 [UpgradeableHoppers](https://www.spigotmc.org/resources/upgradeable-hoppers-%E2%AD%95-fast-hopper-plugin-link-containers-%E2%9C%85-item-transfer-suction-chunk-1-20-sup.69201/),体验远好于此插件; +4. ChunkHoppers - 有专门的区块漏斗插件如 [UpgradeableHoppers](https://www.spigotmc.org/resources/upgradeable-hoppers-%E2%AD%95-fast-hopper-plugin-link-containers-%E2%9C%85-item-transfer-suction-chunk-1-20-sup.69201/),体验远好于此插件; -5. ChunkLimiter - 平替插件 [Farmcontrol](https://www.spigotmc.org/resources/farmcontrol-1-15-1-19.86923/) / [Mob-Farm-Manager](https://www.spigotmc.org/resources/mob-farm-manager-supports-1-7-10-up-to-1-20-hopper-support.15127/),甚至更多配置项; +5. ChunkLimiter - 平替插件 [Farmcontrol](https://www.spigotmc.org/resources/farmcontrol-1-15-1-19.86923/) / [Mob-Farm-Manager](https://www.spigotmc.org/resources/mob-farm-manager-supports-1-7-10-up-to-1-20-hopper-support.15127/),甚至更多配置项; 6. Dynamic View Distance - 平替插件 [View-distance-tweaks](https://www.spigotmc.org/resources/view-distance-tweaks.75164/); -总之每个所谓优化都是槽点,插件占用的性能多于"优化"的性能,请不要继续使用了。 +总之每个所谓优化都是槽点,插件占用的性能多于"优化"的性能,请不要继续使用了。
#### CMI / ESS -所谓基础插件,旨在使用一个插件就可以代替数个甚至数十个插件的功能。 +所谓基础插件,旨在使用一个插件就可以代替数个甚至数十个插件的功能。 -但是这样的插件往往功能多而不专,如 CMI 经济经常出 bug 且不支持跨服。 +但是这样的插件往往功能多而不专,如 CMI 经济经常出 bug 且不支持跨服。 -而 ESS 使用 yml 储存大量的玩家数据,经常被发现有刷钱漏洞等高血压操作。 +而 ESS 使用 yml 储存大量的玩家数据,经常被发现有刷钱漏洞等高血压操作。 -这些插件往往因为功能多导致有些代码没有被优化好,无法和专精某一方面的插件媲美。 +这些插件往往因为功能多导致有些代码没有被优化好,无法和专精某一方面的插件媲美。 ### 过于古老的插件 -除了 Vault 等前置插件以外,插件总是需要更新的,如果一个插件长期不更新, +除了 Vault 等前置插件以外,插件总是需要更新的,如果一个插件长期不更新, -且并非服务器核心玩法插件,请考虑选择搜索类似功能插件。 +且并非服务器核心玩法插件,请考虑选择搜索类似功能插件。 ### 功能过于简单的插件 -主要是包括一些甚至不到 10kb 的插件,功能仅仅只是右键西瓜能够收获,或是禁止农田踩踏等。 +主要是包括一些甚至不到 10kb 的插件,功能仅仅只是右键西瓜能够收获,或是禁止农田踩踏等。 -这些插件功能很可能被一些其他的插件甚至核心自带了(如 purpur 可设置农田是否可踩踏)。 +这些插件功能很可能被一些其他的插件甚至核心自带了(如 purpur 可设置农田是否可踩踏)。 -虽然一般来说这些插件不会对性能有影响,但是的确能够降低服务器维护难度等。 +虽然一般来说这些插件不会对性能有影响,但是的确能够降低服务器维护难度等。 ### 拥有相似功能的插件 -顾名思义,同时安装两个基础插件如 CMI 和 ESS,两个权限插件 GroupManager 和 Luckperms ,两个经济插件, +顾名思义,同时安装两个基础插件如 CMI 和 ESS,两个权限插件 GroupManager 和 Luckperms ,两个经济插件, -不但可能由于插件矛盾导致性能问题,更有可能直接出现权限失效、保护功能失效等严重问题。 +不但可能由于插件矛盾导致性能问题,更有可能直接出现权限失效、保护功能失效等严重问题。 ## 有用的~~优化~~限制插件 @@ -207,33 +207,33 @@ Paper 酱为你在 `/config/paper-world-default.yml` 中准备了爆炸优化。 ### OkTreasures -原版 Minecraft 有一个错误,即埋藏的寻宝速度非常慢,有时会冻结你的游戏。这也发生在多人游戏中,如果有人打开埋藏的宝藏搜索,服务器有时会崩溃。并且很难发现真正的错误,从 Minecraft 1.20.1 开始,这还没有修复。 +原版 Minecraft 有一个错误,即埋藏的寻宝速度非常慢,有时会冻结你的游戏。这也发生在多人游戏中,如果有人打开埋藏的宝藏搜索,服务器有时会崩溃。并且很难发现真正的错误,从 Minecraft 1.20.1 开始,这还没有修复。 -这个插件通过用一个自定义的、更快、更简单的搜索替换原版埋藏的寻宝来修复这些类型的崩溃:它只是在合理的距离内随机选择一个海滩并将宝藏放在那里。由于这主要是异步的,因此不会导致延迟。 +这个插件通过用一个自定义的、更快、更简单的搜索替换原版埋藏的寻宝来修复这些类型的崩溃:它只是在合理的距离内随机选择一个海滩并将宝藏放在那里。由于这主要是异步的,因此不会导致延迟。 -详细使用和局限性,请看[官方页面](https://hangar.papermc.io/Kyle/OkTreasures) +详细使用和局限性,请看[官方页面](https://hangar.papermc.io/Kyle/OkTreasures) ### Chunky Border -一个设置世界边界的工具,可设置不同形状,拉回方式(适配地球从东方跨越地图到西方)等,比原版更加友好。 +一个设置世界边界的工具,可设置不同形状,拉回方式(适配地球从东方跨越地图到西方)等,比原版更加友好。 [下载链接](https://modrinth.com/plugin/chunkyborder) ### EntityDetection -这个插件可以用来寻找哪些东西在拖慢服务器,使用此插件,你可以快速找到包含大量怪物、动物和漏斗。 +这个插件可以用来寻找哪些东西在拖慢服务器,使用此插件,你可以快速找到包含大量怪物、动物和漏斗。 [下载链接](https://www.spigotmc.org/resources/entitydetection-tile-entity-support.20588/) ### AntiRaidFarm -使用这个简单的插件阻止利用无限不祥之兆循环的作弊突袭农场。此插件没有命令,想要绕过冷却时间的玩家可以获得权限。 +使用这个简单的插件阻止利用无限不祥之兆循环的作弊突袭农场。此插件没有命令,想要绕过冷却时间的玩家可以获得权限。 [下载链接](https://hangar.papermc.io/jmp/AntiRaidFarm) ### Insights -此插件是一个高性能的用来扫描世界红石加以限制的插件,爆杀大部分限制插件 +此插件是一个高性能的用来扫描世界红石加以限制的插件,爆杀大部分限制插件 [下载链接](https://modrinth.com/plugin/insights) diff --git a/docs-java/process/maintenance/optimize/performance-analysis.md b/docs-java/process/maintenance/optimize/performance-analysis.md index 2817a6ff1..f15b4344c 100644 --- a/docs-java/process/maintenance/optimize/performance-analysis.md +++ b/docs-java/process/maintenance/optimize/performance-analysis.md @@ -5,11 +5,11 @@ sidebar_position: 5 # 性能分析 -性能分析是一切"优化"的依据。如果你不知道服务器导致卡顿的元凶,那么将毫无意义。 +性能分析是一切"优化"的依据。如果你不知道服务器导致卡顿的元凶,那么将毫无意义。 ## Spark -Spark是一个Minecraft的性能分析器,支持广泛(如 Bukkit,BungeeCord,Velocity,Forge,Fabric 等)。 +Spark是一个Minecraft的性能分析器,支持广泛(如 Bukkit,BungeeCord,Velocity,Forge,Fabric 等)。 :::info @@ -40,47 +40,47 @@ Spark是一个Minecraft的性能分析器,支持广泛(如 Bukkit,BungeeCo 插件服和 1.13 以上的 mod 服请下载插件版本并将 Spark.jar 文件插件放到服务端的 plugins 文件夹中。 -1.12.2 和以下混合服优先使用 mod 版本,放入 mods 文件夹。 +1.12.2 和以下混合服优先使用 mod 版本,放入 mods 文件夹。 -对于 Purpur Fork 服务器,默认自带 Spark,无需单独下载。 +对于 Purpur Fork 服务器,默认自带 Spark,无需单独下载。 #### /spark profiler -如果分析器已经启动,你可以输入下面这些命令: +如果分析器已经启动,你可以输入下面这些命令: /spark profiler open 打开分析报告页而无需停止; /spark profiler stop 停止分析并浏览分析结果; -/spark profiler cancel 取消分析操作,并取消上传报告。 +/spark profiler cancel 取消分析操作,并取消上传报告。 -在其他情况下,你可以使用这些基本的操作命令: +在其他情况下,你可以使用这些基本的操作命令: /spark profiler start 在默认操作模式下开始分析; /spark profiler info 检查当前分析的状态。 -这是主要的指令,为了更多的功能,更精准的分析等可以在后面加上参数.具体请查看 [profiler 指令使用方法](https://snowcutieowo.github.io/spark/#/spark.command-usage) +这是主要的指令,为了更多的功能,更精准的分析等可以在后面加上参数.具体请查看 [profiler 指令使用方法](https://snowcutieowo.github.io/spark/#/spark.command-usage) #### /spark health -子命令 health 会产生一份服务器的健康报告,其中包含 TPS、CPU、内存和硬盘的使用情况。 +子命令 health 会产生一份服务器的健康报告,其中包含 TPS、CPU、内存和硬盘的使用情况。 #### /spark tps -Spark 默认会替代服务器的 TPS 输出(但可能被 CMI 等插件覆盖,请关闭CMI的/tps指令或者输入完整 `/spark tps` 获取)。 +Spark 默认会替代服务器的 TPS 输出(但可能被 CMI 等插件覆盖,请关闭CMI的/tps指令或者输入完整 `/spark tps` 获取)。 ## Timings -Timings是一个 Paper 自带的性能分析器,由于其监听每一个事件,性能开销比较大, +Timings是一个 Paper 自带的性能分析器,由于其监听每一个事件,性能开销比较大, -在很多服务器核心(如 Purpur 等)本身也是被移除的,**不推荐**。 +在很多服务器核心(如 Purpur 等)本身也是被移除的,**不推荐**。 :::warning -在可预见的未来Timings将会被移除,作为新手可以直接跳过。如果你使用Paper服务器,请禁用Timings!虽然它是一个很好的诊断工具, +在可预见的未来Timings将会被移除,作为新手可以直接跳过。如果你使用Paper服务器,请禁用Timings!虽然它是一个很好的诊断工具, -但由于其不断不断启动和停止虚拟“秒表”,会对性能产生非常大的影响。因此无论服务器规模大小只需禁用计时即可实现 *10-30%* 的性能提升。 +但由于其不断不断启动和停止虚拟“秒表”,会对性能产生非常大的影响。因此无论服务器规模大小只需禁用计时即可实现 *10-30%* 的性能提升。 可以通过在 `/config/paper-global.yml` 中 `timings.enabled` 设为 `false` 禁用。 @@ -90,18 +90,18 @@ Timings是一个 Paper 自带的性能分析器,由于其监听每一个事件 :::warning -这部分需要一些基础知识,一般 Spark 分析不出来才会尝试其他软件。*一般服主不必要学习这部分内容*。 +这部分需要一些基础知识,一般 Spark 分析不出来才会尝试其他软件。*一般服主不必要学习这部分内容*。 ::: ### arthas -Arthas 是一款阿里巴巴开发的在线性能分析软件,可实时查看应用 JVM /内存/ GC /线程 的状态信息,甚至包括查看方法调用的出入参、异常,监测方法执行耗时等,一般用于排查某些插件的CPU占用情况和插件线程占用分析。 +Arthas 是一款阿里巴巴开发的在线性能分析软件,可实时查看应用 JVM /内存/ GC /线程 的状态信息,甚至包括查看方法调用的出入参、异常,监测方法执行耗时等,一般用于排查某些插件的CPU占用情况和插件线程占用分析。 [官方文档链接](https://arthas.aliyun.com/doc/) ### jprofiler -jprofiler 是一款付费的易用的性能分析软件,甚至可以对 MySQL ,内存泄漏进行分析,可视化展示。 +jprofiler 是一款付费的易用的性能分析软件,甚至可以对 MySQL ,内存泄漏进行分析,可视化展示。 [官方链接](https://www.ej-technologies.com/products/jprofiler/overview.html) diff --git a/docs-java/process/maintenance/optimize/storage-space-optimization.md b/docs-java/process/maintenance/optimize/storage-space-optimization.md index c6178ec9a..92b9b25ef 100644 --- a/docs-java/process/maintenance/optimize/storage-space-optimization.md +++ b/docs-java/process/maintenance/optimize/storage-space-optimization.md @@ -7,11 +7,11 @@ sidebar_position: 4 ## 插件数据优化 -对于 `/plugins` 文件夹储存是否需要进行优化这个问题,有个很简单的判断方法就是查看总占用, +对于 `/plugins` 文件夹储存是否需要进行优化这个问题,有个很简单的判断方法就是查看总占用, -如果超过了 200 MB ,那么很有可能有些插件使用了 Sqlite / yml / zip 等方式储存了一些东西, +如果超过了 200 MB ,那么很有可能有些插件使用了 Sqlite / yml / zip 等方式储存了一些东西, -在服务器有一定人数的情况下这并不是推荐的储存方式,在某些情况下可能对储存空间会有一定的占用。 +在服务器有一定人数的情况下这并不是推荐的储存方式,在某些情况下可能对储存空间会有一定的占用。 ### 使用数据库 @@ -21,23 +21,23 @@ sidebar_position: 4 ### 使用备份插件替代整端备份 -推荐两个备份插件(高效的备份,无需停服即可备份): +推荐两个备份插件(高效的备份,无需停服即可备份): -[ebackup](https://www.spigotmc.org/resources/ebackup-simple-and-reliable-backups-for-your-server-supports-ftp-sftp.69917/) 可设置黑名单不备份某些文件,FTP 远程备份支持 +[ebackup](https://www.spigotmc.org/resources/ebackup-simple-and-reliable-backups-for-your-server-supports-ftp-sftp.69917/) 可设置黑名单不备份某些文件,FTP 远程备份支持 -[serverbackup](https://www.spigotmc.org/resources/server-backup-ingame-dropbox-ftp-backup-1-8-1-20-multithreaded.79320/) 可支持动态备份(即只备份最近变更过的文件),占用空间更小 +[serverbackup](https://www.spigotmc.org/resources/server-backup-ingame-dropbox-ftp-backup-1-8-1-20-multithreaded.79320/) 可支持动态备份(即只备份最近变更过的文件),占用空间更小 ## 存档存储空间优化 -Minecraft 默认的区块格式是 ANVIL ,但是这个区块格式有很多弊端,比如存了一些无用信息,使用了强制对齐等, +Minecraft 默认的区块格式是 ANVIL ,但是这个区块格式有很多弊端,比如存了一些无用信息,使用了强制对齐等, -且至今还使用着古老的 zlib 压缩格式,所以如果硬盘吃紧时候,可以尝试对其进行调整。 +且至今还使用着古老的 zlib 压缩格式,所以如果硬盘吃紧时候,可以尝试对其进行调整。 -注意,这是很底层的东西,其实不推荐在非必要情况下进行处理 +注意,这是很底层的东西,其实不推荐在非必要情况下进行处理 ### 删除过时区块 -有一个插件可以做到,但是忘了名字 +有一个插件可以做到,但是忘了名字 TODO @@ -47,40 +47,40 @@ TODO Linear不适合玩家基数非常大/服务器经常滞后/压缩比较大(推荐默认1-5)/ CPU 核心数目小/服务器硬盘空间足够大的服务器。 -换句话来说,只有玩家并不多但需要较大的地图且 VPS 默认给的硬盘较小时才应该考虑此格式。 +换句话来说,只有玩家并不多但需要较大的地图且 VPS 默认给的硬盘较小时才应该考虑此格式。 -如果强行在以上不适合使用 Linear 的服务器使用时可能会出现 **局部大规模回档** 的情况,请注意。 +如果强行在以上不适合使用 Linear 的服务器使用时可能会出现 **局部大规模回档** 的情况,请注意。 这应该是最后才应该考虑的方案。 ::: -此格式是由著名的 Xymb 大佬开发,相比于 ANVIL ,可以节省巨大的空间 +此格式是由著名的 Xymb 大佬开发,相比于 ANVIL ,可以节省巨大的空间 -主世界可以节省大约 50% 的空间,末地大约为 90% ,且使用现代的 zstd 压缩,可以获得更快的加载和保存速度 +主世界可以节省大约 50% 的空间,末地大约为 90% ,且使用现代的 zstd 压缩,可以获得更快的加载和保存速度 #### 转换区域格式 -使用之前你需要将 ANVIL 转换成 Linear 区域格式,如果你使用的是 Leaves ,你可以在服务端内部自动转换。 +使用之前你需要将 ANVIL 转换成 Linear 区域格式,如果你使用的是 Leaves ,你可以在服务端内部自动转换。 -[转换工具](https://github.com/xymb-endcrystalme/LinearRegionFileFormatTools) ,转换非常简单你只需要看着教程做就行(记得做备份) +[转换工具](https://github.com/xymb-endcrystalme/LinearRegionFileFormatTools) ,转换非常简单你只需要看着教程做就行(记得做备份) #### 开启区域格式 -目前,支持线性区域格式的仅有 LinearPurpur , LinearPaper , Leaves , Leaf , Kaiiju (还有一堆Fork), +目前,支持线性区域格式的仅有 LinearPurpur , LinearPaper , Leaves , Leaf , Kaiiju (还有一堆Fork), -开启教程不多说,你只需要查看 Wiki 就行。 +开启教程不多说,你只需要查看 Wiki 就行。 #### 不兼容的插件 -ServerBackup 一款备份插件,会由于找不到mca文件报错。 -目前已知不兼容线性区域的格式的插件极少无比,已知的有大部分在线网页地图浏览程序,以及Residence部分不兼容(感谢z大神的优雅代码,当传送到一个未加载区块的领地时会崩溃) +ServerBackup 一款备份插件,会由于找不到mca文件报错。 +目前已知不兼容线性区域的格式的插件极少无比,已知的有大部分在线网页地图浏览程序,以及Residence部分不兼容(感谢z大神的优雅代码,当传送到一个未加载区块的领地时会崩溃) #### 测试结果 -感谢 HaHaWTH 提供的测试结果,测试内容为使用 Chunky 加载半径 1000 格的方块并保存,测试核心为 Leaf ,实际结果可能与测试结果有出入 +感谢 HaHaWTH 提供的测试结果,测试内容为使用 Chunky 加载半径 1000 格的方块并保存,测试核心为 Leaf ,实际结果可能与测试结果有出入 -| 世界 | ANVIL(原版格式) | Linear(压缩比为一) | Linear(压缩比为六,默认压缩比) | Linear(压缩比为22)(最大压缩比)| +| 世界 | ANVIL(原版格式) | Linear(压缩比为一) | Linear(压缩比为六,默认压缩比) | Linear(压缩比为22)(最大压缩比)| | --- | --- | --- | --- | --- | | 主世界 | 192MB | 142MB | 117MB | 92MB | | 地狱 | 118MB | 70MB | 60MB | 46MB | @@ -90,22 +90,22 @@ ServerBackup 一款备份插件,会由于找不到mca文件报错。 :::note -不推荐压缩比开到最大,推荐值为 6 +不推荐压缩比开到最大,推荐值为 6 ::: ## 其他 -1。使用软链接 / 快捷方式共享多个服务器的 lib ,Minecraft 本体等(除非空间非常少否则不要这样,后果自负); +1。使用软链接 / 快捷方式共享多个服务器的 lib ,Minecraft 本体等(除非空间非常少否则不要这样,后果自负); 2。使用清理软件; -3。重装系统,并最小化安装(不安装非必要软件); +3。重装系统,并最小化安装(不安装非必要软件); -4。检查是否有多余的 Java(一般来说开服一个版本的 Java 即可)。 +4。检查是否有多余的 Java(一般来说开服一个版本的 Java 即可)。 :::warning -除非你知道你在删什么否则请先请教大佬能不能删除或者先备份,不要删了才发现服务器出问题。 +除非你知道你在删什么否则请先请教大佬能不能删除或者先备份,不要删了才发现服务器出问题。 ::: \ No newline at end of file diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/Custom-item-model-map.md b/docs-java/process/mobile-player/Geyser/Upgrade/Custom-item-model-map.md index 22fb4eeaa..9fa04ca30 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/Custom-item-model-map.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/Custom-item-model-map.md @@ -5,17 +5,17 @@ sidebar_position: 5 # 自定义物品模型映射 -Geyser提供了自定义物品映射功能,可以为CustomModelData物品注册基岩版行为,以实现自定义物品 +Geyser提供了自定义物品映射功能,可以为CustomModelData物品注册基岩版行为,以实现自定义物品 ## Kas-tle的java2bedrock -java2bedrock.sh(俗称转换器)是一个自动资源包转换工具,可以将JAVA版的资源包转化成基岩版资源包的工具 +java2bedrock.sh(俗称转换器)是一个自动资源包转换工具,可以将JAVA版的资源包转化成基岩版资源包的工具 :::tip -不建议过度依赖转换器,转换出来的资源包也仅供参考学习,没有手写的效果好,不过如果你能接受也不是不能用 +不建议过度依赖转换器,转换出来的资源包也仅供参考学习,没有手写的效果好,不过如果你能接受也不是不能用 -转换器并非是完美的存在,他依然存在许多缺陷 +转换器并非是完美的存在,他依然存在许多缺陷 ::: @@ -25,7 +25,7 @@ java2bedrock.sh(俗称转换器)是一个自动资源包转换工具,可以将 :::tip -转换器需要在linux系统上运行,如果你使用WINDOWS,你可以选择wsl或者虚拟机 +转换器需要在linux系统上运行,如果你使用WINDOWS,你可以选择wsl或者虚拟机 ::: @@ -35,7 +35,7 @@ java2bedrock.sh(俗称转换器)是一个自动资源包转换工具,可以将 ./converter.sh 资源包名称.zip ``` -如果你需要更加复杂的转换,请查看项目的Github +如果你需要更加复杂的转换,请查看项目的Github ### 在线转换 @@ -49,16 +49,16 @@ java2bedrock.sh(俗称转换器)是一个自动资源包转换工具,可以将 * 首先你需要新建一个Issue * 在类型选择**Pack Conversion** -* 在**Java Pack Direct Download URL** 填上你的资源包下载地址(不能是网盘,要求是直链) -* 最后勾上最下面的用户协议,点击开始就可以 -* 转换好后,有个机器人会提醒你去Github Action下载,下载就来就是转换好的基岩版资源包 +* 在**Java Pack Direct Download URL** 填上你的资源包下载地址(不能是网盘,要求是直链) +* 最后勾上最下面的用户协议,点击开始就可以 +* 转换好后,有个机器人会提醒你去Github Action下载,下载就来就是转换好的基岩版资源包 * 将 ## 人工手写映射 :::tip -此教程需要你有一定的动手和理解基岩版资源包结构,你可以动脑去看[基岩版资源包模板](https://github.com/Mojang/bedrock-samples/releases)学习 +此教程需要你有一定的动手和理解基岩版资源包结构,你可以动脑去看[基岩版资源包模板](https://github.com/Mojang/bedrock-samples/releases)学习 此教程假设你已能熟练使用ItemsAdder插件、并且正在边看[Geyser Wiki](https://wiki.geysermc.org/geyser/custom-items/)边看这文档学着做 @@ -66,29 +66,29 @@ java2bedrock.sh(俗称转换器)是一个自动资源包转换工具,可以将 #### 物品映射 -这里我非常推荐使用[Geyser Wiki](https://wiki.geysermc.org/geyser/custom-items/)中的Json映射方式,方便编写和修改 +这里我非常推荐使用[Geyser Wiki](https://wiki.geysermc.org/geyser/custom-items/)中的Json映射方式,方便编写和修改 ##### 注册物品行为 -这是一个律师勋章,我想让他在基岩版上也显示 +这是一个律师勋章,我想让他在基岩版上也显示 ![](./_image/CIMM1.jpg) -我们来到 `服务端/plugins/geyser/custom_mappings` 目录,创建一个json文件用于Geyser映射自定义物品 +我们来到 `服务端/plugins/geyser/custom_mappings` 目录,创建一个json文件用于Geyser映射自定义物品 ![](./_image/CIMM2.jpg) -名字可以根据自己喜好起,我这里命名为 `test_item.json`。 +名字可以根据自己喜好起,我这里命名为 `test_item.json`。 -如果你没有受虐倾向,建议起简单好记一看就知道里面是什么东西的名字 +如果你没有受虐倾向,建议起简单好记一看就知道里面是什么东西的名字 -回到游戏,手持律师勋章,执行 `/iatag` 指令 +回到游戏,手持律师勋章,执行 `/iatag` 指令 ![](./_image/CIMM3.jpg) -我们看到他的 `ID` 是 `minecraft:paper`,以及 `CustomModelData(简称CMD)` 值是 10534 +我们看到他的 `ID` 是 `minecraft:paper`,以及 `CustomModelData(简称CMD)` 值是 10534 -然后根据我们获得的物品信息,在 `test_item.json` 写入以下信息 +然后根据我们获得的物品信息,在 `test_item.json` 写入以下信息 示例: @@ -108,21 +108,21 @@ java2bedrock.sh(俗称转换器)是一个自动资源包转换工具,可以将 } ``` -json文件不允许有注释,如果你要复制过去记得删除注释 +json文件不允许有注释,如果你要复制过去记得删除注释 -保存,然后我们的自定义物品Geyser已经注册好了,接下来是基岩版资源包方面的教程 +保存,然后我们的自定义物品Geyser已经注册好了,接下来是基岩版资源包方面的教程 ##### 制作资源包 -网上有很多制作资源包的教程,这里不多复述最基础的操作 +网上有很多制作资源包的教程,这里不多复述最基础的操作 基岩版资源包的结构你可以看这里的 [基岩文档](https://wiki.bedrock.dev/documentation/pack-structure.html) -我们来到 `资源包/textures` 目录下,创建个 `items` 文件夹用于存放物品纹理 +我们来到 `资源包/textures` 目录下,创建个 `items` 文件夹用于存放物品纹理 这里我将纹理 `LSXZ.png` 放在 `textures/items/item/` 下 -现在在 `资源包/textures` 目录下,创建个 `item_textures.json` 文件用于指定物品的纹理 +现在在 `资源包/textures` 目录下,创建个 `item_textures.json` 文件用于指定物品的纹理 ![](./_image/CIMM4.jpg) @@ -137,16 +137,16 @@ json文件不允许有注释,如果你要复制过去记得删除注释 "ITEM_LSXZ": { "textures": [ - "textures/items/item/LSXZ" //填你纹理贴图的位置,不需要填png后缀 + "textures/items/item/LSXZ" //填你纹理贴图的位置,不需要填png后缀 ] } } } ``` -完事后打包资源包,把你的资源包丢给Geyser +完事后打包资源包,把你的资源包丢给Geyser -现在重启服务器,你的自定义物品应该能在基岩版显示了! +现在重启服务器,你的自定义物品应该能在基岩版显示了! #### 3D模型物品 diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/Extended/Extended.md b/docs-java/process/mobile-player/Geyser/Upgrade/Extended/Extended.md index 3f69a51d7..d261120ed 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/Extended/Extended.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/Extended/Extended.md @@ -5,7 +5,7 @@ slug: /Geyser/Upgrade # 插件 -这里是进阶教程, 你可以通过进阶教程获得更好的基岩版兼容 +这里是进阶教程, 你可以通过进阶教程获得更好的基岩版兼容 让基岩版玩家拥有更加接近原生基岩版服务器的体验 ## 进阶配置 @@ -13,23 +13,23 @@ slug: /Geyser/Upgrade ## 资源包安装 你可以像Java版玩家一样给基岩版玩家发送服务器资源包 -但与Java版玩家不同的是, 基岩版玩家可以接受并加载多个资源包 +但与Java版玩家不同的是, 基岩版玩家可以接受并加载多个资源包 :::warning -基岩版资源包与Java版格式完全不同, 需要手动进行转换 +基岩版资源包与Java版格式完全不同, 需要手动进行转换 基岩版的资源包扩展名均为.mcpack(其实.zip也行) 资源包转换在后续教程会提及 ::: -此外基岩版不需要额外创建直链下载的链接, 直接通过服务器即可传输资源包 +此外基岩版不需要额外创建直链下载的链接, 直接通过服务器即可传输资源包 来到`服务端/plugins/geyser-spigot/packs/`目录 将资源包放入Packs文件夹后, 重载/Geyser reload或重启服务器即可 -注意!重载Geyser来加载资源包可能会导致一些奇怪的问题发生,没事还是建议重启服务器来加载资源包 +注意!重载Geyser来加载资源包可能会导致一些奇怪的问题发生,没事还是建议重启服务器来加载资源包 ## GeyserUtils diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/Extended/Fix.md b/docs-java/process/mobile-player/Geyser/Upgrade/Extended/Fix.md index 1cd72e4bf..bbb2cb465 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/Extended/Fix.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/Extended/Fix.md @@ -5,15 +5,15 @@ sidebar_position: 2 # 游戏机制 -目前, 你服务器的基岩版玩家可能会遇到一些问题 -像是卡在竹子中间,缺少一些Java版独有的粒子,物品材质之类的 +目前, 你服务器的基岩版玩家可能会遇到一些问题 +像是卡在竹子中间,缺少一些Java版独有的粒子,物品材质之类的 我们可以通过安装额外插件来对客户端和服务端进行额外的修改来完成兼容 ## Hurricane插件 此插件可以修复: * 卡在竹子和滴水石锥中无法移动 -* 骑乘实体时无法正确控制方向, 在需要使用钓竿的实体上影响尤为明显 +* 骑乘实体时无法正确控制方向, 在需要使用钓竿的实体上影响尤为明显 :::warning @@ -23,9 +23,9 @@ sidebar_position: 2 ## 皮肤 -在安装Floodgate后, Java版玩家可以看到基岩版玩家的皮肤 -但是在离线服务器, 为了让皮肤可以正确显示,一般会安装额外的皮肤插件 -这时, 基岩版玩家的皮肤显示又会变的不正常 +在安装Floodgate后, Java版玩家可以看到基岩版玩家的皮肤 +但是在离线服务器, 为了让皮肤可以正确显示,一般会安装额外的皮肤插件 +这时, 基岩版玩家的皮肤显示又会变的不正常 我们可以通过安装GeyserSkinManager插件来解决这个问题 你可以在 [此处](https://github.com/Camotoy/GeyserSkinManager/releases) 下载 @@ -33,11 +33,11 @@ sidebar_position: 2 :::warning GeyserSkinManager有不同版本 -你若正在使用群组端, 请在群组端安装对应版本而不是其子服 +你若正在使用群组端, 请在群组端安装对应版本而不是其子服 ::: -此外, Java版玩家可以通过安装BedrockSkinUtility模组来看见基岩版玩家的披风 +此外, Java版玩家可以通过安装BedrockSkinUtility模组来看见基岩版玩家的披风 你可以在 [此处](https://github.com/Camotoy/BedrockSkinUtility) 下载模组 @@ -62,9 +62,9 @@ GeyserOptionalPack是一个可选资源包 - 部分缺失的粒子 - 副手动画 - 潜影贝隐形平等性 -- 发光箭实体纹理 (没有实体描边渲染(基岩版本身就没有),只有箭矢纹理) +- 发光箭实体纹理 (没有实体描边渲染(基岩版本身就没有),只有箭矢纹理) - 提供超过记分板字符限制的绕过方式 -- 隐藏在Java版中没有的UI元素,例如: +- 隐藏在Java版中没有的UI元素,例如: - 制图台中的文本输入字段 - 创造模式下的2x2工作台 - 命令方块菜单中的时钟延迟和重命名字段 @@ -72,11 +72,11 @@ GeyserOptionalPack是一个可选资源包 ## 箱子优化 -BedrockChestUI是一个用于实现自定义基岩版箱子UI行数的插件 ,由于基岩版原生不支持1,2,4,5行的箱子,所以本插件基于 ProtocolLib + 基岩版资源包实现 ,此插件需要Floodgate和ProtocolLib作为前置,支持Minecraft版本 1.17.1-1.19.4 +BedrockChestUI是一个用于实现自定义基岩版箱子UI行数的插件 ,由于基岩版原生不支持1,2,4,5行的箱子,所以本插件基于 ProtocolLib + 基岩版资源包实现 ,此插件需要Floodgate和ProtocolLib作为前置,支持Minecraft版本 1.17.1-1.19.4 [下载](https://gitee.com/xi-bohan/BedrockChestUI/releases/tag/BedrockChestUI) -将```ChstomChest0.2.mcpack```安装到```packs```,```BedrockChestUI-1.0.5.jar```是插件,都需要安装 +将```ChstomChest0.2.mcpack```安装到```packs```,```BedrockChestUI-1.0.5.jar```是插件,都需要安装 ## 更好的第三人称 @@ -115,7 +115,7 @@ BedrockChestUI是一个用于实现自定义基岩版箱子UI行数的插件 , * 资源包加载 * 快捷菜单 * 块重影修复 -* 玩家名单(类似于TAB,但是BE Form) +* 玩家名单(类似于TAB,但是BE Form) [项目地址](https://github.com/GeyserExtras/GeyserExtras) diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/Extended/More.md b/docs-java/process/mobile-player/Geyser/Upgrade/Extended/More.md index 9da20fe67..5c12177ff 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/Extended/More.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/Extended/More.md @@ -9,7 +9,7 @@ sidebar_position: 4 ## ForcePlayerLink -强制基岩版玩家使用**JE OfflinePlayer UUID**(实现数据互通) +强制基岩版玩家使用**JE OfflinePlayer UUID**(实现数据互通) [注意事项] - 不要使用允许基岩版绕过的登录插件 @@ -29,6 +29,6 @@ sidebar_position: 4 ## GeyserVoice -GeyserVoice 是一个 Java 服务端插件,旨在通过集成 VoiceCraft Proximity Chat 应用程序来增强 Minecraft 服务器上的多人游戏体验。该插件允许 Java 和 Bedrock 版本的玩家无缝地参与基于邻近的语音对话。 +GeyserVoice 是一个 Java 服务端插件,旨在通过集成 VoiceCraft Proximity Chat 应用程序来增强 Minecraft 服务器上的多人游戏体验。该插件允许 Java 和 Bedrock 版本的玩家无缝地参与基于邻近的语音对话。 -[下载](https://github.com/SineVector241/VoiceCraft-MCBE_Proximity_Chat/releases/),[wiki](https://github.com/mineserv-top/GeyserVoice/wiki/) +[下载](https://github.com/SineVector241/VoiceCraft-MCBE_Proximity_Chat/releases/),[wiki](https://github.com/mineserv-top/GeyserVoice/wiki/) diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/Extended/compatible.md b/docs-java/process/mobile-player/Geyser/Upgrade/Extended/compatible.md index 26ccf66d8..a605f3067 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/Extended/compatible.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/Extended/compatible.md @@ -9,7 +9,7 @@ sidebar_position: 3 ## floodgate-skript -一个Skript扩展插件,可以在Skript中使用FloodgateAPI检测基岩版玩家 +一个Skript扩展插件,可以在Skript中使用FloodgateAPI检测基岩版玩家 示例: @@ -27,16 +27,16 @@ on join: ## LuckBedrock -此插件为Luckperms权限管理插件提供了一个额外的情境判断, +此插件为Luckperms权限管理插件提供了一个额外的情境判断, -使你可以设置仅基岩版玩家的权限或仅Java版玩家的权限,让你不再因为权限管理而急眼! +使你可以设置仅基岩版玩家的权限或仅Java版玩家的权限,让你不再因为权限管理而急眼! [下载](https://www.minebbs.com/threads/luck-bedrock.24169/) ## BedrockPlayerSupport -一个优化基岩版玩家体验的插件,给部分命令添加了更适合基岩版玩家的表单,例如基础插件(CMI/EssentialsX/HuskHomes/AdvancedTeleport)的 /tpa /tpahere /home 命令,原版 /msg 命令 +一个优化基岩版玩家体验的插件,给部分命令添加了更适合基岩版玩家的表单,例如基础插件(CMI/EssentialsX/HuskHomes/AdvancedTeleport)的 /tpa /tpahere /home 命令,原版 /msg 命令 -给部分主流登录插件添加了基岩版玩家自动注册、登录功能,其他登录插件也可以在配置文件中设置强制登录命令实现自动登录 +给部分主流登录插件添加了基岩版玩家自动注册、登录功能,其他登录插件也可以在配置文件中设置强制登录命令实现自动登录 [下载](https://github.com/DongShaoNB/BedrockPlayerSupport/releases) | [文档](https://docs.bps.dsnb.cc/#/zh-cn/start/introduce) \ No newline at end of file diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/Font-image-conversion.md b/docs-java/process/mobile-player/Geyser/Upgrade/Font-image-conversion.md index e4cd0bb3e..4a047da1e 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/Font-image-conversion.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/Font-image-conversion.md @@ -9,9 +9,9 @@ sidebar_position: 6 :::tip -注意!字体偏移是Java版独有的,基岩版没有这个功能,因此一些利用字体偏移做到的东西(如IA菜单)无法正常显示,但你可以通过万能的jsonui来实现,或者给大佬爆金币定制基岩jsonui +注意!字体偏移是Java版独有的,基岩版没有这个功能,因此一些利用字体偏移做到的东西(如IA菜单)无法正常显示,但你可以通过万能的jsonui来实现,或者给大佬爆金币定制基岩jsonui -我非常建议使用这个来管理基岩版的字体资源包,否则你的字体图像管理是非常痛苦的 +我非常建议使用这个来管理基岩版的字体资源包,否则你的字体图像管理是非常痛苦的 ::: @@ -19,6 +19,6 @@ sidebar_position: 6 - 跟[这里](https://nitwikit.yizhan.wiki/process/mobile-player/Geyser/Upgrade/Custom-item-model-map#%E5%9C%A8%E7%BA%BF%E8%BD%AC%E6%8D%A2)基本没有区别 -- 但是在填写资源包下载地址地方的下面,要把`Font Conversion`选项设置为Ture +- 但是在填写资源包下载地址地方的下面,要把`Font Conversion`选项设置为Ture [项目地址](https://github.com/AZPixel-Team/Java2Bedrock) \ No newline at end of file diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/Geyser-skull.md b/docs-java/process/mobile-player/Geyser/Upgrade/Geyser-skull.md index 6eb51bd82..4a4b0003e 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/Geyser-skull.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/Geyser-skull.md @@ -11,36 +11,36 @@ sidebar_position: 3 ::: -导致这个问题的主要原因是基岩版不支持自定义的头颅,所以只能通过Geyser创建映射并分发给客户端 +导致这个问题的主要原因是基岩版不支持自定义的头颅,所以只能通过Geyser创建映射并分发给客户端 ## 如何修复 -要在间歇泉中设置自定义头,你必须选择如何注册你的方块。最简单的方法是使用 custom-skulls.yml +要在间歇泉中设置自定义头,你必须选择如何注册你的方块。最简单的方法是使用 custom-skulls.yml ### custom-skulls.yml -配置文件位于 Geyser 的配置文件夹中,结构如下 +配置文件位于 Geyser 的配置文件夹中,结构如下 ```yaml #-------------------------------- # Geyser 自定义头骨配置文件 # # 禁用 `add-custom-skull-blocks` 时会忽略此文件。 -# 有关主要配置值集,请参阅“config.yml” +# 有关主要配置值集,请参阅“config.yml” # -# 自定义头骨,其中包含玩家用户名、UUID 或此文件中指定的纹理 +# 自定义头骨,其中包含玩家用户名、UUID 或此文件中指定的纹理 # 将被翻译为自定义块并显示在背包和实体上。 #-------------------------------- # Java 玩家用户名 -# Geyser启动时皮肤将会更新,玩家必须重新下载 -# 如果有玩家更改了皮肤,则资源包不会自动更新。 +# Geyser启动时皮肤将会更新,玩家必须重新下载 +# 如果有玩家更改了皮肤,则资源包不会自动更新。 player-usernames: - 间歇泉MC # Java 玩家 UUID -# Geyser启动时皮肤将会更新,玩家必须重新下载 -# 如果有玩家改变了皮肤,则资源包并不会自动更新。 +# Geyser启动时皮肤将会更新,玩家必须重新下载 +# 如果有玩家改变了皮肤,则资源包并不会自动更新。 player-uuids: - 8b8d8e8f-2759-47c6-acb5-5827de8a72b8 @@ -54,25 +54,25 @@ skin-hashes: ``` -你只需要提取出你所需要显示的头颅,根据类别添加到配置文件中,然后**重启服务端**,就可以显示 +你只需要提取出你所需要显示的头颅,根据类别添加到配置文件中,然后**重启服务端**,就可以显示 ### 玩家用户名 -头颅可以通过玩家用户名在此部分注册。这些将在 Geyser 开始时更新。因此,如果玩家的用户名或皮肤发生变化,它们可能会发生变化 +头颅可以通过玩家用户名在此部分注册。这些将在 Geyser 开始时更新。因此,如果玩家的用户名或皮肤发生变化,它们可能会发生变化 ### 玩家uuid -头颅可以通过玩家 UUID 在此部分注册。这些将在 Geyser 开始时更新。因此,如果皮肤发生变化,它们可能会发生变化。 +头颅可以通过玩家 UUID 在此部分注册。这些将在 Geyser 开始时更新。因此,如果皮肤发生变化,它们可能会发生变化。 ### 玩家资料 -头可以通过自定义玩家头部的 NBT 中的纹理字符串在此部分注册。除非手动更改该值,否则这些值不会在间歇泉启动时更新。因此,如果玩家的用户名或皮肤发生变化,它们不会改变。数据只是 base64 编码的 JSON。 +头可以通过自定义玩家头部的 NBT 中的纹理字符串在此部分注册。除非手动更改该值,否则这些值不会在间歇泉启动时更新。因此,如果玩家的用户名或皮肤发生变化,它们不会改变。数据只是 base64 编码的 JSON。 -如果在Paper服务器上,则可以通过将项目握在手中并运行命令来获取头骨的此数据。这会将项目的 NBT 数据输出到聊天和控制台。纹理字符串位于```SkullOwner```标签下、```Properties```标签下、```textures```标签下。例如:/paper dumpitem +如果在Paper服务器上,则可以通过将项目握在手中并运行命令来获取头骨的此数据。这会将项目的 NBT 数据输出到聊天和控制台。纹理字符串位于```SkullOwner```标签下、```Properties```标签下、```textures```标签下。例如:/paper dumpitem ``` [05:58:07 INFO]: .KastleFirefox issued server command: /paper dumpitem -[05:58:07 INFO]: minecraft:player_head{display: {Name: '{"text":"Test"}'}, SkullOwner: {Properties: {textures: [{Value: "ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJkYXZjaG9vIiwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2E5MDc5MGM1N2UxODFlZDEzYWRlZDE0YzQ3ZWUyZjdjOGRlMzUzM2UwMTdiYTk1N2FmN2JkZjlkZjFiZGU5NGYiLAogICAgICAibWV0YWRhdGEiIDogewogICAgICAgICJtb2RlbCIgOiAic2xpbSIKICAgICAgfQogICAgfQogIH0KfQ"}]}, Id: [I; -229048314, -553040501, -1407961158, 465313087]}} +[05:58:07 INFO]: minecraft:player_head{display: {Name: '{"text":"Test"}'}, SkullOwner: {Properties: {textures: [{Value: "ewogICJ0aW1lc3RhbXAiIDogMTY1NzMyMjIzOTgzMywKICAicHJvZmlsZUlkIiA6ICJjZGRiZTUyMGQwNDM0YThiYTFjYzlmYzkyZmRlMmJjZiIsCiAgInByb2ZpbGVOYW1lIiA6ICJkYXZjaG9vIiwKICAidGV4dHVyZXMiIDogewogICAgIlNLSU4iIDogewogICAgICAidXJsIiA6ICJodHRwOi8vdGV4dHVyZXMubWluZWNyYWZ0Lm5ldC90ZXh0dXJlL2E5MDc5MGM1N2UxODFlZDEzYWRlZDE0YzQ3ZWUyZjdjOGRlMzUzM2UwMTdiYTk1N2FmN2JkZjlkZjFiZGU5NGYiLAogICAgICAibWV0YWRhdGEiIDogewogICAgICAgICJtb2RlbCIgOiAic2xpbSIKICAgICAgfQogICAgfQogIH0KfQ"}]}, Id: [I; -229048314, -553040501, -1407961158, 465313087]}} ``` ### 皮肤哈希 @@ -81,7 +81,7 @@ skin-hashes: ## 快速提取 -那么你可能会问,像Slimefun那么多,有什么快点的方法吗? +那么你可能会问,像Slimefun那么多,有什么快点的方法吗? 当然是有的 diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/GeyserMEG4-supports.md b/docs-java/process/mobile-player/Geyser/Upgrade/GeyserMEG4-supports.md index 1890dc159..b3899e753 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/GeyserMEG4-supports.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/GeyserMEG4-supports.md @@ -9,7 +9,7 @@ sidebar_position: 6 一个能让你Geyser服务器支持MEG4的奇妙插件,通过给基岩版发送个史蒂夫发送4d皮肤给基岩版玩家,支持原版Geyser -只需要往资源包里塞动画文件即可,可以有效防止那些进服下个资源包就跑白嫖你模型的贼,但同时限制也挺多 +只需要往资源包里塞动画文件即可,可以有效防止那些进服下个资源包就跑白嫖你模型的贼,但同时限制也挺多 ### 前置 @@ -19,7 +19,7 @@ sidebar_position: 6 | GeyserModelEngine | [GitHub](https://github.com/zimzaza4/GeyserModelEngine) | 你猜 | | LibsDisguises(免费版即可) | [LibsDisguises](https://www.spigotmc.org/resources/libs-disguises-free.81/)| 伪装成其他生物 | -项目地址有简体中文,所以后续步骤我就不写了 +项目地址有简体中文,所以后续步骤我就不写了 [项目地址](https://github.com/zimzaza4/GeyserModelEngine) @@ -29,7 +29,7 @@ sidebar_position: 6 这个是真自定义实体! 不支持原版Geyser,你需要搭配[Geyser 自定义实体分支](https://github.com/zimzaza4/Geyser)和资源包一起使用才能正常工作 -你可以使用`GeyserModelEnginePackGenerator`来自动生成资源包,详细教程看项目地址 +你可以使用`GeyserModelEnginePackGenerator`来自动生成资源包,详细教程看项目地址 ::: diff --git a/docs-java/process/mobile-player/Geyser/Upgrade/Slimefun.md b/docs-java/process/mobile-player/Geyser/Upgrade/Slimefun.md index 6abbdb406..767bb40bd 100644 --- a/docs-java/process/mobile-player/Geyser/Upgrade/Slimefun.md +++ b/docs-java/process/mobile-player/Geyser/Upgrade/Slimefun.md @@ -7,17 +7,17 @@ sidebar_position: 2 :::danger -想要显示自定义物品纹理,你必须在服务端使用[粘液科技资源包](https://github.com/xMikux/Slimefun-Resourcepack/releases),后才可以正常使用 +想要显示自定义物品纹理,你必须在服务端使用[粘液科技资源包](https://github.com/xMikux/Slimefun-Resourcepack/releases),后才可以正常使用 ::: ## 下载 -第一步,下载[资源包](https://qcymc.cloud/f/QWRHo/Slimefun.mcpack),安装到 `服务端/geyser/packs` 文件夹 +第一步,下载[资源包](https://qcymc.cloud/f/QWRHo/Slimefun.mcpack),安装到 `服务端/geyser/packs` 文件夹 ![](_image/Geyser4.png) -第二步,下载[Mapping](https://qcymc.cloud/f/R6DT5/RYSurvival-SlimefunMapping.jar),安装到 `服务端/geyser/extensions` 文件夹 +第二步,下载[Mapping](https://qcymc.cloud/f/R6DT5/RYSurvival-SlimefunMapping.jar),安装到 `服务端/geyser/extensions` 文件夹 ![](Extended/_image/Geyser5.png) diff --git a/docs-java/process/mobile-player/Geyser/introduction/FAQ.md b/docs-java/process/mobile-player/Geyser/introduction/FAQ.md index 381eb4fd9..d6fb9fcee 100644 --- a/docs-java/process/mobile-player/Geyser/introduction/FAQ.md +++ b/docs-java/process/mobile-player/Geyser/introduction/FAQ.md @@ -7,7 +7,7 @@ sidebar_position: 3 ### 红石是按照哪个版本工作的? 你加入的服务器是一个 **Java版** 服务器 -**红石,还有 指令、农场** 等各种机制都是按照 Java版 工作的 +**红石,还有 指令、农场** 等各种机制都是按照 Java版 工作的 ### 为什么基岩版玩家无法在地狱上层放置方块? @@ -15,15 +15,15 @@ sidebar_position: 3 ### 在删除前缀后为什么数据还是不互通? -Java版和基岩版的UUID不一致,请查阅进阶教程 +Java版和基岩版的UUID不一致,请查阅进阶教程 -### 有时,世界跑的很远以后客户端会很卡. +### 有时,世界跑的很远以后客户端会很卡. 这是 **基岩版** 客户端的问题。具体请 [查看这里](https://minecraft.fandom.com/zh/wiki/%E5%9F%BA%E5%B2%A9%E7%89%88%E8%B7%9D%E7%A6%BB%E7%8E%B0%E8%B1%A1) ### frp搭建内网穿透想显示真实IP怎么办 -在frp中[开启proxy protocol](../../../../../advance/Linux/frp#配置proxy-protocol)后,在配置文件里将enable-proxy-protocol设置为true。后续如果不再使用内网穿透,**一定记得把这个配置改回false** +在frp中[开启proxy protocol](../../../../../advance/Linux/frp#配置proxy-protocol)后,在配置文件里将enable-proxy-protocol设置为true。后续如果不再使用内网穿透,**一定记得把这个配置改回false** ### 皮肤不显示怎么办 @@ -44,38 +44,38 @@ Java版和基岩版的UUID不一致,请查阅进阶教程 ### 无法正常连接到服务器! (服务器在好友选项卡没有显示或者在连接服务器时出现 "无法连接到世界") -这个问题很复杂, 请检查以下问题是否存在: +这个问题很复杂, 请检查以下问题是否存在: * **是否使用了SRV** -基岩版客户端不支持 SRV 解析,请让基岩版的玩家正常通过IP和端口连接服务器 +基岩版客户端不支持 SRV 解析,请让基岩版的玩家正常通过IP和端口连接服务器 * **手贱开启enable-proxy-protocol** -如果你不使用像 TCPShield、frp 的反向代理,请保证你的 enable-proxy-protocol 选项是设置为 false 的 +如果你不使用像 TCPShield、frp 的反向代理,请保证你的 enable-proxy-protocol 选项是设置为 false 的 * **启动时提示 java.net.BindException: Address already in use: bind** -这代表 Geyser 服务器所开设的端口已被占用,请确保你关闭了所有占用该端口的软件,然后再试。如果这没有起作用,通常重启你的电脑即可解决该问题 +这代表 Geyser 服务器所开设的端口已被占用,请确保你关闭了所有占用该端口的软件,然后再试。如果这没有起作用,通常重启你的电脑即可解决该问题 * **你的服务商可能没有及时打开UDP端口** -这通常和你的主机端的端口有关。最常见的是,跟Java版的常用的 TCP 协议的端口不同,你的主机很有可能没有开放基岩版所使用的 UDP 协议的端口。一个确认此问题的方法是关闭你的服务器,然后选择其他 基岩版服务端,例如 Nukkit(你不一定非要用 Nukkit)以检查是否是该问题导致的 +这通常和你的主机端的端口有关。最常见的是,跟Java版的常用的 TCP 协议的端口不同,你的主机很有可能没有开放基岩版所使用的 UDP 协议的端口。一个确认此问题的方法是关闭你的服务器,然后选择其他 基岩版服务端,例如 Nukkit(你不一定非要用 Nukkit)以检查是否是该问题导致的 * **尝试重启服务器和游戏** -特别是在移动设备上,有时只需重新启动 Minecraft 即可解决问题 +特别是在移动设备上,有时只需重新启动 Minecraft 即可解决问题 * **基岩端口小于10000** -端口小于10000通常会导致问题, 请将其设置为高于10000的值 +端口小于10000通常会导致问题, 请将其设置为高于10000的值 * **切换连接线路** 这有可能是你的服务器被当前网络提供商过滤 -如果还不行,我们无能为力 +如果还不行,我们无能为力 ## 加入服务器后出现区块空白 -你可以尝试添加启动参数```-XX:+UnlockDiagnosticVMOptions -XX:-UseAESCTRIntrinsics```,如果还不行,你可以升级**电脑配置** +你可以尝试添加启动参数```-XX:+UnlockDiagnosticVMOptions -XX:-UseAESCTRIntrinsics```,如果还不行,你可以升级**电脑配置** diff --git a/docs-java/process/mobile-player/Geyser/introduction/install.md b/docs-java/process/mobile-player/Geyser/introduction/install.md index bb2eb67d2..683528db8 100644 --- a/docs-java/process/mobile-player/Geyser/introduction/install.md +++ b/docs-java/process/mobile-player/Geyser/introduction/install.md @@ -27,13 +27,13 @@ Fabric 和 NeoForge 版本 可以作为模组安装在这些模组端上 Standalone 版本 可以作为一个独立的代理端启动 ## 挑选版本 -在安装前,你需要找到合适的Geyser版本,你可以参考下图: +在安装前,你需要找到合适的Geyser版本,你可以参考下图: ![version](_image/VersionChoose.png) -* 1、运行独立版**仍需要Java16**及以上环境,只不过你可以将其和目标服务器所处的 Java 环境隔开 此外**在任何情况下**,你都可使用独立版,甚至独立版可以和其目标不在同一服务器上 -* 2、你可以通过ViaVersion插件来适配版本,这会允许不同版本的玩家进入服务器,不过问题不大 -* 3、[Hydraulic](https://github.com/GeyserMC/Hydraulic) 可以允许你加入带客户端模组的服务器,但是项目处于**早期开发阶段**,你可以做个尝试,但是请不要在实际情况下使用 +* 1、运行独立版**仍需要Java16**及以上环境,只不过你可以将其和目标服务器所处的 Java 环境隔开 此外**在任何情况下**,你都可使用独立版,甚至独立版可以和其目标不在同一服务器上 +* 2、你可以通过ViaVersion插件来适配版本,这会允许不同版本的玩家进入服务器,不过问题不大 +* 3、[Hydraulic](https://github.com/GeyserMC/Hydraulic) 可以允许你加入带客户端模组的服务器,但是项目处于**早期开发阶段**,你可以做个尝试,但是请不要在实际情况下使用 ## 下载 @@ -43,25 +43,25 @@ Standalone 版本 可以作为一个独立的代理端启动 ### 其他版本 作为插件或模组安装到对应文件夹即可 ### 独立版 -独立版作为一个单独的服务端,你可以参考 [此处](/docs-java/start/launch-server.md) 的开启方法 +独立版作为一个单独的服务端,你可以参考 [此处](/docs-java/start/launch-server.md) 的开启方法 ## 配置 找到配置文件夹下的 config.yml -(什么,你连配置文件夹都找不到? 那你真是连笨蛋都不如,配置文件在对应版本 Geyser 名称的文件夹下,一般开启服务器后都会生成) +(什么,你连配置文件夹都找不到? 那你真是连笨蛋都不如,配置文件在对应版本 Geyser 名称的文件夹下,一般开启服务器后都会生成) :::danger -作为一个新手,在本教程未提及前,请不要随意更改任何配置项 +作为一个新手,在本教程未提及前,请不要随意更改任何配置项 ::: -第一眼你可能会被全是英文的配置文件镇住,别急,善用翻译来理解配置文件中的注释,**在完成本教程的基础配置配置后,若需进阶,请参考 [此处](https://docs.superiormc.cn/v/geyser-wiki/user-guide/li-jie-pei-zhi) 的配置参考** +第一眼你可能会被全是英文的配置文件镇住,别急,善用翻译来理解配置文件中的注释,**在完成本教程的基础配置配置后,若需进阶,请参考 [此处](https://docs.superiormc.cn/v/geyser-wiki/user-guide/li-jie-pei-zhi) 的配置参考** -接下来,回到配置,映入你眼帘的应该是 bedrock 和 remote 两个大项: +接下来,回到配置,映入你眼帘的应该是 bedrock 和 remote 两个大项: -bedrock 所代表的是你所开放的端口,也是基岩版玩家看到的那个,remote 是连接的目标服务器,若不使用独立版此选项无效,请不要随意更改 +bedrock 所代表的是你所开放的端口,也是基岩版玩家看到的那个,remote 是连接的目标服务器,若不使用独立版此选项无效,请不要随意更改 ```yaml bedrock: @@ -72,7 +72,7 @@ bedrock: server-name: "Geyser" compression-level: 6 enable-proxy-protocol: false - # proxy-protocol-whitelisted-ips:[ "127.0.0.1","172.18.0.0/16" ] + # proxy-protocol-whitelisted-ips:[ "127.0.0.1","172.18.0.0/16" ] ``` ```yaml @@ -85,19 +85,19 @@ remote: forward-hostname: false ``` ### Bedrock 项 -**`port`**:其代表你向基岩版玩家所开放的端口,在设置端口时请不要低于 10000 +**`port`**:其代表你向基岩版玩家所开放的端口,在设置端口时请不要低于 10000 -**`motd1`** 和 **`motd2`**:其代表向基岩版玩家所显示的 MOTD,可根据你的喜好配置,仅支持最基础的颜色符号 +**`motd1`** 和 **`motd2`**:其代表向基岩版玩家所显示的 MOTD,可根据你的喜好配置,仅支持最基础的颜色符号 -**`server-name`**:基岩版所看到的服务器名称,在暂停菜单和设置中可见 +**`server-name`**:基岩版所看到的服务器名称,在暂停菜单和设置中可见 ### Remote项 -**`address`**:其代表目标服务器的地址,若目标服务器和 Geyser 处于同一服务器下请不要更改 +**`address`**:其代表目标服务器的地址,若目标服务器和 Geyser 处于同一服务器下请不要更改 -**`port`**:(重要选项)请和目标服务器(插件版必须与`server-port`一致)一致对外开放的端口一致 +**`port`**:(重要选项)请和目标服务器(插件版必须与`server-port`一致)一致对外开放的端口一致 -**`auth-type`**:有 offline/online 和 floodgate 模式,offline 和 online 分别对应离线和正版,你目标服务器用的什么就选什么,floodgate 会在后续教程中解释 +**`auth-type`**:有 offline/online 和 floodgate 模式,offline 和 online 分别对应离线和正版,你目标服务器用的什么就选什么,floodgate 会在后续教程中解释 ### 其他项 再往下翻你会注意到不少其他乱七八糟的项 @@ -108,7 +108,7 @@ remote: passthrough-motd: true passthrough-player-counts: true -# 请注意:如果启用了冷却时间,某些用户可能会在冷却过程中看到一个黑框, +# 请注意:如果启用了冷却时间,某些用户可能会在冷却过程中看到一个黑框, # 可以通过进入辅助功能选项卡下的基岩设置并将“文本背景不透明度”设置为 0 来禁用此功能 show-cooldown: title @@ -120,23 +120,23 @@ above-bedrock-nether-building: false **`passthrough-player-counts`**:将玩家数量和最大玩家数量发给基岩玩家 -**`show-cooldown`**:由于基岩版没有战斗冷却,此功能会模拟一个冷却提示器,你可以设置为 title(小标题)、actionbar(物品栏上方的标题)或 false(关闭) +**`show-cooldown`**:由于基岩版没有战斗冷却,此功能会模拟一个冷却提示器,你可以设置为 title(小标题)、actionbar(物品栏上方的标题)或 false(关闭) **`show-coordinates`**:是否向玩家显示坐标 -**`above-bedrock-nether-building`**:开启后你将被允许在下届高度 127 以上建造,缺点是整个下界中雾的颜色不再可变,将一直是红色(GeyserExtras 可以解决这个问题) +**`above-bedrock-nether-building`**:开启后你将被允许在下届高度 127 以上建造,缺点是整个下界中雾的颜色不再可变,将一直是红色(GeyserExtras 可以解决这个问题) :::warning -若你在使用模组端 Geyser,那接下来的教程就和你无关了(包括进阶),因为模组端 Geyser 根本不能实现这些功能 +若你在使用模组端 Geyser,那接下来的教程就和你无关了(包括进阶),因为模组端 Geyser 根本不能实现这些功能 ::: ## Floodagte -为进一步兼容,你需要安装 [floodgate](https://geysermc.org/download#floodgate) +为进一步兼容,你需要安装 [floodgate](https://geysermc.org/download#floodgate) floodgate 可作为一个插件安装到 Spigot 及其分支的核心上或 BungeeCord、Velocity 之类的代理上 -群组服/独立版 Geyser 的 Floodgate 安装需要进行一些额外步骤,请跟随教程完成 +群组服/独立版 Geyser 的 Floodgate 安装需要进行一些额外步骤,请跟随教程完成 Floodgate 是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java版** 正版服务器而无需其 **正版账号** 的混合模式插件 @@ -146,12 +146,12 @@ Floodgate 是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java * 让 Java 版玩家看到基岩版玩家的皮肤 * 向基岩版玩家发送 BE Form UI (基岩版独有的一种菜单格式) * 允许基岩版玩家与 Java 版玩家进行账号数据间的连接 -* 提供一个通用的 API,使更多插件可以兼容基岩版玩家 -* 以基岩版 XUID 作为 UUID 储存数据,使在基岩版玩家改名后不丢失数据 +* 提供一个通用的 API,使更多插件可以兼容基岩版玩家 +* 以基岩版 XUID 作为 UUID 储存数据,使在基岩版玩家改名后不丢失数据 -所以就算**非正版服务器**,也有**必要**安装此插件来获取更强大的兼容性 +所以就算**非正版服务器**,也有**必要**安装此插件来获取更强大的兼容性 -此外,Floodgate 有个小缺点,在安装之后你无法直接使基岩版玩家和 Java 版玩家数据互通,这将在进阶教程中给出两个可行的解决办法 +此外,Floodgate 有个小缺点,在安装之后你无法直接使基岩版玩家和 Java 版玩家数据互通,这将在进阶教程中给出两个可行的解决办法 ### 基础配置 :::warning @@ -164,34 +164,34 @@ Floodgate 是一个允许 **Minecraft 基岩版** 帐号加入 **Minecraft Java :::warning -若你在使用独立版 Geyser 或群组服,请翻到下方跟随对应教程完成安装 +若你在使用独立版 Geyser 或群组服,请翻到下方跟随对应教程完成安装 ::: -安装 Floodgate 后,打开配置文件,注意到以下项 +安装 Floodgate 后,打开配置文件,注意到以下项 ```yaml username-prefix: "." ``` -这是 Floodgate 为了区分基岩版玩家和 Java 版玩家,而在基岩版玩家名称前添加的前缀 +这是 Floodgate 为了区分基岩版玩家和 Java 版玩家,而在基岩版玩家名称前添加的前缀 为什么? -因为在安装 Floodgate 后,基岩版玩家的 UUID 将会和 Java 版玩家有很大不同,若是遇到重名,则会出现一个ID拥有两个完全不同的UUID,这可能会发生一些无法预知的错误,而使用 `.` 前缀是因为 Java 正版玩家名中不可使用 `.` +因为在安装 Floodgate 后,基岩版玩家的 UUID 将会和 Java 版玩家有很大不同,若是遇到重名,则会出现一个ID拥有两个完全不同的UUID,这可能会发生一些无法预知的错误,而使用 `.` 前缀是因为 Java 正版玩家名中不可使用 `.` **但是** -这在离线服中,有几个问题: -* 离线服玩家名是可以任意修改的,所以 Java 玩家一样可以使用相同前缀进入服务器 -* 部分登录插件会禁止诸如带有 `.` 玩家名的玩家进入服务器,这会导致基岩版玩家无法进入服务器 +这在离线服中,有几个问题: +* 离线服玩家名是可以任意修改的,所以 Java 玩家一样可以使用相同前缀进入服务器 +* 部分登录插件会禁止诸如带有 `.` 玩家名的玩家进入服务器,这会导致基岩版玩家无法进入服务器 接下来我们来解决这些问题 -要解决第一个问题,由于离线服务器玩家可以使用任何名称进入服务器,我们可以选择禁止所有使用基岩版玩家名前缀的 Java 玩家进入服务器 +要解决第一个问题,由于离线服务器玩家可以使用任何名称进入服务器,我们可以选择禁止所有使用基岩版玩家名前缀的 Java 玩家进入服务器 -**此部分未完工,咕咕咕!** +**此部分未完工,咕咕咕!** -在第一个问题解决后,我们可以使用任意前缀作为基岩版玩家的区分 +在第一个问题解决后,我们可以使用任意前缀作为基岩版玩家的区分 于是将前缀修改为诸如 `BE_` 这类的合法字符即可解决第二个问题 ```yaml @@ -199,46 +199,46 @@ username-prefix: "BE_" ``` ### 独立版Geyser配置 -首先,按照基础配置在目标服务器安装 Floodgate,然后注意到 Floodgate 配置文件夹下,理应会生成一个叫 `key.pem` 的文件,将其复制到独立版 Geyser 配置文件夹下 +首先,按照基础配置在目标服务器安装 Floodgate,然后注意到 Floodgate 配置文件夹下,理应会生成一个叫 `key.pem` 的文件,将其复制到独立版 Geyser 配置文件夹下 然后来到 Geyser 配置文件 -找到 Remote 项中的 **`auth-type`**,并将其改为 **`floodgate`** +找到 Remote 项中的 **`auth-type`**,并将其改为 **`floodgate`** ```yaml remote: auth-type: floodgate ``` -若 Geyser 已开启,则重启 Geyser 即可完成配置 +若 Geyser 已开启,则重启 Geyser 即可完成配置 ### 群组服配置 -首先,在群组端安装 Floodgate,并按照基础配置完成安装 +首先,在群组端安装 Floodgate,并按照基础配置完成安装 :::warning -不要将子服中的 Floodgate 配置直接复制到群组服,会缺少某个重要项 +不要将子服中的 Floodgate 配置直接复制到群组服,会缺少某个重要项 ::: -接下来来到群组服的 Floodgate 配置,找到 **`send-floodgate-data`** 这一项,将其修改为 `true` +接下来来到群组服的 Floodgate 配置,找到 **`send-floodgate-data`** 这一项,将其修改为 `true` ```yaml send-floodgate-data: true ``` -这样子服就可以接收到来自群组服的基岩版玩家数据了,请注意在开启此项后,若子服不安装 Floodgate 则基岩版玩家则无法进入子服,但是此项很重要,若不开启,则在子服中 Floodgate 不起效果 +这样子服就可以接收到来自群组服的基岩版玩家数据了,请注意在开启此项后,若子服不安装 Floodgate 则基岩版玩家则无法进入子服,但是此项很重要,若不开启,则在子服中 Floodgate 不起效果 -接下来,在子服一一安装 Floodgate 并确保和群组服的 Floodgate 配置一致,然后注意到群组端 Floodgate 配置文件夹下,理应会生成一个叫 `key.pem` 的文件,用群组服的 `key.pem` 将子服中的 `key.pem` 覆盖,确保 `key.pem` 完全相同 +接下来,在子服一一安装 Floodgate 并确保和群组服的 Floodgate 配置一致,然后注意到群组端 Floodgate 配置文件夹下,理应会生成一个叫 `key.pem` 的文件,用群组服的 `key.pem` 将子服中的 `key.pem` 覆盖,确保 `key.pem` 完全相同 即可完成群组端配置 ## 笨蛋脚本 -下载[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/geyser-egg.exe),为你自动生成 Geyser 环境,免于配置 +下载[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/geyser-egg.exe),为你自动生成 Geyser 环境,免于配置 -即使不用配置,你仍然需要看完 wiki,**明白你在做什么** +即使不用配置,你仍然需要看完 wiki,**明白你在做什么** ## 结尾 -恭喜你,配置完毕!!,开始和你的好友一起玩吧 +恭喜你,配置完毕!!,开始和你的好友一起玩吧 diff --git a/docs-java/process/mobile-player/Geyser/introduction/overview.md b/docs-java/process/mobile-player/Geyser/introduction/overview.md index a8d9c29c5..27caa6162 100644 --- a/docs-java/process/mobile-player/Geyser/introduction/overview.md +++ b/docs-java/process/mobile-player/Geyser/introduction/overview.md @@ -15,9 +15,9 @@ sidebar_position: 1 `MC 百科`:https://www.mcmod.cn/class/9757.html -`文档(英文)`:https://wiki.geysermc.org/ +`文档(英文)`:https://wiki.geysermc.org/ -`文档(中文)`:https://docs.superiormc.cn/v/geyser-wiki +`文档(中文)`:https://docs.superiormc.cn/v/geyser-wiki ::: @@ -25,13 +25,13 @@ Geyser 是连接 Java 版和基岩版 的一座桥梁。可以让基岩版玩家 :::danger -Geyser 并不适合 Mod 服务器,不要尝试 +Geyser 并不适合 Mod 服务器,不要尝试 ::: :::warning -基岩版使用 UDP 协议来传输数据, 在使用前请确保你的服务商可以使用 UDP +基岩版使用 UDP 协议来传输数据, 在使用前请确保你的服务商可以使用 UDP ::: diff --git a/docs-java/process/mobile-player/Pojav_Android.md b/docs-java/process/mobile-player/Pojav_Android.md index 82fae2f2b..bc1a5946d 100644 --- a/docs-java/process/mobile-player/Pojav_Android.md +++ b/docs-java/process/mobile-player/Pojav_Android.md @@ -9,13 +9,13 @@ GitHub Action 下载 **需要 GitHub 账户才能下载。** -如果你想在正式发布前测试最新、最好的版本,可以从 GitHub Actions 获取副本。 +如果你想在正式发布前测试最新、最好的版本,可以从 GitHub Actions 获取副本。 -1. 首先进入 [PojavLauncher](https://github.com/PojavLauncherTeam/PojavLauncher) 软件仓库,然后切换到 `Actions` 选项卡。 +1. 首先进入 [PojavLauncher](https://github.com/PojavLauncherTeam/PojavLauncher) 软件仓库,然后切换到 `Actions` 选项卡。 ![](https://pojavlauncherteam.github.io/assets/img/Android-Actions-1.96a0b3c7.png) -2. 接下来,在工作流程选择菜单中选择 `Android CI`。 +2. 接下来,在工作流程选择菜单中选择 `Android CI`。 ![](https://pojavlauncherteam.github.io/assets/img/Android-Actions-2.99495cb5.png) @@ -24,9 +24,9 @@ GitHub Action 下载 ![](https://pojavlauncherteam.github.io/assets/img/Android-Actions-3.d484abce.png) -4. 在 "Artifacts"下,选择要下载的构建类型。 +4. 在 "Artifacts"下,选择要下载的构建类型。 - 大多数人都会选择 `app-debug`。 ![](https://pojavlauncherteam.github.io/assets/img/Android-Actions-4.07b1b65e.png) -下载完 Actions 版本后,就可以解压缩并像安装其他 .apk 文件一样进行安装了。 +下载完 Actions 版本后,就可以解压缩并像安装其他 .apk 文件一样进行安装了。 diff --git a/docs-java/process/mobile-player/Pojav_iOS.md b/docs-java/process/mobile-player/Pojav_iOS.md index dd531b48b..5f14398c2 100644 --- a/docs-java/process/mobile-player/Pojav_iOS.md +++ b/docs-java/process/mobile-player/Pojav_iOS.md @@ -7,7 +7,7 @@ sidebar_position: 2 免越狱安装 PojavLauncher_iOS -~~(当然如果下面几个方法都不成功那恭喜你只能去越狱了)~~ +~~(当然如果下面几个方法都不成功那恭喜你只能去越狱了)~~ ## 方法一: 使用牛蛙助手 @@ -15,110 +15,110 @@ sidebar_position: 2 在电脑打开此 [链接](https://ios222.com/) 下载牛蛙助手 -使用数据线连接手机与电脑,按照提示安装 +使用数据线连接手机与电脑,按照提示安装 从此 [链接](https://github.com/PojavLauncherTeam/PojavLauncher_iOS/releases) 下载 Pojav 的 ipa 安装包 在手机上的牛蛙助手中导入 ipa 文件 ![](_images/1.PNG) -点击签名进行自签(刚开始用自签会被封号,不会很严重修改密码就好了,自签只有一周的使用时间,过了时间要重新签名) +点击签名进行自签(刚开始用自签会被封号,不会很严重修改密码就好了,自签只有一周的使用时间,过了时间要重新签名) ![](_images/2.PNG) 点击进行安装 ![](_images/3.PNG) ### 启动 PojavLauncher -打开牛蛙助手,点击 JIT,使用 JIT 启动 PojavLauncher +打开牛蛙助手,点击 JIT,使用 JIT 启动 PojavLauncher ### 补充 安装完之后若点击程序出现未受信任的提示 ![](_images/trollstone_i.png) -请打开设置 → 通用 → VPN 与设备管理, +请打开设置 → 通用 → VPN 与设备管理, 点击对应的配置描述文件信任它 -若牛蛙提示下图,就按它说的打开牛蛙的 VPN +若牛蛙提示下图,就按它说的打开牛蛙的 VPN ![](_images/4.PNG) ## 方法二: 使用 TrollStore :::warning -由于苹果公司修复了 iOS 系统中的相关漏洞,巨魔商店不再支持 iOS16.7 和 iOS17.1 及以上系统。 +由于苹果公司修复了 iOS 系统中的相关漏洞,巨魔商店不再支持 iOS16.7 和 iOS17.1 及以上系统。 ::: 点击查看 [TrollStore 的安装流程](https://ios.cfw.guide/installing-trollstore/) ![](_images/trollstone_v.png) -~~我手机安装不了巨魔,接下来怎么做等待有缘人~~ -(有缘人:我 tm 来啦) +~~我手机安装不了巨魔,接下来怎么做等待有缘人~~ +(有缘人:我 tm 来啦)
各苹果机型对应的 TrollStore 安装方法 -安装 TrollStore 的方法因设备而异,这里简单分类了 TrollStore 的辅助工具。(iOS 版本号和 iPadOS 版本号按照相同版本号计算) +安装 TrollStore 的方法因设备而异,这里简单分类了 TrollStore 的辅助工具。(iOS 版本号和 iPadOS 版本号按照相同版本号计算) 如果你是: -- iOS14-beta2~iOS14.8.1 的系统(A8~A11 处理器) -- iOS15.5 系统(A9~A11 处理器) -- iOS15.6 beta4~iOS15.6.1(A9~A11 处理器) -- iOS15.7~iOS15.8.2(A9~A17,M1~M2 处理器) -- iOS16 beta1~beta3(A9~A11 处理器) -- iOS16 beta4~iOS16.6.1(A9 以上,M1~M2 处理器) -- iOS17 beta1~beta4(A9~A11 处理器) +- iOS14-beta2~iOS14.8.1 的系统(A8~A11 处理器) +- iOS15.5 系统(A9~A11 处理器) +- iOS15.6 beta4~iOS15.6.1(A9~A11 处理器) +- iOS15.7~iOS15.8.2(A9~A17,M1~M2 处理器) +- iOS16 beta1~beta3(A9~A11 处理器) +- iOS16 beta4~iOS16.6.1(A9 以上,M1~M2 处理器) +- iOS17 beta1~beta4(A9~A11 处理器) -那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollinstallerx/) TrollInstallerX 的安装方法。**(非常之复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转 Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)** +那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollinstallerx/) TrollInstallerX 的安装方法。**(非常之复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转 Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)** 如果你是: -- iOS14-beta2~iOS14.8.1的系统(A12 以上,M1~M2处理器) -- iOS15~iOS15.5 beta4(A8 以上,M1~M2 处理器) -- iOS15.5 系统(A12 以上,M1~M2 处理器) -- iOS15.6 beta4~iOS15.6.1(A12 以上,M1~M2 处理器) -- iOS16 beta1~beta3(A12 以上,M1~M2 处理器) +- iOS14-beta2~iOS14.8.1的系统(A12 以上,M1~M2处理器) +- iOS15~iOS15.5 beta4(A8 以上,M1~M2 处理器) +- iOS15.5 系统(A12 以上,M1~M2 处理器) +- iOS15.6 beta4~iOS15.6.1(A12 以上,M1~M2 处理器) +- iOS16 beta1~beta3(A12 以上,M1~M2 处理器) 那么复制此链接到你的 Safari 浏览器地址栏 `itms-services://?action=download-manifest&url=https://jailbreaks.app/cdn/plists/TrollHelper.plist` -以此安装 TrollHelperOTA,然后**按顺序**点击 Register Persistence Helper 和 Install TrollStore 即可安装。**(期间可能黑屏或重启。)** +以此安装 TrollHelperOTA,然后**按顺序**点击 Register Persistence Helper 和 Install TrollStore 即可安装。**(期间可能黑屏或重启。)** 如果你是: -- iOS16.7RC(A9~A11 处理器) -- iOS17 beta5~iOS17.0(A9~A11 处理器) +- iOS16.7RC(A9~A11 处理器) +- iOS17 beta5~iOS17.0(A9~A11 处理器) -那么你需要一个**已经越狱了**的苹果设备按照 [这个教程](https://ios.cfw.guide/installing-trollstore-trollhelper/) 使用 TrollHelper 安装 TrollStore。~~(你手机都越狱了还用 TrollStore 干嘛,直接用其他 ipa/dpkg 包管理安装 Pojav~~ +那么你需要一个**已经越狱了**的苹果设备按照 [这个教程](https://ios.cfw.guide/installing-trollstore-trollhelper/) 使用 TrollHelper 安装 TrollStore。~~(你手机都越狱了还用 TrollStore 干嘛,直接用其他 ipa/dpkg 包管理安装 Pojav~~ 如果你是: -- iOS15.5(A8 处理器) -- iOS15.6 beta4~iOS15.6.1(A8 处理器) +- iOS15.5(A8 处理器) +- iOS15.6 beta4~iOS15.6.1(A8 处理器) -那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollinstallermdc/) TrollInstallerMDC 的安装方法。**(较复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)** +那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollinstallermdc/) TrollInstallerMDC 的安装方法。**(较复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)** 如果你是: -- iOS15.7.2~iOS15.8.2(A8处理器) +- iOS15.7.2~iOS15.8.2(A8处理器) -那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollmisaka) TrollMisaka 的安装方法。**(也挺复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转 Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)** +那么 [点此查看](https://ios.cfw.guide/installing-trollstore-trollmisaka) TrollMisaka 的安装方法。**(也挺复杂,怕麻烦的,没电脑的,没有苹果官方 Type C 转 Lighting 或者 C2C 的线的,但是又只能用这个方法安装 TrollStore 的劝退)**
-总之,当你~~终于~~历经千辛万苦安装完 TrollStore 之后,你的内心可能痛苦,可能舒畅;但不管怎么样,最痛苦的过程结束了,后面的 Pojav 安装将会异常轻松。 +总之,当你~~终于~~历经千辛万苦安装完 TrollStore 之后,你的内心可能痛苦,可能舒畅;但不管怎么样,最痛苦的过程结束了,后面的 Pojav 安装将会异常轻松。 ![](_images/troll-icon.jpg) 现在你应该能看见这个图标了。 -现在,你需要从 [此链接](https://github.com/PojavLauncherTeam/PojavLauncher_iOS/actions) 下载 PojavLauncher 的 ipa 安装包。 +现在,你需要从 [此链接](https://github.com/PojavLauncherTeam/PojavLauncher_iOS/actions) 下载 PojavLauncher 的 ipa 安装包。 下载的时候有**两个注意事项**: -1.你需要一个 GitHub 账号,不然你没法在 Actions 里面下载东西。 -2.你使用的是 TrollStore 方案,那么就下载 `net.kdt.pojavlauncher-ios-trollstore.tipa`,~~别告诉我你用的是 TVOS~~。 +1.你需要一个 GitHub 账号,不然你没法在 Actions 里面下载东西。 +2.你使用的是 TrollStore 方案,那么就下载 `net.kdt.pojavlauncher-ios-trollstore.tipa`,~~别告诉我你用的是 TVOS~~。 -下载完 Pojav 安装包后,我们来到 TrollStore 里面。 +下载完 Pojav 安装包后,我们来到 TrollStore 里面。 ![](_images/troll-idid.PNG) -咱们要打开 ldid,以确保能正常安装没有签名的安装包。 +咱们要打开 ldid,以确保能正常安装没有签名的安装包。 -然后回到主界面,点击右上角加号,选择你刚刚下载的 tipa 文件,点击,然后就会安装,安装完之后差不多是这样的。 +然后回到主界面,点击右上角加号,选择你刚刚下载的 tipa 文件,点击,然后就会安装,安装完之后差不多是这样的。 ![](_images/troll-ui.PNG) -~~(你不用管 DolphiniOS 干什么的,这是用来玩老游戏的模拟器)~~ +~~(你不用管 DolphiniOS 干什么的,这是用来玩老游戏的模拟器)~~ -然后点击 PojavLauncher,选择 Open with JIT,打开 Pojav 后就能正常使用了。 +然后点击 PojavLauncher,选择 Open with JIT,打开 Pojav 后就能正常使用了。 ## 方法三:使用 AltStore diff --git a/docs-java/process/mobile-player/mobile-player.md b/docs-java/process/mobile-player/mobile-player.md index e9e3d474c..e20321074 100644 --- a/docs-java/process/mobile-player/mobile-player.md +++ b/docs-java/process/mobile-player/mobile-player.md @@ -17,7 +17,7 @@ sidebar_position: 3 :::warning -为了你的手机设备能流畅运行Java版我的世界,请不要在手机上随意安装 Sodium(或 Embeddium),Iris(或 Oculus),或其他优化类模组,非常容易掉帧,出错 +为了你的手机设备能流畅运行Java版我的世界,请不要在手机上随意安装 Sodium(或 Embeddium),Iris(或 Oculus),或其他优化类模组,非常容易掉帧,出错 ::: diff --git a/docs-java/process/plugin/Front-Plugin/Front-Plugin.md b/docs-java/process/plugin/Front-Plugin/Front-Plugin.md index b3e575d0b..2cd7b4b47 100644 --- a/docs-java/process/plugin/Front-Plugin/Front-Plugin.md +++ b/docs-java/process/plugin/Front-Plugin/Front-Plugin.md @@ -6,4 +6,4 @@ sidebar_position: 5 这里是通常被其他插件设定为前置的插件并且大众总是将其划为 **前置插件** 一类的插件 -理论上,任何插件都可以被作为另一个插件的前置 +理论上,任何插件都可以被作为另一个插件的前置 diff --git a/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/CheckItem.md b/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/CheckItem.md index b13401112..7beea131c 100644 --- a/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/CheckItem.md +++ b/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/CheckItem.md @@ -29,9 +29,9 @@ sidebar_position: 4 /papi parse me %checkitem_remove_diamond% ``` -在 [启用give和remove](#启用give和remove) 后,跑一下图中的变量会收取玩家所有的钻石 +在 [启用give和remove](#启用give和remove) 后,跑一下图中的变量会收取玩家所有的钻石 -变量中 **remove** 的位置在作者项目的 README 中,并没有名字,其实这个地方决定了这个变量的效果 +变量中 **remove** 的位置在作者项目的 README 中,并没有名字,其实这个地方决定了这个变量的效果 如果没有 **remove** 那么这个变量就会判断玩家是否拥有这个物品 @@ -48,11 +48,11 @@ sidebar_position: 4 - amount 查看数量 %checkitem_amount_mat:diamond% // 查看玩家背包中的钻石数量 - getinfo 物品信息 %checkitem_getinfo:0% // 查看玩家槽位0的物品信息 -你应该注意到了 `mat:diamond` ,因为我写了diamond所以这些变量的功能是针对钻石的 +你应该注意到了 `mat:diamond` ,因为我写了diamond所以这些变量的功能是针对钻石的 > mat是 material 的缩写 -像 `mat` 被称为 **修饰符(modifier)** +像 `mat` 被称为 **修饰符(modifier)** 用来更详细的指明你需要的操作 @@ -108,7 +108,7 @@ sidebar_position: 4 - nbtstrings - amt -其他物品库多数也会像ia一样给物品打上自己的nbt标签,照着改改就好 +其他物品库多数也会像ia一样给物品打上自己的nbt标签,照着改改就好 ## 启用give和remove diff --git a/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/Math.md b/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/Math.md index f8ef1acdf..c445960b1 100644 --- a/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/Math.md +++ b/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/Math.md @@ -31,7 +31,7 @@ sidebar_position: 3 ![](_images/Math/1.png) -发现输出的结果有三位小数,你可以在 `plugins\PlaceholderAPI\config.yml` 中找到 +发现输出的结果有三位小数,你可以在 `plugins\PlaceholderAPI\config.yml` 中找到 ``` math: @@ -72,4 +72,4 @@ sidebar_position: 3 ![](_images/Math/4.png) -我本地测试服务器里就我自己一个人,所以 1+1=2 +我本地测试服务器里就我自己一个人,所以 1+1=2 diff --git a/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/outline.md b/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/outline.md index e93587db1..0df310bde 100644 --- a/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/outline.md +++ b/docs-java/process/plugin/Front-Plugin/PlaceHolderAPI/outline.md @@ -13,15 +13,15 @@ sidebar_position: 1 `Wiki` https://wiki.placeholderapi.com/ -`插件百科(不推荐,老掉牙了)` https://mineplugin.org/PlaceholderAPI(%E6%97%A7) +`插件百科(不推荐,老掉牙了)` https://mineplugin.org/PlaceholderAPI(%E6%97%A7) ::: -PlaceHolderAPI是一个广泛使用的变量插件,它可以做到 Math(数学运算) Checkitem(操作玩家物品) JavaScript(执行js) Progress(制作进度条) 显示变量 等 +PlaceHolderAPI是一个广泛使用的变量插件,它可以做到 Math(数学运算) Checkitem(操作玩家物品) JavaScript(执行js) Progress(制作进度条) 显示变量 等 ## 什么是变量? -这里指的变量是形似 `%player_name%`, 即 `%xxx%` 的占位符 +这里指的变量是形似 `%player_name%`, 即 `%xxx%` 的占位符 它们用来显示一些信息 @@ -41,7 +41,7 @@ boolean: 将yes和no改为true false -不改也没事,就是改成true false会更方便判断 +不改也没事,就是改成true false会更方便判断 ## 在哪寻找我要的变量? diff --git a/docs-java/process/plugin/Front-Plugin/PlayerPoints.md b/docs-java/process/plugin/Front-Plugin/PlayerPoints.md index fdc179778..274115e11 100644 --- a/docs-java/process/plugin/Front-Plugin/PlayerPoints.md +++ b/docs-java/process/plugin/Front-Plugin/PlayerPoints.md @@ -10,12 +10,12 @@ sidebar_position: 4 `GitHub` https://github.com/Rosewood-Development/PlayerPoints -`Bukkit(太老了不要用)` https://dev.bukkit.org/projects/playerpoints +`Bukkit(太老了不要用)` https://dev.bukkit.org/projects/playerpoints `插件百科` https://mineplugin.org/PlayerPoints ::: -老牌经济插件,和 Vault 不同的经济体系,即可以与 Vault 系经济共存。 +老牌经济插件,和 Vault 不同的经济体系,即可以与 Vault 系经济共存。 -常被用作点卷(而 Vault 则是“金币”) \ No newline at end of file +常被用作点卷(而 Vault 则是“金币”) \ No newline at end of file diff --git a/docs-java/process/plugin/Front-Plugin/ProtocolLib.md b/docs-java/process/plugin/Front-Plugin/ProtocolLib.md index 4a357088a..f0ead0fad 100644 --- a/docs-java/process/plugin/Front-Plugin/ProtocolLib.md +++ b/docs-java/process/plugin/Front-Plugin/ProtocolLib.md @@ -12,13 +12,13 @@ sidebar_position: 5 `PaperMC` https://hangar.papermc.io/dmulloy2/ProtocolLib -`Bukkit(太老了不要用)` https://dev.bukkit.org/projects/protocollib +`Bukkit(太老了不要用)` https://dev.bukkit.org/projects/protocollib `ci构建站` https://ci.dmulloy2.net/job/ProtocolLib/ ::: -如果你是一个腐竹,那么你不需要知道这个插件具体怎么用,因为你**不需要配置**这个插件任何东西,这是给插件开发者用的,如果你用的某个插件需要ProtocolLib,装上即可 +如果你是一个腐竹,那么你不需要知道这个插件具体怎么用,因为你**不需要配置**这个插件任何东西,这是给插件开发者用的,如果你用的某个插件需要ProtocolLib,装上即可 1.8-1.19.4 用 [5.0.0](https://github.com/dmulloy2/ProtocolLib/releases/tag/5.0.0) diff --git a/docs-java/process/plugin/Front-Plugin/XConomy.md b/docs-java/process/plugin/Front-Plugin/XConomy.md index 1ce2798ec..6bb7fdac9 100644 --- a/docs-java/process/plugin/Front-Plugin/XConomy.md +++ b/docs-java/process/plugin/Front-Plugin/XConomy.md @@ -22,14 +22,14 @@ sidebar_position: 3 国人插件 -如果你已经安装了 [基础插件](/Java/Essentials) 并且**没有跨服的需求**,可以不安装这个插件 +如果你已经安装了 [基础插件](/Java/Essentials) 并且**没有跨服的需求**,可以不安装这个插件 因为基础插件已经提供了经济 -> Vault 是这些经济插件的前置,但本身并不提供经济 +> Vault 是这些经济插件的前置,但本身并不提供经济 ## 连接数据库 -如果你使用的是**MySQL 8**,并且无法正常连接到数据库,请下载 [DatabaseDrivers](https://github.com/YiC200333/DatabaseDrivers/releases) (1.17.X 以上版本服务器不需要) +如果你使用的是**MySQL 8**,并且无法正常连接到数据库,请下载 [DatabaseDrivers](https://github.com/YiC200333/DatabaseDrivers/releases) (1.17.X 以上版本服务器不需要) > 参考 https://xc.itzdrli.com/intro#%E6%B3%A8%E6%84%8F diff --git a/docs-java/process/plugin/Front-Plugin/vault.md b/docs-java/process/plugin/Front-Plugin/vault.md index e3161f068..999558e75 100644 --- a/docs-java/process/plugin/Front-Plugin/vault.md +++ b/docs-java/process/plugin/Front-Plugin/vault.md @@ -18,18 +18,18 @@ sidebar_position: 2 ## 什么是Vault ``` -Vault是一个Bukkit抽象库,为其他插件提供与权限、聊天和经济有关的接口,为插件们提供一套系统性的支持,对于以Vault作为前置的插件来说,它是各个插件之间的桥梁、合约。 +Vault是一个Bukkit抽象库,为其他插件提供与权限、聊天和经济有关的接口,为插件们提供一套系统性的支持,对于以Vault作为前置的插件来说,它是各个插件之间的桥梁、合约。 ``` -人话:插件开发者要考虑的,你只管装上去就行了 +人话:插件开发者要考虑的,你只管装上去就行了 ### Vualt是不是经济插件 不是。 ``` -作为被依赖的前置,它可以为经济插件创建和管理虚拟经济系统,使其他插件能够提供Vault与各种经济插件交互,从而使它们能够共享相同的经济系统,其本身并不包含经济插件功能。 +作为被依赖的前置,它可以为经济插件创建和管理虚拟经济系统,使其他插件能够提供Vault与各种经济插件交互,从而使它们能够共享相同的经济系统,其本身并不包含经济插件功能。 ``` -人话:Vault只是提供经济的插件的前置,本身并不提供经济功能,就是给众多经济系统提供了一个统一接口 +人话:Vault只是提供经济的插件的前置,本身并不提供经济功能,就是给众多经济系统提供了一个统一接口 想要经济可以看看 [这页](XConomy.md) \ No newline at end of file diff --git a/docs-java/process/plugin/ManageTool/AntiGrief/AntiGrief.md b/docs-java/process/plugin/ManageTool/AntiGrief/AntiGrief.md index 8ea06c7ec..b8702ab81 100644 --- a/docs-java/process/plugin/ManageTool/AntiGrief/AntiGrief.md +++ b/docs-java/process/plugin/ManageTool/AntiGrief/AntiGrief.md @@ -6,7 +6,7 @@ sidebar_position: 3 # 概览 -记录玩家放置,破坏,存储物品等使用 [CoreProtect](CoreProtect.md) 或 [PrismRefracted](PrismRefracted.md)。 +记录玩家放置,破坏,存储物品等使用 [CoreProtect](CoreProtect.md) 或 [PrismRefracted](PrismRefracted.md)。 可以依据记录让插件把一定区域回滚到某个时间点。 diff --git a/docs-java/process/plugin/ManageTool/AntiGrief/InvSee++.md b/docs-java/process/plugin/ManageTool/AntiGrief/InvSee++.md index 131141f34..fc7e76268 100644 --- a/docs-java/process/plugin/ManageTool/AntiGrief/InvSee++.md +++ b/docs-java/process/plugin/ManageTool/AntiGrief/InvSee++.md @@ -17,7 +17,7 @@ sidebar_label: 查包 - InvSee++ InvSee++ 可以查看和编辑其他玩家的物品栏和末影箱。 -[Essentials](/Java/process/plugin/ManageTool/BasicPlugins/EssentialsX/) 也有这个功能,但 InvSee 可以: +[Essentials](/Java/process/plugin/ManageTool/BasicPlugins/EssentialsX/) 也有这个功能,但 InvSee 可以: - 拿走或替换玩家的装备 - 查询离线玩家的背包 @@ -28,14 +28,14 @@ InvSee++ 可以查看和编辑其他玩家的物品栏和末影箱。 - 查看和编辑其他玩家的物品栏和末影宝箱。 - 包括玩家的盔甲内容和副手物品。 - 包括玩家的合成/工作台/铁砧/锻造台/石匠/磨石/织布机/附魔台/商人物品以及玩家光标中的物品。 -- 支持离线玩家,甚至支持从未登录过服务器的玩家。 -- 当玩家重新登录时,物品栏会自动重新加载。 -- (可选)与 PerWorldInventory 集成。这需要在其配置中加入 `load-data-on-join: true` 。 +- 支持离线玩家,甚至支持从未登录过服务器的玩家。 +- 当玩家重新登录时,物品栏会自动重新加载。 +- (可选)与 PerWorldInventory 集成。这需要在其配置中加入 `load-data-on-join: true` 。 ## 命令 -- /invsee [用户名]/[UUID] (查看背包) -- /endersee [用户名]/[UUID] (看末影箱) +- /invsee [用户名]/[UUID] (查看背包) +- /endersee [用户名]/[UUID] (看末影箱) ## 扩展插件 @@ -45,8 +45,8 @@ InvSee++ 可以查看和编辑其他玩家的物品栏和末影箱。 #### 指令 -- /invgive (添加到背包) -- /endergive (添加到末影箱) +- /invgive (添加到背包) +- /endergive (添加到末影箱) 指令格式和普通的 give 指令一模一样。 @@ -56,7 +56,7 @@ InvSee++ 可以查看和编辑其他玩家的物品栏和末影箱。 #### 指令 -- /invclear (清除背包中的物品) -- /enderclear (清除末影箱中的物品) +- /invclear (清除背包中的物品) +- /enderclear (清除末影箱中的物品) 指令格式和普通的 clear 指令一模一样。 diff --git a/docs-java/process/plugin/ManageTool/AntiGrief/PrismRefracted.md b/docs-java/process/plugin/ManageTool/AntiGrief/PrismRefracted.md index 1dbebd689..c2b6bf648 100644 --- a/docs-java/process/plugin/ManageTool/AntiGrief/PrismRefracted.md +++ b/docs-java/process/plugin/ManageTool/AntiGrief/PrismRefracted.md @@ -11,10 +11,10 @@ sidebar_label: 记录 - PrismRefracted `SpigotMC` https://www.spigotmc.org/resources/prism.99397/ -`GitHub(汉化版)` https://github.com/Rothes/PrismRefracted +`GitHub(汉化版)` https://github.com/Rothes/PrismRefracted ::: PrismRefracted **必须** 连接数据库使用。 -推荐使用 [汉化版](https://github.com/Rothes/PrismRefracted) ,在Actions中下载。 +推荐使用 [汉化版](https://github.com/Rothes/PrismRefracted) ,在Actions中下载。 diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/BasicPlugins.md b/docs-java/process/plugin/ManageTool/BasicPlugins/BasicPlugins.md index 9b09aa3d0..37772bbb5 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/BasicPlugins.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/BasicPlugins.md @@ -6,10 +6,10 @@ sidebar_position: 2 # 基础插件 -基础插件,顾名思义,是大部分服务器 (特别是生存服) 必备的插件。 +基础插件,顾名思义,是大部分服务器 (特别是生存服) 必备的插件。 -基础插件一般能提供各种常用功能,比如:tpa、 home、 管理工具和礼包功能等等... +基础插件一般能提供各种常用功能,比如:tpa、 home、 管理工具和礼包功能等等... -大部分基础插件还提供了经济功能,如果你没有跨服需求,也可以尝试使用。 +大部分基础插件还提供了经济功能,如果你没有跨服需求,也可以尝试使用。 -现有的两个较常用的基础插件,分别是 [EssentialsX](https://essentialsx.net/downloads.html) 和 [CMI](https://www.spigotmc.org/resources/cmi-298-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/) 。 +现有的两个较常用的基础插件,分别是 [EssentialsX](https://essentialsx.net/downloads.html) 和 [CMI](https://www.spigotmc.org/resources/cmi-298-commands-insane-kits-portals-essentials-economy-mysql-sqlite-much-more.3742/) 。 diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/CMI/CMI.md b/docs-java/process/plugin/ManageTool/BasicPlugins/CMI/CMI.md index bd40f236a..bf6d5726b 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/CMI/CMI.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/CMI/CMI.md @@ -5,6 +5,6 @@ sidebar_position: 2 # 概览 -CMI屎山插件,谁愿意写谁写 +CMI屎山插件,谁愿意写谁写 TODO diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/ConfigTips.md b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/ConfigTips.md index 2af712715..aed2ca736 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/ConfigTips.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/ConfigTips.md @@ -25,13 +25,13 @@ teleport-delay: 0 skip-used-one-time-kits-from-kit-list: false ``` -当该选项开启后 (例如. delay < 0) 则玩家使用过一次该项工具包以后,将从玩家的kit列表中删去该项可用工具包。 +当该选项开启后 (例如. delay < 0) 则玩家使用过一次该项工具包以后,将从玩家的kit列表中删去该项可用工具包。 ```yaml kit-auto-equip: false ``` -启用后,只要玩家的盔甲槽是空的,就会自动装备领取的kit包中的盔甲。 +启用后,只要玩家的盔甲槽是空的,就会自动装备领取的kit包中的盔甲。 ```yaml use-nbt-serialization-in-createkit: false @@ -39,20 +39,20 @@ use-nbt-serialization-in-createkit: false 默认为false。 -应该是说,开启后 kit 可以存 nbt 的东西了。 +应该是说,开启后 kit 可以存 nbt 的东西了。 ## AFK - 使用命令 /afk 暂时离开 ``` auto-afk: 300 ``` -在超时(以秒为单位)后,用户将被设置为 AFK。 +在超时(以秒为单位)后,用户将被设置为 AFK。 此功能需要玩家拥有 essentials.afk.auto 权限。 设置为 -1 表示不会超时。 ``` auto-afk-kick: -1 ``` -在超时(以秒为单位)后,用户将被踢出服务器。 +在超时(以秒为单位)后,用户将被踢出服务器。 拥有 essentials.afk.kickexempt 权限可以避免被踢出。 设置为 -1 表示不会超时。 @@ -83,11 +83,11 @@ custom-new-username-message: "&e[&a+&e]&6比驿站丑的新玩家 {USERNAME} 加 ``` spawn-if-no-home: true ``` -玩家执行了/home ,但他没有设置家。 +玩家执行了/home ,但他没有设置家。 -如果此项设置为 true ,玩家将会传送回出生点。 +如果此项设置为 true ,玩家将会传送回出生点。 -如果此项设置为 false ,玩家不会被传送。 +如果此项设置为 false ,玩家不会被传送。 @@ -115,7 +115,7 @@ kit: tools ## EssentialsX Chat -注意:你需要安装 EssentialsX Chat 才可以使用,推荐用别的聊天插件... +注意:你需要安装 EssentialsX Chat 才可以使用,推荐用别的聊天插件... ``` format: '<{DISPLAYNAME}> {MESSAGE}' @@ -124,15 +124,15 @@ format: '<{DISPLAYNAME}> {MESSAGE}' ## EssentialsX Protect -注意:你需要安装 EssentialsX Protect 才可以使用,同样推荐用别的插件... +注意:你需要安装 EssentialsX Protect 才可以使用,同样推荐用别的插件... -太多东西了,自己看着调。 +太多东西了,自己看着调。 ## EssentialsX AntiBuild -注意:你需要安装 EssentialsX AntiBuild 才可以使用,同样推荐用别的插件... +注意:你需要安装 EssentialsX AntiBuild 才可以使用,同样推荐用别的插件... -太多东西了,自己看着调。 +太多东西了,自己看着调。 diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/EssentialsX.md b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/EssentialsX.md index 30d38d02e..111db47de 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/EssentialsX.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/EssentialsX.md @@ -21,7 +21,7 @@ sidebar_position: 1 Essentials插件分为两个版本: -- essentials(早已停更)适合mc 1.7.10 [下载](https://mineplugin.org/Essentials/Downloads) +- essentials(早已停更)适合mc 1.7.10 [下载](https://mineplugin.org/Essentials/Downloads) - essentialsX 适合mc 1.8+ [下载](https://essentialsx.net/downloads.html)
@@ -46,18 +46,18 @@ Essentials插件分为两个版本: | 名字 | 介绍 | | --- | ----------- | -| EssentialsX | 包括tpa,warp,home,afk,kit等. | +| EssentialsX | 包括tpa,warp,home,afk,kit等. | | EssentialsX Chat | 聊天模块 | -| EssentialsX Spawn | 包含基本的玩家生成,还可以进服给玩家一个工具包. | +| EssentialsX Spawn | 包含基本的玩家生成,还可以进服给玩家一个工具包. | | EssentialsX Discord| 与Discord的轻量级聊天、消息传递和命令集成. | | EssentialsX Discord Link | Discord和Minecraft之间的帐户同步. | -| EssentialsX AntiBuild | 可以设置谁可以建造,或谁可以放置/破坏哪种方块. | +| EssentialsX AntiBuild | 可以设置谁可以建造,或谁可以放置/破坏哪种方块. | | EssentialsX Geo | 地理 IP 查找功能. | -| EssentialsProtect | 是一个基本的世界保护, 可以设置世界规则. | +| EssentialsProtect | 是一个基本的世界保护, 可以设置世界规则. | | EssentialsX XMPP | 轻量级聊天、消息和服务器日志与Jabber/XMPP服务集成. | ## MySQL 存储扩展 [Essentials MySQL Storage Extension](https://www.spigotmc.org/resources/.25673/) -一个付费插件,为 Essentials 的带来了 MySQL 支持 +一个付费插件,为 Essentials 的带来了 MySQL 支持 diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/PapiSupport.md b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/PapiSupport.md index 883000c56..aab7607a7 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/PapiSupport.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/PapiSupport.md @@ -7,7 +7,7 @@ sidebar_position: 4 `官方文档` https://wiki.placeholderapi.com/users/placeholder-list/#essentials -`插件百科(严重过期)` https://mineplugin.org/PlaceholderAPI(%E6%97%A7) +`插件百科(严重过期)` https://mineplugin.org/PlaceholderAPI(%E6%97%A7) ::: diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/config.yml.md b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/config.yml.md index bfb23101c..3e14788a6 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/config.yml.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/config.yml.md @@ -29,7 +29,7 @@ sidebar_position: 3 ############################################################ # OP名字的颜色代码,填写0~9或a~f其中的一个数字或字母,填写'none'来冻结该功能 -# 在 1.16 中,你也可以在此处使用十六进制颜色代码。 (例如,#613e1d 是棕色的)。 +# 在 1.16 中,你也可以在此处使用十六进制颜色代码。 (例如,#613e1d 是棕色的)。 ops-name-color: '4' # 昵称的前缀符号,这样你能知道这不是他们真正的用户名. @@ -44,11 +44,11 @@ nick-blacklist: #- Notch #- '^Dinnerbone' -# 启用此选项时,昵称长度检查将排除玩家名字的颜色代码所占字符. +# 启用此选项时,昵称长度检查将排除玩家名字的颜色代码所占字符. # 即: "&6Notch" 占有7个字符 (而其中的两个就是颜色代码所占字符),如果你设置的昵称字符超过了系统限定,请将该选项改为 true ignore-colors-in-max-nick-length: false -# 启用此选项后,隐藏用户的显示名称将不会显示。 这样可以防止玩家 +# 启用此选项后,隐藏用户的显示名称将不会显示。 这样可以防止玩家 # 能够看到他们在消失时在线。 hide-displayname-in-vanish: true @@ -58,7 +58,7 @@ change-displayname: true # 此选项将导致 Essentials 在 Tab 完成 Essentials 命令时显示玩家的显示名称而不是用户名。 change-tab-complete-name: false -# 启用此选项时,TAB玩家列表将使用显示名称更新。 +# 启用此选项时,TAB玩家列表将使用显示名称更新。 # 上方 change-displayname (above) 必须为true. #change-playerlist: true @@ -68,7 +68,7 @@ change-tab-complete-name: false # 不要乱动该选项,除非你知道如何正确使用! #add-prefix-suffix: false -# 启用此选项后,玩家前缀将显示在玩家列表中。 +# 启用此选项后,玩家前缀将显示在玩家列表中。 # 此功能仅适用于 Minecraft 1.8 及更高版本。 # 上方 change-playerlist 必须为 true #add-prefix-in-playerlist: true @@ -83,17 +83,17 @@ change-tab-complete-name: false # 如果设置为false, 将会取消传送并发送一则警告消息 teleport-safety: true -# 如果试图传送到不安全的位置,这会在没有警告的情况下强制禁用传送安全检查。 +# 如果试图传送到不安全的位置,这会在没有警告的情况下强制禁用传送安全检查。 # teleport-safety 并且此选项需要设置为 true 以强制传送到危险位置。 force-disable-teleport-safety: false # 如果玩家在创造、冒险或上帝模式中传送到不安全的位置; 他们不会被传送到 -#安全位置。 如果你希望玩家一直被传送到安全位置,请将此选项设置为 true。 +#安全位置。 如果你希望玩家一直被传送到安全位置,请将此选项设置为 true。 force-safe-teleport-location: false -# 如果玩家骑乘,传送将失败。 玩家是否应该在被传送之前下马? -# 如果设置为 true,Essentials 将在传送之前让这个玩家下马。 -# 如果设置为 false,尝试的传送将被取消并发出警告。 +# 如果玩家骑乘,传送将失败。 玩家是否应该在被传送之前下马? +# 如果设置为 true,Essentials 将在传送之前让这个玩家下马。 +# 如果设置为 false,尝试的传送将被取消并发出警告。 teleport-passenger-dismount: true # 传送功能的冷却时间(以秒为单位),如/home, /tp, etc 等命令 @@ -109,7 +109,7 @@ teleport-invulnerability: 4 # 是否让所有的传送都传到方块的中心; 其中 x 和 z 坐标小数变为 0.5 teleport-to-center: true -# 延迟,以秒为单位, 比如使用 /heal 或 /feed attempts. 驿站:heal命令是治愈玩家 +# 延迟,以秒为单位, 比如使用 /heal 或 /feed attempts. 驿站:heal命令是治愈玩家 heal-cooldown: 60 # 治疗玩家时是否移除药水效果? @@ -154,7 +154,7 @@ drop-items-if-full: false # 是否提醒玩家有无新邮件(true为提醒,false为不提醒) notify-no-new-mail: true -# 指定玩家每次收到邮件通知之间的持续时间(以秒为单位)。 +# 指定玩家每次收到邮件通知之间的持续时间(以秒为单位)。 # 对于有大量邮件流量的服务器很有用。 notify-player-of-mail-cooldown: 60 @@ -180,7 +180,7 @@ disabled-commands: # - clear # Essentials 是否应该显示详细的命令用法。 -# 如果设置为 false,Essentials 会将所有使用情况折叠成一条使用消息。 +# 如果设置为 false,Essentials 会将所有使用情况折叠成一条使用消息。 verbose-command-usages: true # 这些命令是当开启了/socialspy命令时可以看到的玩家私聊 @@ -211,42 +211,42 @@ socialspy-commands: - pm # 来自禁言玩家的私人和公共消息是否应该出现在社交间谍中。 -# 如果是这样,它们将与普通玩家发送的区别开来。 +# 如果是这样,它们将与普通玩家发送的区别开来。 socialspy-listen-muted-players: true # 社交间谍应该监视私人消息还是只监视上面列表中的命令。 -# 如果为 false,social spy 将仅监视上面列表中的命令。 +# 如果为 false,social spy 将仅监视上面列表中的命令。 socialspy-messages: true # 以下设置监听玩家何时对世界进行改变。 -# 如果你使用其他插件来控制速度和飞行,你应该将这些设置为 false。 +# 如果你使用其他插件来控制速度和飞行,你应该将这些设置为 false。 -# 当玩家改变世界时,EssentialsX 是否应该重置他们的飞行? -# 如果玩家没有essentials.fly,这将禁用飞行。 +# 当玩家改变世界时,EssentialsX 是否应该重置他们的飞行? +# 如果玩家没有essentials.fly,这将禁用飞行。 world-change-fly-reset: true -# 当玩家改变世界时,我们是否应该根据他们的权限重置他们的速度? -# 如果没有essentials.speed,这会将玩家的速度重置为默认值。 -# 如果玩家没有essentials.speed.bypass,这会将他们的速度重置为上面指定的最大值。 +# 当玩家改变世界时,我们是否应该根据他们的权限重置他们的速度? +# 如果没有essentials.speed,这会将玩家的速度重置为默认值。 +# 如果玩家没有essentials.speed.bypass,这会将他们的速度重置为上面指定的最大值。 world-change-speed-reset: true # 禁言命令 -# 当玩家被禁言时,这些命令将被禁用。 +# 当玩家被禁言时,这些命令将被禁用。 # 使用 '*' 禁用每个命令。 # Essentials 默认情况下已禁用 Essentials 消息传递命令。 -# 它只注意 root 命令,之后不注意 args(它眼里 /f chat 和 /f 一样) +# 它只注意 root 命令,之后不注意 args(它眼里 /f chat 和 /f 一样) mute-commands: - f - kittycannon # - '*' -# 如果你不想使用权限系统,你可以在下面定义一个“玩家权限”列表。 -# 如果你使用受支持的权限系统,此列表无效。 -# 如果你使用的是不受支持的权限系统,只需删除此部分即可。 -# 白名单你希望默认给予玩家的命令和权限(其他一切都是操作)。 +# 如果你不想使用权限系统,你可以在下面定义一个“玩家权限”列表。 +# 如果你使用受支持的权限系统,此列表无效。 +# 如果你使用的是不受支持的权限系统,只需删除此部分即可。 +# 白名单你希望默认给予玩家的命令和权限(其他一切都是操作)。 # 这些是没有“必需品”的权限。 部分。 # -# 要启用此功能,请将 use-bukkit-permissions 设置为 false。 +# 要启用此功能,请将 use-bukkit-permissions 设置为 false。 player-commands: - afk - afk.auto @@ -328,9 +328,9 @@ player-commands: - worth - xmpp -# 使用此选项强制基于op权限的权限处理程序,而不管检测到已安装的权限插件。 -# 如果你想要自定义权限插件的基于超级权限的权限(使用通配符),这很有用。 -# 如果你希望通过上面的 `player-commands` 部分使用 EssentialsX 的内置权限,请将其设置为 false。 +# 使用此选项强制基于op权限的权限处理程序,而不管检测到已安装的权限插件。 +# 如果你想要自定义权限插件的基于超级权限的权限(使用通配符),这很有用。 +# 如果你希望通过上面的 `player-commands` 部分使用 EssentialsX 的内置权限,请将其设置为 false。 # 默认为true use-bukkit-permissions: true @@ -338,22 +338,22 @@ use-bukkit-permissions: true # 将从玩家的kit列表中删去该项可用工具包 skip-used-one-time-kits-from-kit-list: false -# 启用后,只要玩家的盔甲槽是空的,就会自动装备领取的kit包中的盔甲。 +# 启用后,只要玩家的盔甲槽是空的,就会自动装备领取的kit包中的盔甲。 kit-auto-equip: false # 确定 /createkit 命令的功能。 -# 如果这是true,/createkit 将给用户一个带有kit代码的链接。 -# 如果为 false,/createkit 将直接将该kit工具包添加到 kits.yml 配置文件中。 +# 如果这是true,/createkit 将给用户一个带有kit代码的链接。 +# 如果为 false,/createkit 将直接将该kit工具包添加到 kits.yml 配置文件中。 # 默认为false。 pastebin-createkit: false # 确定 /createkit 是否会使用 NBT 项目序列化生成套件。 -# 如果这是真的,/createkit 会将项目存储为 NBT; 否则,它将使用 Essentials 的人类可读项目格式。 -# 通过使用 NBT 序列化,/createkit 可以存储具有复杂元数据的项目,例如具有自定义属性的潜影盒和武器。 -# 警告:此选项仅适用于 1.15.2+ Paper 服务器,它将绕过来自其他插件(如 Magic)的任何自定义序列化程序。 -# 警告:在启用此选项的情况下通过 /createkit 创建工具包时,你将无法使用这些工具包项目降级你的服务器。 +# 如果这是真的,/createkit 会将项目存储为 NBT; 否则,它将使用 Essentials 的人类可读项目格式。 +# 通过使用 NBT 序列化,/createkit 可以存储具有复杂元数据的项目,例如具有自定义属性的潜影盒和武器。 +# 警告:此选项仅适用于 1.15.2+ Paper 服务器,它将绕过来自其他插件(如 Magic)的任何自定义序列化程序。 +# 警告:在启用此选项的情况下通过 /createkit 创建工具包时,你将无法使用这些工具包项目降级你的服务器。 # 此选项仅影响 /createkit - 你仍然可以使用 Essentials 的人类可读项目格式在 `kits.yml` 中手动创建套件。 -# 默认为false。 应该是说,开启后kit可以存nbt的东西了 +# 默认为false。 应该是说,开启后kit可以存nbt的东西了 use-nbt-serialization-in-createkit: false # Essentials 木牌控制 @@ -394,29 +394,29 @@ enabledSigns: sign-use-per-second: 4 # 允许在 1.13 及更高版本的现有标志上使用项目 ID。 -# 你不能在新标志上使用物品 ID,但这将允许玩家与标志进行交互 +# 你不能在新标志上使用物品 ID,但这将允许玩家与标志进行交互 # 放在 1.13 之前。 allow-old-id-signs: false # 标志名称列表 Essentials 不应保护。 此功能在以下情况下特别有用 -# 另一个插件提供了 EssentialsX 提供的标志,但 Essentials 会覆盖。 -# 例如,如果一个插件提供了一个 [kit] 标志,并且你希望使用他们的而不是 -# Essentials 的,然后只需在下面添加工具包,Essentials 将不会保护它。 +# 另一个插件提供了 EssentialsX 提供的标志,但 Essentials 会覆盖。 +# 例如,如果一个插件提供了一个 [kit] 标志,并且你希望使用他们的而不是 +# Essentials 的,然后只需在下面添加工具包,Essentials 将不会保护它。 # -# 有关更多信息,请参阅 https://github.com/drtshock/Essentials/pull/699。 +# 有关更多信息,请参阅 https://github.com/drtshock/Essentials/pull/699。 unprotected-sign-names: #- kit # 当自动备份被取消时,使用批处理/bash 命令来备份. -# 服务器在执行备份命令前会先保存世界,并禁用 +# 服务器在执行备份命令前会先保存世界,并禁用 # 在备份期间保存以防止世界损坏或其他冲突。 # 也可以使用 /backup 手动触发备份。 backup: # 以分钟为单位的间隔。 interval: 30 -# 如果为true,即使没有玩家在线,备份任务也会运行。 +# 如果为true,即使没有玩家在线,备份任务也会运行。 always-run: false -# 除非你在此处添加有效的备份命令或脚本,否则此功能将毫无用处。 +# 除非你在此处添加有效的备份命令或脚本,否则此功能将毫无用处。 # 使用 'save-all' 来简单地强制定期保存世界而无需备份。 # 下面的示例命令使用 rdiff-backup: https://rdiff-backup.net/ #command: 'rdiff-backup World1 备份/World1' @@ -455,57 +455,57 @@ debug: false remove-god-on-disconnect: false # 自动AFK 驿站:使用命令/afk 暂时离开 -# 在此超时(以秒为单位)后,用户将被设置为 AFK。 +# 在此超时(以秒为单位)后,用户将被设置为 AFK。 # 此功能需要玩家拥有essentials.afk.auto 节点。 # 设置为 -1 表示没有超时。 auto-afk: 300 # 挂机太久就给老子踢啦! -# 在此超时(以秒为单位)后,用户将被踢出服务器。 +# 在此超时(以秒为单位)后,用户将被踢出服务器。 #essentials.afk.kickexempt 节点覆盖此功能。 # 设置为 -1 表示没有超时。 auto-afk-kick: -1 -# 将此设置为true,如果玩家是AFK,冻结玩家,如果玩家是AFK。 +# 将此设置为true,如果玩家是AFK,冻结玩家,如果玩家是AFK。 # 驿站:大概是说让挂机玩家不被生物打扰。 # 这也会为 AFK 玩家启用临时上帝模式。 # 玩家必须使用命令 /afk 离开 AFK 模式。 freeze-afk-players: false -# 当玩家AFK时,是否能够捡起物品 -# 启用这个,当你不希望人们在暴民陷阱中闲置时。 +# 当玩家AFK时,是否能够捡起物品 +# 启用这个,当你不希望人们在暴民陷阱中闲置时。 disable-item-pickup-while-afk: false # 此设置控制玩家是否在交互时自动退出afk模式。 -# 当此设置为 false 时,玩家需要使用 /afk 命令手动取消 AFK。 +# 当此设置为 false 时,玩家需要使用 /afk 命令手动取消 AFK。 cancel-afk-on-interact: true # 玩家移动时会自动移除 afk 状态吗? -# 无论此设置如何,玩家都会在聊天/命令中从 AFK 中移除。 +# 无论此设置如何,玩家都会在聊天/命令中从 AFK 中移除。 # 禁用它以减少服务器延迟。 cancel-afk-on-move: true # 玩家发送聊天消息时是否自动移除 afk 状态? cancel-afk-on-chat: true -# 当其他玩家睡觉时,是否忽略 AFK 玩家? -# 此设置为false时,如果有玩家在AFK,玩家将无法跳过夜晚。 +# 当其他玩家睡觉时,是否忽略 AFK 玩家? +# 此设置为false时,如果有玩家在AFK,玩家将无法跳过夜晚。 # 拥有节点 Essentials.sleepingignored 权限的用户将始终被忽略。 sleep-ignores-afk-players: true -# 当其他玩家试图睡觉时,是否应该忽略消失的玩家? -# 当此设置为 false 时,如果消失的玩家没有睡觉,玩家将无法跳过夜晚。 +# 当其他玩家试图睡觉时,是否应该忽略消失的玩家? +# 当此设置为 false 时,如果消失的玩家没有睡觉,玩家将无法跳过夜晚。 # 拥有节点 Essentials.sleepingignored 权限的用户将始终被忽略。 sleep-ignores-vanished-player: true -# 设置玩家AFK时的列表名称。 默认情况下为 none,它指定 Essentials +# 设置玩家AFK时的列表名称。 默认情况下为 none,它指定 Essentials # 不应干扰 AFK 玩家的列表名称。 none我改成了 挂机中 -# 你可以使用颜色代码,使用 {USERNAME} 玩家的名称或 {PLAYER} 作为玩家的显示名称。 +# 你可以使用颜色代码,使用 {USERNAME} 玩家的名称或 {PLAYER} 作为玩家的显示名称。 afk-list-name: "挂机中" -# 当玩家进入或退出AFK模式时,是否聊天栏通知其他玩家 -# 发给整个服务器的人,还是只发给这个挂机的玩家? -# 当此设置为 false 时,只有准备挂机的玩家会收到afk通知 +# 当玩家进入或退出AFK模式时,是否聊天栏通知其他玩家 +# 发给整个服务器的人,还是只发给这个挂机的玩家? +# 当此设置为 false 时,只有准备挂机的玩家会收到afk通知 broadcast-afk-message: true # 你可以在此处禁用 Minecraft 的死亡消息。 @@ -513,25 +513,25 @@ death-messages: true # Essentials 应该如何处理拥有 Essentials.keepinv 权限的玩家 # 拥有消失诅咒附魔的物品或装备? -# 你可以将其设置为“keep”(保留项目)、“掉落”(删除项目)或“delete”(删除项目)。 +# 你可以将其设置为“keep”(保留项目)、“掉落”(删除项目)或“delete”(删除项目)。 # 默认为“keep” vanishing-items-policy: keep # Essentials 应该如何处理拥有 Essentials.keepinv 权限的玩家 #拥有绑定诅咒附魔的物品或装备? -# 你可以将其设置为“keep”(保留项目)、“drop”(删除项目)或“delete”(删除项目)。 +# 你可以将其设置为“keep”(保留项目)、“drop”(删除项目)或“delete”(删除项目)。 # 默认为“keep” binding-items-policy: keep -# 当玩家死亡时,他人会收到他的死亡坐标吗? +# 当玩家死亡时,他人会收到他的死亡坐标吗? send-info-after-death: false # 是否关闭加入、退出游戏的提示消息 # 当启用后, 具有对应权限的玩家加入、离开游戏将不会在公屏上显示消息 -# 此外,拥有essentials.silentjoin.vanish 的人将在加入时消失。 +# 此外,拥有essentials.silentjoin.vanish 的人将在加入时消失。 allow-silent-join-quit: false -# 你可以在此处设置自定义加入和退出消息。 将此设置为“none”以使用默认的 Minecraft 消息, +# 你可以在此处设置自定义加入和退出消息。 将此设置为“none”以使用默认的 Minecraft 消息, # 或将此设置为 "" 以完全隐藏消息。 # 可用变量 @@ -547,7 +547,7 @@ custom-quit-message: "&e[&c-&e]&6比驿站丑的 {USERNAME} 退出了游戏" # 你可以在此处为新玩家(和更换ID的老玩家?)设置加入提示。 # 仅当用户之前加入并更改了用户名时才会使用此消息。 -# 这将显示而不是 custom-join-message,因此如果你打算保持它们相似,请确保它们匹配。 +# 这将显示而不是 custom-join-message,因此如果你打算保持它们相似,请确保它们匹配。 # 将此设置为“none”以对每个连接使用上面的“custom-join-message”。 # 可用变量 @@ -565,9 +565,9 @@ custom-new-username-message: "&e[&a+&e]&6比驿站丑的新玩家 {USERNAME} 加 # 设置为 false 以保留原版消息。 use-custom-server-full-message: true -# 当玩家数量达到一定限制时,你可以禁用加入和退出消息。 -# 当玩家人数低于此数字时,将始终显示加入/退出消息。 -# 将此设置为 -1 以始终显示加入和退出消息,无论玩家人数如何。 +# 当玩家数量达到一定限制时,你可以禁用加入和退出消息。 +# 当玩家人数低于此数字时,将始终显示加入/退出消息。 +# 将此设置为 -1 以始终显示加入和退出消息,无论玩家人数如何。 hide-join-quit-messages-above: -1 # 禁用上帝模式的世界。 @@ -622,24 +622,24 @@ mails-per-minute: 1000 # 设置为 -1 可禁用此功能, 另外 essentials.tempban.unlimited 权限可以覆盖此设置. max-mute-time: -1 -# 设置 /tempban 可以使用的最长时间(以秒为单位)。 -# 设置为 -1 禁用,essentials.tempban.unlimited 可用于覆盖。 +# 设置 /tempban 可以使用的最长时间(以秒为单位)。 +# 设置为 -1 禁用,essentials.tempban.unlimited 可用于覆盖。 max-tempban-time: -1 # 更改默认的 /reply 功能。 这可以使用 /rtoggle 在每个玩家的基础上进行更改。 -# 如果为真,/r 转到你最后发消息的人,否则第一个发消息给你的人。 -# 如果为假,/r 转到最后一个给你发消息的人。 +# 如果为真,/r 转到你最后发消息的人,否则第一个发消息给你的人。 +# 如果为假,/r 转到最后一个给你发消息的人。 last-message-reply-recipient: true -# 如果为特定玩家启用了 last-message-reply-recipient, -# 这指定了持续时间,以秒为单位,需要经过 +# 如果为特定玩家启用了 last-message-reply-recipient, +# 这指定了持续时间,以秒为单位,需要经过 #reply-recipient 在收到消息时更新。 -# 默认为 180(3 分钟) +# 默认为 180(3 分钟) last-message-reply-recipient-timeout: 180 # 更改默认的 /reply 功能。 -# 如果为true,/reply 将不会检查你正在回复的人是否已经消失。 -# 如果为 false,玩家将无法/回复因消失而无法再看到的玩家。 +# 如果为true,/reply 将不会检查你正在回复的人是否已经消失。 +# 如果为 false,玩家将无法/回复因消失而无法再看到的玩家。 last-message-reply-vanished: false # 切换是否左键单击带有牛奶桶的生物会将它们变成婴儿。 @@ -648,22 +648,22 @@ milk-bucket-easter-egg: true # 切换是否应在加入时向玩家发送他们飞行状态是否开启 send-fly-enable-on-join: true -# 设置为 true 以启用 per-world 权限,以便使用 Essentials 命令为各个世界设置时间。 +# 设置为 true 以启用 per-world 权限,以便使用 Essentials 命令为各个世界设置时间。 # 这适用于/time、/day、/eday、/night、/enight、/etime。 # 允许某人使用essentials.time.world. 传送到一个世界。 world-time-permissions: false # 为 Essentials 命令和外部命令指定冷却时间。 -# 所有命令都不以正斜杠 (/) 开头。 代替 /msg,写 msg +# 所有命令都不以正斜杠 (/) 开头。 代替 /msg,写 msg # # 支持通配符。 例如。 # - '*i*': 50 # 为所有包含字母 i 的命令添加 50 秒的冷却时间 # # EssentialsX 通过使用插入符号启动命令来支持正则表达式 ^ -# 例如,要针对以ban而不是banip开头的命令,将使用以下命令: +# 例如,要针对以ban而不是banip开头的命令,将使用以下命令: # '^ban([^ip])( .*)?': 60 # 60 秒 /ban 冷却时间。 -# 注意:如果你有一个以 ^ 开头的命令,那么你可以使用反斜杠 (\) 对其进行转义。 例如 \^命令:123 +# 注意:如果你有一个以 ^ 开头的命令,那么你可以使用反斜杠 (\) 对其进行转义。 例如 \^命令:123 command-cooldowns: # feed: 100 # /feed 命令有 100 秒的冷却时间 # '*': 5 # 所有命令的冷却时间为 5 秒 @@ -671,44 +671,44 @@ command-cooldowns: # 命令冷却时间是否应该在服务器关闭后持续存在 command-cooldown-persistence: true -# NPC余额是否应该在余额排名功能中列出,例如/balancetop。 +# NPC余额是否应该在余额排名功能中列出,例如/balancetop。 # NPC 余额可以包含 FactionsUUID 插件中的派系等功能。 npcs-in-balance-ranking: false # 玩家潜行时允许批量买卖标志。 应该是 /sell 命令 -# 当一个标志一次出售或购买一件物品并且玩家想要一次出售一堆时,这很有用。 +# 当一个标志一次出售或购买一件物品并且玩家想要一次出售一堆时,这很有用。 allow-bulk-buy-sell: true # 允许使用 /sell 命令出售具有自定义名称的物品。 # 这可能有助于防止玩家意外出售命名物品。 allow-selling-named-items: false -# 加入玩家的 MOTD 显示延迟,以毫秒为单位。 -# 如果 MOTD 命令或权限被禁用,这将无效。 +# 加入玩家的 MOTD 显示延迟,以毫秒为单位。 +# 如果 MOTD 命令或权限被禁用,这将无效。 # 这也可以设置为 -1 以完全禁用加入 MOTD。 delay-motd: 0 # 默认情况下应启用其补充确认命令的命令列表。 -# 默认为空,最新的有效命令列表见最新的源码config.yml。 +# 默认为空,最新的有效命令列表见最新的源码config.yml。 default-enabled-confirm-commands: #- 支付 pay #- 清库存 clearinventory -# 当玩家从监狱中获释后,Essentials 应该将他们传送到哪里? -# 你可以设置为“返回”让他们传送到他们入狱前的位置,“产卵”让他们 -# 传送生成,或“关闭”不让它们传送。 +# 当玩家从监狱中获释后,Essentials 应该将他们传送到哪里? +# 你可以设置为“返回”让他们传送到他们入狱前的位置,“产卵”让他们 +# 传送生成,或“关闭”不让它们传送。 teleport-when-freed: back # 是否只应在用户在线时计算入狱时间。 -# 如果为真,被监禁的玩家的时间只会在他们在线时减少。 +# 如果为真,被监禁的玩家的时间只会在他们在线时减少。 jail-online-time: false -# 设置超时时间,以秒为单位,玩家在请求被取消之前接受 tpa。 +# 设置超时时间,以秒为单位,玩家在请求被取消之前接受 tpa。 # 设置为 0 表示没有超时。 tpa-accept-cancellation: 120 # 任何玩家可以同时挂起的 tpa 请求的最大数量。 -# 一旦超过此阈值,旧请求将立即超时。 +# 一旦超过此阈值,旧请求将立即超时。 # 默认为 5。 tpa-max-requests: 5 @@ -716,20 +716,20 @@ tpa-max-requests: 5 allow-direct-hat: true # 允许游戏内玩家在运行 /broadcastworld 时指定一个世界。 -# 如果为 false,则在游戏中运行 /broadcastworld 将始终向玩家的当前世界发送消息。 -# 这不会影响从控制台运行命令,这里总是需要一个世界。 +# 如果为 false,则在游戏中运行 /broadcastworld 将始终向玩家的当前世界发送消息。 +# 这不会影响从控制台运行命令,这里总是需要一个世界。 allow-world-in-broadcastworld: true -# 认为水方块是“安全的”,因此允许玩家传送 +# 认为水方块是“安全的”,因此允许玩家传送 # 使用 /home 或 /spawn 等命令到被占用的位置 # 按水块 is-water-safe: false # usermap 是否应该在保存用户名之前尝试清理用户名? -# 如果你使用 Minecraft 中国,你应该只将其更改为 false。 +# 如果你使用 Minecraft 中国,你应该只将其更改为 false。 safe-usermap-names: true -# 当命令块执行命令时,Essentials 是否应该输出日志? +# 当命令块执行命令时,Essentials 是否应该输出日志? # 示例:,, 处的 CommandBlock 发出服务器命令:/ log-command-block-commands: true @@ -737,8 +737,8 @@ log-command-block-commands: true max-projectile-speed: 8 # EssentialsX 是否应该检查更新? -# 如果设置为 true,EssentialsX 将在新版本可用时显示通知。 -# 这使用了公共 GitHub API,不会发送或存储任何识别信息。 +# 如果设置为 true,EssentialsX 将在新版本可用时显示通知。 +# 这使用了公共 GitHub API,不会发送或存储任何识别信息。 update-check: true ############################################################ @@ -748,7 +748,7 @@ update-check: true ############################################################ # # 允许玩家在白天设置他床所在的位置为家. -#此设置在 Minecraft 1.15+ 中无效,因为 Minecraft 将始终允许玩家在白天设置他们的床位。 +#此设置在 Minecraft 1.15+ 中无效,因为 Minecraft 将始终允许玩家在白天设置他们的床位。 update-bed-at-daytime: true # 设置为 true 将给予玩家跨越世界传送回家的权限 @@ -768,18 +768,18 @@ sethome-multiple: vip: 5 staff: 10 -# 在这个例子中,拥有 'essentials.sethome.multiple' 和 'essentials.sethome.multiple.vip' 的人将拥有 5 个家。 -# 请记住,他们必须拥有两个权限节点才能设置多个家。 +# 在这个例子中,拥有 'essentials.sethome.multiple' 和 'essentials.sethome.multiple.vip' 的人将拥有 5 个家。 +# 请记住,他们必须拥有两个权限节点才能设置多个家。 # 控制玩家是否需要“essentials.home.compass”权限才能指向 # 玩家第一个家的指南针。 # -# 将此保留为 false 将保留 Essentials 的原始行为,即始终 +# 将此保留为 false 将保留 Essentials 的原始行为,即始终 # 改变指南针的方向指向他们的第一个家。 compass-towards-home-perm: false -# 如果没有设置家,你想让玩家去出生点吗? -# 如果设置为false,玩家在没有设置家的情况下运行/home时不会被传送。 +# 如果没有设置家,你想让玩家去出生点吗? +# 如果设置为false,玩家在没有设置家的情况下运行/home时不会被传送。 spawn-if-no-home: true # 是否应该要求玩家确认他们试图覆盖的房屋? @@ -812,7 +812,7 @@ command-costs: currency-symbol: '$' # 启用此选项以使货币符号出现在金额的末尾而不是开头。 -# 例如,欧元符号通常出现在当前金额之后。 +# 例如,欧元符号通常出现在当前金额之后。 currency-symbol-suffix: false # 设置一个玩家所允许拥有的最大钱数. @@ -827,7 +827,7 @@ min-money: -10000 economy-log-enabled: false # 启用此功能还可以通过 Vault 记录来自其他插件的所有事务。 -# 这可能会导致经济日志快速填满,因此只能用于测试目的! +# 这可能会导致经济日志快速填满,因此只能用于测试目的! economy-log-update-enabled: false # 在 /pay 中最低的可使用金额。 @@ -838,16 +838,16 @@ pay-excludes-ignore-list: false # 余额小于或等于 $0 的用户是否应该显示在 balance-top 中。 # 设置为 false 将不会在 balance-top 中显示余额 <= 0 的人。 -# 注意:重新加载配置后,你还必须运行“/baltop force”才能显示 +# 注意:重新加载配置后,你还必须运行“/baltop force”才能显示 show-zero-baltop: true -# 货币格式,不包括符号。 有关符号配置,请参阅currency-symbol-format-locale。 +# 货币格式,不包括符号。 有关符号配置,请参阅currency-symbol-format-locale。 # # "#,##0.00" 是大多数国家/地区显示货币的方式。 #currency-format: "#,##0.00" # 格式化货币符号。 一些语言环境使用 , 和 . 可以互换。 -# 由于 Minecraft 字体渲染错误,某些格式无法在游戏中正确显示。 +# 由于 Minecraft 字体渲染错误,某些格式无法在游戏中正确显示。 # # For 1.234,50 use de-DE # For 1,234.50 use en-US @@ -875,8 +875,8 @@ hide-permissionless-help: true # +------------------------------------------------------+ # ############################################################ -# 你需要安装 EssentialsChat.jar!.还有,不推荐ess全家桶,用别的聊天插件吧 -# 有关详细信息,请参阅 https://essentialsx.net/wiki/Module-Breakdown.html。 +# 你需要安装 EssentialsChat.jar!.还有,不推荐ess全家桶,用别的聊天插件吧 +# 有关详细信息,请参阅 https://essentialsx.net/wiki/Module-Breakdown.html。 chat: @@ -895,11 +895,11 @@ chat: # {MESSAGE} - 聊天消息的内容。 # {USERNAME} - 发件人的用户名。 # {DISPLAYNAME} - 发件人的显示名称。 - # {NICKNAME} - 发件人的 Essentials 昵称。 如果发件人没有昵称,则显示用户名。 - # {PREFIX} - 发件人的前缀,由权限插件提供。 - # {SUFFIX} - 发件人的后缀,由权限插件提供。 - # {GROUP} - 发件人的主要组名,由权限插件提供。 - # {WORLD} - 发送者当前世界的世界别名。 有关详细信息,请参阅下面的世界别名部分。 + # {NICKNAME} - 发件人的 Essentials 昵称。 如果发件人没有昵称,则显示用户名。 + # {PREFIX} - 发件人的前缀,由权限插件提供。 + # {SUFFIX} - 发件人的后缀,由权限插件提供。 + # {GROUP} - 发件人的主要组名,由权限插件提供。 + # {WORLD} - 发送者当前世界的世界别名。 有关详细信息,请参阅下面的世界别名部分。 # {WORLDNAME} - 发送者当前世界的全名。 # {SHORTWORLDNAME} - 发送者当前世界的第一个字符。 # {TEAMNAME} - 发件人的记分牌团队名称。 @@ -914,14 +914,14 @@ chat: # 默认值:'{WORLDNAME} {DISPLAYNAME}&7:&r {MESSAGE}' # 管理员:'{WORLDNAME} &c[{GROUP}]&r {DISPLAYNAME}&7:&c {MESSAGE}' - # 如果你使用组格式,请确保删除“#”以允许读取设置。 - # 注意:组名区分大小写,因此你必须将它们与你的权限插件匹配。 + # 如果你使用组格式,请确保删除“#”以允许读取设置。 + # 注意:组名区分大小写,因此你必须将它们与你的权限插件匹配。 # 你可以使用权限来控制玩家是否可以在聊天消息中使用格式化代码。 - # 有关更多信息,请参阅 https://essentialsx.net/wiki/Color-Permissions.html。 + # 有关更多信息,请参阅 https://essentialsx.net/wiki/Color-Permissions.html。 # 世界别名允许你用聊天格式中的不同名称替换世界名称。 - # 如果你使用世界别名,请确保删除开头的“#”以允许读取设置。 + # 如果你使用世界别名,请确保删除开头的“#”以允许读取设置。 world-aliases: # plots: "&dP&r" # creative: "&eC&r" @@ -1007,7 +1007,7 @@ protect: drowned: false # 防止哞菇被闪电击中时变色。 mooshroom: false - # 防止生成生物。 如果缺少一个生物,你可以按照以下格式添加它。 + # 防止生成生物。 如果缺少一个生物,你可以按照以下格式添加它。 spawn: creeper: false #阻止 爬行者 的生成 skeleton: false #阻止 骷髅 的生成 @@ -1155,34 +1155,34 @@ newbies: kit: tools # 我们应该使用什么优先级来处理重生? -# 将此设置为 none,如果你想要原版的重生。 +# 将此设置为 none,如果你想要原版的重生。 # 设置为 lowest, 如果你想使用 Multiverse 处理重生. # 设置为 high, 如果你想使用 EssentialsSpawn插件 处理重生. # 设置为 highest, 如果你想强制使用 EssentialsSpawn插件 处理重生. -# 注意:只有在服务器重新启动后,更改才会生效。 +# 注意:只有在服务器重新启动后,更改才会生效。 respawn-listener-priority: high # 我们应该使用什么优先级来处理加入服务器时的生成? # 请参阅 respawn-listener-priority 以获取可能的值。 # 注意:更改此设置可能会影响或破坏 spawn-on-join 功能。 -# 注意:只有在服务器重新启动后,更改才会生效。 +# 注意:只有在服务器重新启动后,更改才会生效。 spawn-join-listener-priority: high -# 当用户死亡时,他们应该在他们的第一个家或床上重生,而不是重生点? +# 当用户死亡时,他们应该在他们的第一个家或床上重生,而不是重生点? respawn-at-home: false -# 当用户死亡时,他们应该在他们的床上重生而不是重生点吗? -# respawn-at-home(上图)的值必须为true +# 当用户死亡时,他们应该在他们的床上重生而不是重生点吗? +# respawn-at-home(上图)的值必须为true respawn-at-home-bed: true -# 当用户死亡时,Essentials Spawn 是否应该尊重用户的重生锚点? +# 当用户死亡时,Essentials Spawn 是否应该尊重用户的重生锚点? respawn-at-anchor: false # 将所有加入的玩家传送到出生点 spawn-on-join: false # `guests` 的以下值表明组 `guests` 中的所有玩家在加入时都将被传送到出生点。 #spawn-on-join: 客人 -# 下面的列表值表明,组 `guests` 和 `admin` 中的所有玩家在加入时都将被传送到出生点。 +# 下面的列表值表明,组 `guests` 和 `admin` 中的所有玩家在加入时都将被传送到出生点。 #spawn-on-join: #- guests #- admin diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/kit.md b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/kit.md index 9aa93423e..a525a9f16 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/kit.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/kit.md @@ -15,7 +15,7 @@ sidebar_position: 5 他会将你背包中所有物品保存到这个 kit 礼包中 -值得一提的是,如果冷却写 -1 ,那么这个礼包只能被领取一次 +值得一提的是,如果冷却写 -1 ,那么这个礼包只能被领取一次 可用于制作新手礼包 @@ -35,7 +35,7 @@ sidebar_position: 5 ![](_images/kit_3.png) -是的,除了 `essentials.kit` 我们还需要给予 `essentials.kits.` 玩家才能领取 +是的,除了 `essentials.kit` 我们还需要给予 `essentials.kits.` 玩家才能领取 ## 删除礼包 @@ -51,7 +51,7 @@ sidebar_position: 5 ### kit 执行命令 -是的,你能在里面写命令 +是的,你能在里面写命令 ```yaml iloveyizhan: diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/warp.md b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/warp.md index 4cdba0c64..e0f668e02 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/warp.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/EssentialsX/warp.md @@ -37,6 +37,6 @@ sidebar_position: 6 ## 更多 -如果你想让玩家自行设置私有地标,公开地标,甚至导航到地标等 +如果你想让玩家自行设置私有地标,公开地标,甚至导航到地标等 或许你可以看看 [Waypoints](https://www.minebbs.com/resources/.9062) 插件 diff --git a/docs-java/process/plugin/ManageTool/BasicPlugins/delete.md b/docs-java/process/plugin/ManageTool/BasicPlugins/delete.md index 116526f6f..8084c86d5 100644 --- a/docs-java/process/plugin/ManageTool/BasicPlugins/delete.md +++ b/docs-java/process/plugin/ManageTool/BasicPlugins/delete.md @@ -5,14 +5,14 @@ sidebar_position: 3 # 删掉基础插件 -[CMI](./CMI/) 在拼命的加新功能,多而不精,插件变得臃肿不堪小白比较难上手 +[CMI](./CMI/) 在拼命的加新功能,多而不精,插件变得臃肿不堪小白比较难上手 -[EssentialsX](./EssentialsX/) 却在拼命追求稳定性,一点新功能不加的,现在随便个 tpa 插件都有点击聊天框信息同意传送的功能,他却没有,你还不能自己写 json 补 +[EssentialsX](./EssentialsX/) 却在拼命追求稳定性,一点新功能不加的,现在随便个 tpa 插件都有点击聊天框信息同意传送的功能,他却没有,你还不能自己写 json 补 -也许,是时候删除这俩玩意了 +也许,是时候删除这俩玩意了 -实际上,经济功能装个 [XConomy](../../Front-Plugin/XConomy.md) 足够了 +实际上,经济功能装个 [XConomy](../../Front-Plugin/XConomy.md) 足够了 -而对于 tpa,warp,home,back 等传送功能,或许你可以试试 [HuskHomes](https://www.spigotmc.org/resources/.83767/) +而对于 tpa,warp,home,back 等传送功能,或许你可以试试 [HuskHomes](https://www.spigotmc.org/resources/.83767/) CMI 的那些功能几乎都有可以平替的插件 diff --git a/docs-java/process/plugin/ManageTool/Permission/Group.md b/docs-java/process/plugin/ManageTool/Permission/Group.md index 362ac20dd..c18a2b729 100644 --- a/docs-java/process/plugin/ManageTool/Permission/Group.md +++ b/docs-java/process/plugin/ManageTool/Permission/Group.md @@ -5,26 +5,26 @@ sidebar_position: 3 # 权限组 -与其单独为每个玩家设置权限,我们可以将权限捆绑为一组,然后直接将一大堆权限一起给予玩家。 +与其单独为每个玩家设置权限,我们可以将权限捆绑为一组,然后直接将一大堆权限一起给予玩家。 -比如我想让狗蛋拥有 `essentials.fly` 的权限,我可以直接新建一个权限组并添加权限,然后将狗蛋设置到此权限组。 +比如我想让狗蛋拥有 `essentials.fly` 的权限,我可以直接新建一个权限组并添加权限,然后将狗蛋设置到此权限组。 首先让我们创建一个叫做 `NBplus` 的权限组。 -运行 `/luckperms creategroup NBplus` 命令,这会创建一个名叫 `NBplus` 的空权限组。 +运行 `/luckperms creategroup NBplus` 命令,这会创建一个名叫 `NBplus` 的空权限组。 -接下来,运行 `/luckperms group NBplus permission set essentials.fly true`,将 fly 的权限添加到权限组里。 +接下来,运行 `/luckperms group NBplus permission set essentials.fly true`,将 fly 的权限添加到权限组里。 -然后我们要把狗蛋加到这个权限组,运行 `/luckperms user GouDan parent add NBplus`。 +然后我们要把狗蛋加到这个权限组,运行 `/luckperms user GouDan parent add NBplus`。 -成功了,狗蛋现在能上天了! +成功了,狗蛋现在能上天了! -***默认权限组的权限有好多啊!我懒得重新加权限到新的权限组了,每次有更改还要一起改一大堆!怎么办?*** +***默认权限组的权限有好多啊!我懒得重新加权限到新的权限组了,每次有更改还要一起改一大堆!怎么办?*** 我们可以用到**继承**。 -运行 `/luckperms group NBplus parent add default`,这样就能让 NBplus 权限组继承所有默认权限组中的权限。 +运行 `/luckperms group NBplus parent add default`,这样就能让 NBplus 权限组继承所有默认权限组中的权限。 更多请查看:[Luckperms 中文教程](https://izzelaliz.gitbooks.io/luckperms-wiki/content/Usage.html) diff --git a/docs-java/process/plugin/ManageTool/Permission/Permission.md b/docs-java/process/plugin/ManageTool/Permission/Permission.md index 8462aab9c..0526e9690 100644 --- a/docs-java/process/plugin/ManageTool/Permission/Permission.md +++ b/docs-java/process/plugin/ManageTool/Permission/Permission.md @@ -20,9 +20,9 @@ sidebar_position: 1 `GitHub` https://github.com/LuckPerms/LuckPerms -`文档(英文)` https://luckperms.net/wiki/Home +`文档(英文)` https://luckperms.net/wiki/Home -`文档(中文)` https://snowcutieowo.github.io/LuckPerms/ +`文档(中文)` https://snowcutieowo.github.io/LuckPerms/ `插件百科` https://mineplugin.org/LuckPerms @@ -55,6 +55,6 @@ sidebar_position: 1 ## 存储方式 -LuckPerms 可以使用 yml 文件存储数据,易于编辑,但我推荐使用 h2(默认) 或者连接数据库使用 +LuckPerms 可以使用 yml 文件存储数据,易于编辑,但我推荐使用 h2(默认) 或者连接数据库使用 -如果你想更改存储方式,可见:https://snowcutieowo.github.io/LuckPerms/#/configuration?id=storage-method +如果你想更改存储方式,可见:https://snowcutieowo.github.io/LuckPerms/#/configuration?id=storage-method diff --git a/docs-java/process/plugin/ManageTool/Permission/Tips.md b/docs-java/process/plugin/ManageTool/Permission/Tips.md index 3ab701199..497404e62 100644 --- a/docs-java/process/plugin/ManageTool/Permission/Tips.md +++ b/docs-java/process/plugin/ManageTool/Permission/Tips.md @@ -14,7 +14,7 @@ lp editor ## 日志 -可以实时打印权限检查情况,方便排查问题。 +可以实时打印权限检查情况,方便排查问题。 ``` lp verbose [filter] @@ -25,7 +25,7 @@ lp verbose [filter] - `on` - 开启权限检查。 - `off` - 关闭权限检查。 - `record` - 记录日志。 -- `paste` - 停止记录,显示日志。 +- `paste` - 停止记录,显示日志。 #### on @@ -48,7 +48,7 @@ lp verbose on !Luck & !anticheat ## 执行命令 -让玩家执行命令,并打印此命令的权限检查。 +让玩家执行命令,并打印此命令的权限检查。 ``` /lp verbose command diff --git a/docs-java/process/plugin/ManageTool/Permission/WhatIsPermission.md b/docs-java/process/plugin/ManageTool/Permission/WhatIsPermission.md index b903ee944..c9d848950 100644 --- a/docs-java/process/plugin/ManageTool/Permission/WhatIsPermission.md +++ b/docs-java/process/plugin/ManageTool/Permission/WhatIsPermission.md @@ -5,11 +5,11 @@ sidebar_position: 2 # 什么是权限 -举个栗子,你想要执行 Essentials 插件的tpa命令,那么你需要 `essentials.tpa` 这个权限。 +举个栗子,你想要执行 Essentials 插件的tpa命令,那么你需要 `essentials.tpa` 这个权限。 :::note -大佬们,想要这个起作用当然需要装 Essentials 插件了... +大佬们,想要这个起作用当然需要装 Essentials 插件了... ::: @@ -19,7 +19,7 @@ sidebar_position: 2 形如 xxx.xxx 或者 xxx.xxx.xxx 。 -比如上面提到的 essentials.tpa ,我们称为权限节点。 +比如上面提到的 essentials.tpa ,我们称为权限节点。 (当然你别认为所有 xxx.xxx 都是权限节点)。 @@ -36,17 +36,17 @@ sidebar_position: 2 |false | 禁止 | |undefined | 未设置 | -**true 和 false 好理解,那 undefined 是什么?** +**true 和 false 好理解,那 undefined 是什么?** undefined 表示权限未在 LuckPerms 中明确设置。 这通常意味着它的默认值是 false 。 -在极少数情况下,插件会将未定义的权限默认为 true,在这种情况下,你需要将其明确设置为 false 。 +在极少数情况下,插件会将未定义的权限默认为 true,在这种情况下,你需要将其明确设置为 false 。 ### op 是不是拥有所有权限?? 当然了!不过你可以给这名 op 玩家明确设置某权限是 false 。 -不过不建议直接给管理人员 op ,分职其责给特定的权限就好。 +不过不建议直接给管理人员 op ,分职其责给特定的权限就好。 diff --git a/docs-java/process/plugin/ManageTool/Permission/meta.md b/docs-java/process/plugin/ManageTool/Permission/meta.md index b4b8cfae5..56fb51eca 100644 --- a/docs-java/process/plugin/ManageTool/Permission/meta.md +++ b/docs-java/process/plugin/ManageTool/Permission/meta.md @@ -5,11 +5,11 @@ sidebar_position: 6 # 数据存储 -这里简单介绍下 LuckPerms 一些可以用在储存数据方面的功能,以及一些简单的案例 +这里简单介绍下 LuckPerms 一些可以用在储存数据方面的功能,以及一些简单的案例 ## 权限 -实际上,你可以给予用户和组 *不存在的*(没有被其他插件使用)的权限节点 +实际上,你可以给予用户和组 *不存在的*(没有被其他插件使用)的权限节点 这些权限有着和其他权限一样的性质 @@ -23,7 +23,7 @@ sidebar_position: 6 子图标的 material 改成 air 就可以做点击后消失了 -案例(TrMenu): +案例(TrMenu): ```yaml 'A': display: @@ -37,7 +37,7 @@ sidebar_position: 6 - 'refresh: A' ``` -用权限的好处是适用性广,不过对op不太方便,因为op所有权限都是true嘛 +用权限的好处是适用性广,不过对op不太方便,因为op所有权限都是true嘛 ## 限时权限 @@ -53,7 +53,7 @@ sidebar_position: 6 ### 按钮冷却 -案例(TrMenu): +案例(TrMenu): ![](_images/memory_4.png) @@ -83,7 +83,7 @@ sidebar_position: 6 ### 限时vip -除了限时权限,还有限时权限组可以使用 +除了限时权限,还有限时权限组可以使用 图中执行了三次相同的命令 @@ -91,7 +91,7 @@ sidebar_position: 6 :::tip -值得一提的是,如果命令中最后没有加 **accumulate** ,他会把权限时间重置到你给的数字而不是累加时间 +值得一提的是,如果命令中最后没有加 **accumulate** ,他会把权限时间重置到你给的数字而不是累加时间 下表来自:[此处](https://snowcutieowo.github.io/LuckPerms/#/command-usage.permission?id=lp-usergroup-lt%e7%8e%a9%e5%ae%b6%e6%9d%83%e9%99%90%e7%bb%84gt-permission-settemp-lt%e6%9d%83%e9%99%90gt-lttruefalsegt-lt%e6%97%b6%e9%97%b4gt-%e6%96%bd%e5%8a%a0%e6%a8%a1%e5%bc%8f-%e4%b8%8a%e4%b8%8b%e6%96%87) @@ -99,17 +99,17 @@ sidebar_position: 6 | ---------- | -------------------------------------------- | | accumulate | 新加入的权限时长会叠加在已有的时长之上 | | replace | 保留持续时间最长的权限节点 | -| deny | 不接受重复的限时权限节点,若有则拒绝执行命令 | +| deny | 不接受重复的限时权限节点,若有则拒绝执行命令 | ::: ### 每日刷新 -原理:假如现在是13点,那么距离今天结束就是 24h - 13h = 11h +原理:假如现在是13点,那么距离今天结束就是 24h - 13h = 11h -我给玩家 11h 的限时权限,今日24点一过就是无权限状态,那些判断此权限的东西就变成每日刷新了 +我给玩家 11h 的限时权限,今日24点一过就是无权限状态,那些判断此权限的东西就变成每日刷新了 -实现(kether): +实现(kether): 搓命令: ```yaml @@ -131,7 +131,7 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math - `%math_0_60-{server_time_mm}%` // 分 - `%math_0_60-{server_time_ss}%` // 秒 -不过我不太喜欢这种做法,另一种: [案例 | 变量|每日刷新](../../../../advance/kether/variable.md#每日刷新) +不过我不太喜欢这种做法,另一种: [案例 | 变量|每日刷新](../../../../advance/kether/variable.md#每日刷新) ### 倒计时 @@ -155,7 +155,7 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math ![](_images/memory_10.png) -此方法op不受影响,但适用性没权限广,因为一些插件只支持判断权限 +此方法op不受影响,但适用性没权限广,因为一些插件只支持判断权限 :::warning @@ -167,7 +167,7 @@ command inline "lp user {{sender}} permission settemp nitwikit.demo true {{math ::: -但是使用lp的命令设置meta要写一大串不说,还会输出log +但是使用lp的命令设置meta要写一大串不说,还会输出log 好在 [Vulpecula](https://github.com/Lanscarlos/Vulpecula) 的 [memory](https://www.yuque.com/lanscarlos/vulpecula-wiki-v2/og93eqlegc0geyfi) 动作可以用来设置meta diff --git a/docs-java/process/plugin/ManageTool/PluginManagement/PlugManX.md b/docs-java/process/plugin/ManageTool/PluginManagement/PlugManX.md index 5858e1477..21d23ede5 100644 --- a/docs-java/process/plugin/ManageTool/PluginManagement/PlugManX.md +++ b/docs-java/process/plugin/ManageTool/PluginManagement/PlugManX.md @@ -8,11 +8,11 @@ sidebar_position: 2 `SpigotMC` https://www.spigotmc.org/resources/.88135/ -`GitHub(旧)` https://github.com/ryan-clancy/PlugMan +`GitHub(旧)` https://github.com/ryan-clancy/PlugMan -`GitHub(新)` https://github.com/Test-Account666/PlugManX +`GitHub(新)` https://github.com/Test-Account666/PlugManX -`Bukkit(旧)` https://dev.bukkit.org/projects/plugman +`Bukkit(旧)` https://dev.bukkit.org/projects/plugman ::: diff --git a/docs-java/process/plugin/ManageTool/PluginManagement/Plugin Portal.md b/docs-java/process/plugin/ManageTool/PluginManagement/Plugin Portal.md index d119b1e0f..5d17fbbc9 100644 --- a/docs-java/process/plugin/ManageTool/PluginManagement/Plugin Portal.md +++ b/docs-java/process/plugin/ManageTool/PluginManagement/Plugin Portal.md @@ -12,4 +12,4 @@ sidebar_position: 4 ::: -以前发现的一个妙妙插件,可以在游戏内下载和安装插件。 \ No newline at end of file +以前发现的一个妙妙插件,可以在游戏内下载和安装插件。 \ No newline at end of file diff --git a/docs-java/process/plugin/ManageTool/PluginManagement/PluginManagement.md b/docs-java/process/plugin/ManageTool/PluginManagement/PluginManagement.md index 6548af6ec..3ad1d41f8 100644 --- a/docs-java/process/plugin/ManageTool/PluginManagement/PluginManagement.md +++ b/docs-java/process/plugin/ManageTool/PluginManagement/PluginManagement.md @@ -6,6 +6,6 @@ sidebar_position: 4 # 插件管理 -插件管理指可以在服务器已经开启时加载,卸载其他插件的插件。 +插件管理指可以在服务器已经开启时加载,卸载其他插件的插件。 -如果可以的话,不要使用此类插件来加载其他插件,多数插件并不支持热重载,即使热重载了也容易出问题。 +如果可以的话,不要使用此类插件来加载其他插件,多数插件并不支持热重载,即使热重载了也容易出问题。 diff --git a/docs-java/process/plugin/ManageTool/PluginManagement/Yum.md b/docs-java/process/plugin/ManageTool/PluginManagement/Yum.md index 5d72688d2..8333266e3 100644 --- a/docs-java/process/plugin/ManageTool/PluginManagement/Yum.md +++ b/docs-java/process/plugin/ManageTool/PluginManagement/Yum.md @@ -4,6 +4,6 @@ sidebar_position: 1 # Yum -连作者自己都骂的垃圾插件,不要使用。 +连作者自己都骂的垃圾插件,不要使用。 并且此系列插件还被爆后门:https://lezi.yizhan.wiki/article/%E5%9C%9F%E7%9A%87%E5%B8%9D%E5%96%B5 diff --git a/docs-java/process/plugin/ManageTool/ResourcePackManagement/ItemsAdder.md b/docs-java/process/plugin/ManageTool/ResourcePackManagement/ItemsAdder.md index 6615ad469..05e38ec2f 100644 --- a/docs-java/process/plugin/ManageTool/ResourcePackManagement/ItemsAdder.md +++ b/docs-java/process/plugin/ManageTool/ResourcePackManagement/ItemsAdder.md @@ -8,35 +8,35 @@ sidebar_position: 2 `SpigotMC` https://www.spigotmc.org/resources/.73355/ -`GitHub(主页)` https://github.com/ItemsAdder +`GitHub(主页)` https://github.com/ItemsAdder -`GitHub(可以反馈BUG)` https://github.com/PluginBugs/Issues-ItemsAdder +`GitHub(可以反馈BUG)` https://github.com/PluginBugs/Issues-ItemsAdder -`文档(英文)` https://itemsadder.devs.beer/ +`文档(英文)` https://itemsadder.devs.beer/ -`文档(中文)` https://itemsadder.devs.beer/v/chinese +`文档(中文)` https://itemsadder.devs.beer/v/chinese -`文档(非官方中文)` https://docs.superiormc.cn/v/itemsadder-doc +`文档(非官方中文)` https://docs.superiormc.cn/v/itemsadder-doc ::: -这是一个付费闭源插件,GitHub上并没有上传插件本体。 +这是一个付费闭源插件,GitHub上并没有上传插件本体。 ``` 【IA入门指南.新手必看.简洁版】 - -第一步:IA是基于原版的材质包框架所开发的插件,所以遵守Mojang制定的材质包规范, 如果你会材质包开发甚至不需要用到IA。如果你在使用IA时连CMD,命名空间,着色器,JSON这些最基本的内容都不知道请恶补以下内容: +第一步:IA是基于原版的材质包框架所开发的插件,所以遵守Mojang制定的材质包规范, 如果你会材质包开发甚至不需要用到IA。如果你在使用IA时连CMD,命名空间,着色器,JSON这些最基本的内容都不知道请恶补以下内容: https://zhangshenxing.gitee.io/vanillamodtutorial/#%E8%B5%84%E6%BA%90%E5%8C%85 - 第二步: -使用IA官方WIKI并结合原版材质包开发产出内容,但是请注意IA内有大量无用功能和屎山代码,所以将IA当作一个打包器是最优解的选择 +使用IA官方WIKI并结合原版材质包开发产出内容,但是请注意IA内有大量无用功能和屎山代码,所以将IA当作一个打包器是最优解的选择 https://itemsadder.devs.beer - -第三步:如何让你的服务器更加劣质的办法(仅我个人而言,如果你看的很不舒服我很抱歉,如果你要对号入座那就是你是对的) -1. 大量声明空间引用乱的一批,这类服务器要不就是腐竹技术过低,要不就是海鲜缝合包或盗用,连国外9美刀的付费端都不如 -2. 材质混素严重,在16px-128px漂浮不定,没有自己的主美体系 -3. 乱加插件,看啥加啥,导致服务器变成性能答辩,这种服开不了几个月就跑路 -4. 在高版本非特殊需求还在使用单端开发,没有采用最基本的群组框架 +第三步:如何让你的服务器更加劣质的办法(仅我个人而言,如果你看的很不舒服我很抱歉,如果你要对号入座那就是你是对的) +1. 大量声明空间引用乱的一批,这类服务器要不就是腐竹技术过低,要不就是海鲜缝合包或盗用,连国外9美刀的付费端都不如 +2. 材质混素严重,在16px-128px漂浮不定,没有自己的主美体系 +3. 乱加插件,看啥加啥,导致服务器变成性能答辩,这种服开不了几个月就跑路 +4. 在高版本非特殊需求还在使用单端开发,没有采用最基本的群组框架 ————来自ia群 群公告 ``` diff --git a/docs-java/process/plugin/ManageTool/ResourcePackManagement/Oraxen.md b/docs-java/process/plugin/ManageTool/ResourcePackManagement/Oraxen.md index 3e2b2fd2f..5c9977b2c 100644 --- a/docs-java/process/plugin/ManageTool/ResourcePackManagement/Oraxen.md +++ b/docs-java/process/plugin/ManageTool/ResourcePackManagement/Oraxen.md @@ -10,12 +10,12 @@ sidebar_position: 3 `GitHub` https://github.com/oraxen/oraxen -`文档(英文)` https://docs.oraxen.com/ +`文档(英文)` https://docs.oraxen.com/ -`文档(非官方中文)` https://3504743864.gitbook.io/oraxen-wiki +`文档(非官方中文)` https://3504743864.gitbook.io/oraxen-wiki ::: -和 ItemsAdder 同类型的插件,付费开源,不想花钱可以自己构建。 +和 ItemsAdder 同类型的插件,付费开源,不想花钱可以自己构建。 -如果你没有能力手搓出你想要的东西(如对资源包非常了解,能自己写代码补Oraxen没有的功能)那就去花钱用旁边的 ItemsAdder +如果你没有能力手搓出你想要的东西(如对资源包非常了解,能自己写代码补Oraxen没有的功能)那就去花钱用旁边的 ItemsAdder diff --git a/docs-java/process/plugin/ManageTool/ResourcePackManagement/ResourcePackManagement.md b/docs-java/process/plugin/ManageTool/ResourcePackManagement/ResourcePackManagement.md index 090568153..ab5604e53 100644 --- a/docs-java/process/plugin/ManageTool/ResourcePackManagement/ResourcePackManagement.md +++ b/docs-java/process/plugin/ManageTool/ResourcePackManagement/ResourcePackManagement.md @@ -6,17 +6,17 @@ sidebar_position: 6 # 概览 -现在,资源包(或者说材质包)能做的事越来越多,在高版本已经有了一个新的服务器类别。 +现在,资源包(或者说材质包)能做的事越来越多,在高版本已经有了一个新的服务器类别。 很多人用 **IA 服** 来代指这一类服务器。 :::note -因为 ItemsAdder(ia)太有名于是所有类似服务器都被称为 ia 服了 +因为 ItemsAdder(ia)太有名于是所有类似服务器都被称为 ia 服了 ::: -在这类服务器中,你可以用原版客户端只安装服务器发来的资源包而看到: +在这类服务器中,你可以用原版客户端只安装服务器发来的资源包而看到:
点击展开 @@ -53,11 +53,11 @@ sidebar_position: 6
-社区都发展成这样了,某些人还以为资源包 “必须修改原版物品” “生存一得到原版东西就露馅” +社区都发展成这样了,某些人还以为资源包 “必须修改原版物品” “生存一得到原版东西就露馅” 还有不少半吊子都不如的人以为做到折叠中的效果必须要 ia 或某某特定插件。 -这都是原版资源包能做到的东西,ia 只是一个打包器,你有能力甚至可以自己手搓材质包。 +这都是原版资源包能做到的东西,ia 只是一个打包器,你有能力甚至可以自己手搓材质包。 # 材质包相关工具 @@ -83,7 +83,7 @@ https://www.blockbench.net/plugins/minecraft_title_generator ## 2D head -2D的和占四格的头颅,可以使用皮肤 +2D的和占四格的头颅,可以使用皮肤 ![](_images/head.png) @@ -99,6 +99,6 @@ https://www.minebbs.com/resources/emojis-itemsadder.9045/ ## PackSquash -资源包压缩工具,**显著减小** 资源包的体积 +资源包压缩工具,**显著减小** 资源包的体积 https://github.com/ComunidadAylas/PackSquash diff --git a/docs-java/process/plugin/ManageTool/chat/Carbon.md b/docs-java/process/plugin/ManageTool/chat/Carbon.md index 6d3131498..2c15cf3bc 100644 --- a/docs-java/process/plugin/ManageTool/chat/Carbon.md +++ b/docs-java/process/plugin/ManageTool/chat/Carbon.md @@ -13,7 +13,7 @@ sidebar_position: 3 `GitHub` https://github.com/Hexaoxide/Carbon -`文档(英文)` https://github.com/Hexaoxide/Carbon/wiki +`文档(英文)` https://github.com/Hexaoxide/Carbon/wiki ::: diff --git a/docs-java/process/plugin/ManageTool/chat/HuskChat.md b/docs-java/process/plugin/ManageTool/chat/HuskChat.md index a4e5af7df..f803e9b48 100644 --- a/docs-java/process/plugin/ManageTool/chat/HuskChat.md +++ b/docs-java/process/plugin/ManageTool/chat/HuskChat.md @@ -15,7 +15,7 @@ sidebar_position: 2 `GitHub` https://github.com/WiIIiam278/HuskChat -`文档(英文)` https://william278.net/docs/HuskChat +`文档(英文)` https://william278.net/docs/HuskChat ::: diff --git a/docs-java/process/plugin/ManageTool/chat/TrChat.md b/docs-java/process/plugin/ManageTool/chat/TrChat.md index 374a97cc7..2a27fb28c 100644 --- a/docs-java/process/plugin/ManageTool/chat/TrChat.md +++ b/docs-java/process/plugin/ManageTool/chat/TrChat.md @@ -13,4 +13,4 @@ sidebar_position: 1 ::: -国人插件,一个功能强大的聊天插件 +国人插件,一个功能强大的聊天插件 diff --git a/docs-java/process/plugin/ManageTool/chat/chat.md b/docs-java/process/plugin/ManageTool/chat/chat.md index 0175a2935..2f3e21ee7 100644 --- a/docs-java/process/plugin/ManageTool/chat/chat.md +++ b/docs-java/process/plugin/ManageTool/chat/chat.md @@ -6,4 +6,4 @@ sidebar_position: 7 # 概览 -修改玩家聊天信息的插件,例如增加聊天前缀后缀,聊天称号,物品展示,脏话屏蔽,彩色聊天等功能 +修改玩家聊天信息的插件,例如增加聊天前缀后缀,聊天称号,物品展示,脏话屏蔽,彩色聊天等功能 diff --git a/docs-java/process/plugin/WorldManagement/Multiverse.md b/docs-java/process/plugin/WorldManagement/Multiverse.md index c4bc5fce1..769fd789b 100644 --- a/docs-java/process/plugin/WorldManagement/Multiverse.md +++ b/docs-java/process/plugin/WorldManagement/Multiverse.md @@ -19,9 +19,9 @@ sidebar_label: 多世界 - Multiverse ::: -老牌多世界管理插件,可以新建,删除,导入世界(维度)等 +老牌多世界管理插件,可以新建,删除,导入世界(维度)等 -值得一提的是,在 [GitHub releases](https://github.com/Multiverse/Multiverse-Core/releases) 上的版本比在 SpigotMC 上能下载到的版本要新 +值得一提的是,在 [GitHub releases](https://github.com/Multiverse/Multiverse-Core/releases) 上的版本比在 SpigotMC 上能下载到的版本要新 # 附属 @@ -40,9 +40,9 @@ sidebar_label: 多世界 - Multiverse [Multiverse-Portals](https://github.com/Multiverse/Multiverse-Portals/wiki) 是类似于 Multiverse 1 类型的传送门。 -如果你使用过它的话,你可能很想要本插件。 +如果你使用过它的话,你可能很想要本插件。 -它们的大部分是一样的,只是有一些新特性。 +它们的大部分是一样的,只是有一些新特性。 本插件能够让你: @@ -52,16 +52,16 @@ sidebar_label: 多世界 - Multiverse ## Multiverse-NetherPortals -[Multiverse-NetherPortals](https://github.com/Multiverse/Multiverse-NetherPortals/wiki) 起到了 Multiverse 1 插件中 splike 的作用,但改善了许多。 +[Multiverse-NetherPortals](https://github.com/Multiverse/Multiverse-NetherPortals/wiki) 起到了 Multiverse 1 插件中 splike 的作用,但改善了许多。 -本插件是为了能够让你们有更加真实的体验而设计,允许玩家创建能够带他们去指定世界的地狱传送门。 +本插件是为了能够让你们有更加真实的体验而设计,允许玩家创建能够带他们去指定世界的地狱传送门。 -所有在 X 世界的传送门都会去 Y 世界,但是这可以在游戏中配置。 +所有在 X 世界的传送门都会去 Y 世界,但是这可以在游戏中配置。 本插件能够让你: - 自定义某个世界中的地狱传送门指向哪个世界 -- 自动连接有特殊命名模型的世界(如 WORLD 和 WORLD_nether) +- 自动连接有特殊命名模型的世界(如 WORLD 和 WORLD_nether) 取自 [插件百科 | Multiverse-Core#附属插件](https://mineplugin.org/Multiverse-Core#%E9%99%84%E5%B1%9E%E6%8F%92%E4%BB%B6) @@ -69,16 +69,16 @@ sidebar_label: 多世界 - Multiverse > Fix issue where special chars cause PatternSyntaxException leading to a server crash. -Multiverse-Core [4.3.1](https://www.spigotmc.org/resources/multiverse-core.390/update?update=424085) 版本已经修复此问题,请更新到最新版 +Multiverse-Core [4.3.1](https://www.spigotmc.org/resources/multiverse-core.390/update?update=424085) 版本已经修复此问题,请更新到最新版 -如果你因为某些原因不能更新到最新版,可以使用修复补丁 +如果你因为某些原因不能更新到最新版,可以使用修复补丁 -补丁(只需安装其中一个): +补丁(只需安装其中一个): - [Multiverse-Patches](https://www.spigotmc.org/resources/.96390) - [Multiverse-Core Fix](https://www.spigotmc.org/resources/.70218) -# 常见问答(FAQ) +# 常见问答(FAQ) **此部分来自插件百科** @@ -106,11 +106,11 @@ https://mineplugin.org/Multiverse-Core#%E6%88%91%E4%B8%8D%E8%83%BD%E8%AF%BB%E5%8 https://mineplugin.org/Multiverse-Core#%E6%9C%89%E8%83%BD%E5%A4%9F%E5%88%86%E5%89%B2%E4%B8%8D%E5%90%8C%E4%B8%96%E7%95%8C%E7%89%A9%E5%93%81%E6%A0%8F%E7%9A%84%E6%96%B9%E6%B3%95%E5%90%97%EF%BC%9F -## 在使用 MultiInv 后,某个玩家会在某个特殊的世界一直死亡! +## 在使用 MultiInv 后,某个玩家会在某个特殊的世界一直死亡! https://mineplugin.org/Multiverse-Core#%E5%9C%A8%E4%BD%BF%E7%94%A8_MultiInv_%E5%90%8E%EF%BC%8C%E6%9F%90%E4%B8%AA%E7%8E%A9%E5%AE%B6%E4%BC%9A%E5%9C%A8%E6%9F%90%E4%B8%AA%E7%89%B9%E6%AE%8A%E7%9A%84%E4%B8%96%E7%95%8C%E4%B8%80%E7%9B%B4%E6%AD%BB%E4%BA%A1%EF%BC%81 -## Multiverse 的消息提示因为不安全,不能带我去某个地方!我知道它是安全的! +## Multiverse 的消息提示因为不安全,不能带我去某个地方!我知道它是安全的! https://mineplugin.org/Multiverse-Core#Multiverse_%E7%9A%84%E6%B6%88%E6%81%AF%E6%8F%90%E7%A4%BA%E5%9B%A0%E4%B8%BA%E4%B8%8D%E5%AE%89%E5%85%A8%EF%BC%8C%E4%B8%8D%E8%83%BD%E5%B8%A6%E6%88%91%E5%8E%BB%E6%9F%90%E4%B8%AA%E5%9C%B0%E6%96%B9%EF%BC%81%E6%88%91%E7%9F%A5%E9%81%93%E5%AE%83%E6%98%AF%E5%AE%89%E5%85%A8%E7%9A%84%EF%BC%81 @@ -122,7 +122,7 @@ https://mineplugin.org/Multiverse-Core#1.8%EF%BC%9A%E6%80%8E%E4%B9%88%E8%AE%A9_M https://mineplugin.org/Multiverse-Core#%E4%B8%BA%E4%BB%80%E4%B9%88%E4%BD%A0%E4%B8%8D%E7%94%A8%E7%AE%80%E5%8D%95%E4%BA%9B%E7%9A%84%E4%BC%A0%E9%80%81%E6%9D%83%E9%99%90%E5%91%A2%EF%BC%9F -## 当玩家首次登入时,出生点的位置不对! +## 当玩家首次登入时,出生点的位置不对! https://mineplugin.org/Multiverse-Core#%E5%BD%93%E7%8E%A9%E5%AE%B6%E9%A6%96%E6%AC%A1%E7%99%BB%E5%85%A5%E6%97%B6%EF%BC%8C%E5%87%BA%E7%94%9F%E7%82%B9%E7%9A%84%E4%BD%8D%E7%BD%AE%E4%B8%8D%E5%AF%B9%EF%BC%81 @@ -191,8 +191,8 @@ worlds: ``` 解释: -- worlds - 插件检索的YAML节点,不用管 -- world - 主世界的默认本名(可在server.properties修改) +- worlds - 插件检索的YAML节点,不用管 +- world - 主世界的默认本名(可在server.properties修改) - world_nether - 地狱的默认本名 - world_the_end - 末地的默认本名 - alias - 这个世界的别名 @@ -215,6 +215,6 @@ worlds: 将变量 `%multiverse_world_alias%` 写到你想展示世界别名的插件配置里 -当然,这个插件要支持使用papi变量 +当然,这个插件要支持使用papi变量 接着 **重载那个插件** diff --git a/docs-java/process/plugin/WorldManagement/WorldGuard.md b/docs-java/process/plugin/WorldManagement/WorldGuard.md index fb1648973..31d56a37e 100644 --- a/docs-java/process/plugin/WorldManagement/WorldGuard.md +++ b/docs-java/process/plugin/WorldManagement/WorldGuard.md @@ -7,9 +7,9 @@ sidebar_label: 保护 - WorldGuard :::info -`文档(英文)` https://worldguard.enginehub.org/en/latest/index.html +`文档(英文)` https://worldguard.enginehub.org/en/latest/index.html -`文档(中文)` https://snowcutieowo.github.io/WorldGuard +`文档(中文)` https://snowcutieowo.github.io/WorldGuard `Bukkit` https://dev.bukkit.org/projects/worldguard diff --git a/docs-java/process/plugin/config.md b/docs-java/process/plugin/config.md index 8605425b0..1982b6b7b 100644 --- a/docs-java/process/plugin/config.md +++ b/docs-java/process/plugin/config.md @@ -5,15 +5,15 @@ sidebar_position: 2 # 配置插件 -插件的配置文件一般在 `/plugins/插件名字/` 文件夹中,常见的配置文件一般是 `config.yml` 。 +插件的配置文件一般在 `/plugins/插件名字/` 文件夹中,常见的配置文件一般是 `config.yml` 。 -> 插件一般会使用 **Yaml** 作为配置文件格式,建议先学习 [Yaml](/docs-java/advance/YAML/YAML.md) 语法。 +> 插件一般会使用 **Yaml** 作为配置文件格式,建议先学习 [Yaml](/docs-java/advance/YAML/YAML.md) 语法。 -我们在开始前所做的准备工作中,推荐你安装任意一款推荐的文档编辑软件:请查看[文本编辑器](https://yizhan.wiki/NitWikit/preparation/text-editor) +我们在开始前所做的准备工作中,推荐你安装任意一款推荐的文档编辑软件:请查看[文本编辑器](https://yizhan.wiki/NitWikit/preparation/text-editor) -如果你是 Windows ,现在让我们双击 .yml 文件就可以开始修改配置文件了! +如果你是 Windows ,现在让我们双击 .yml 文件就可以开始修改配置文件了! -如果你是 Linux ,并且认为这很难操作,可以通过 SFTP 下载到自己的电脑上编辑。 +如果你是 Linux ,并且认为这很难操作,可以通过 SFTP 下载到自己的电脑上编辑。 ## 如何汉化插件? @@ -22,16 +22,16 @@ sidebar_position: 2
插件自己动♂ -像 Luckperms、 EssentialX 等,只要你的服务器和客户端的语言为简体中文,它们会自动设置为中文。 +像 Luckperms、 EssentialX 等,只要你的服务器和客户端的语言为简体中文,它们会自动设置为中文。
配置文件改语言 -像 HoloMobHealth、 Gsit 等,你可以在插件配置文件中(一般在 config.yml 中)找到 Language , lang 等字眼。 +像 HoloMobHealth、 Gsit 等,你可以在插件配置文件中(一般在 config.yml 中)找到 Language , lang 等字眼。 -然后把语言项改成 zhcn、 chinese 等,具体应该写什么这地方。插件配置的注释可能提到,没提到那得靠你自己寻找了。 +然后把语言项改成 zhcn、 chinese 等,具体应该写什么这地方。插件配置的注释可能提到,没提到那得靠你自己寻找了。 **有时**可以用压缩软件打开插件 jar 文件找找: @@ -42,21 +42,21 @@ sidebar_position: 2
自行汉化 -有些插件不提供别的语言,只提供一个语言文件 如 lang.yml、 message.yml 。 +有些插件不提供别的语言,只提供一个语言文件 如 lang.yml、 message.yml 。 -就需要你自行汉化里面的内容了,去一些论坛翻翻也许能找到别人分享的汉化。 +就需要你自行汉化里面的内容了,去一些论坛翻翻也许能找到别人分享的汉化。 ### GPT汉化? 口令参考 ``` -请将我给出的以 yml 格式存储的 Minecraft 插件的配置文件汉化,且不改变本身的可执行性,其中被两个 % 包裹的为变量请不要翻译,请翻译时不要带翻译腔,而是要翻译得自然、流畅和地道,使用优美和高雅的表达方式并代入 Minecraft 游戏内进行翻译,翻译后请以 markdown 代码块的格式发送 +请将我给出的以 yml 格式存储的 Minecraft 插件的配置文件汉化,且不改变本身的可执行性,其中被两个 % 包裹的为变量请不要翻译,请翻译时不要带翻译腔,而是要翻译得自然、流畅和地道,使用优美和高雅的表达方式并代入 Minecraft 游戏内进行翻译,翻译后请以 markdown 代码块的格式发送 ``` -备注:本教程并非推荐服主通过 GPT 等 AI 进行机翻,我们不对服主利用 AI 产生文本的行为及其内容负责。 +备注:本教程并非推荐服主通过 GPT 等 AI 进行机翻,我们不对服主利用 AI 产生文本的行为及其内容负责。 -使用 GPT 可能会被视作一种经济但欠缺考虑的行为,若有能力或财力充足,请尽力贡献人工翻译或自行翻译,万不可直接使用机翻,轻则翻译错误,重则使插件读取不了 config 。 +使用 GPT 可能会被视作一种经济但欠缺考虑的行为,若有能力或财力充足,请尽力贡献人工翻译或自行翻译,万不可直接使用机翻,轻则翻译错误,重则使插件读取不了 config 。
@@ -65,6 +65,6 @@ sidebar_position: 2 如果你要用的这个插件没有以上所提到的所有情况... -他**可能**把你要改的语言直接写死在代码里了,你要自己去改代码... +他**可能**把你要改的语言直接写死在代码里了,你要自己去改代码...
diff --git a/docs-java/process/plugin/game/Nova.md b/docs-java/process/plugin/game/Nova.md index 57f584d04..a17292759 100644 --- a/docs-java/process/plugin/game/Nova.md +++ b/docs-java/process/plugin/game/Nova.md @@ -7,7 +7,7 @@ sidebar_position: 2 :::info -`GitHub(官方)` https://github.com/xenondevs/Nova +`GitHub(官方)` https://github.com/xenondevs/Nova `Modrinth` https://modrinth.com/plugin/nova-framework @@ -15,12 +15,12 @@ sidebar_position: 2 ::: -一个新兴的玩法插件,旨在插件端利用材质包还原 mod 的游戏效果 +一个新兴的玩法插件,旨在插件端利用材质包还原 mod 的游戏效果 -启用插件时要下载的依赖非常多,甚至他要把 mc 原版资源包下载下来以备使用 +启用插件时要下载的依赖非常多,甚至他要把 mc 原版资源包下载下来以备使用 下载完成后 Nova 的插件文件夹有一个多 G -建议下载依赖时候挂梯,不然就国内的网络环境嘛 +建议下载依赖时候挂梯,不然就国内的网络环境嘛 -建议看 MineBBS 搬运贴,图文介绍 + addon 指路 +建议看 MineBBS 搬运贴,图文介绍 + addon 指路 diff --git a/docs-java/process/plugin/game/Slimefun/AutoUpdate.md b/docs-java/process/plugin/game/Slimefun/AutoUpdate.md index 235b2b019..05eb87e75 100644 --- a/docs-java/process/plugin/game/Slimefun/AutoUpdate.md +++ b/docs-java/process/plugin/game/Slimefun/AutoUpdate.md @@ -28,13 +28,13 @@ options: 将 location 设置为 cn -(建议)将 lang 设置为 zh_CN +(建议)将 lang 设置为 zh_CN 下方配置供你参考 ``` # Whether to enable auto update module (see updater.yml for details) -# 是否开启自动更新模块(详见 updater.yml) +# 是否开启自动更新模块(详见 updater.yml) auto-update: true # Universal Updater Settings @@ -46,7 +46,7 @@ updater: # Available options: global, cn # 可用选项: global, cn # global - (Default) The website is deployed by Cloudflare Pages. https://builds.guizhanss.com/ - # global - (默认)使用 Cloudflare Pages 部署到全球范围的站点。 https://builds.guizhanss.com/ + # global - (默认)使用 Cloudflare Pages 部署到全球范围的站点。 https://builds.guizhanss.com/ # cn - The website is a mirror website deployed by Tencent Cloud in China mainland. https://builds.guizhanss.cn/ # cn - 在中国大陆使用腾讯云搭建的镜像站点。 https://builds.guizhanss.cn/ location: cn diff --git a/docs-java/process/plugin/game/Slimefun/ResourcePackForSlimefun.md b/docs-java/process/plugin/game/Slimefun/ResourcePackForSlimefun.md index 3c4a4bf4b..fa61a57b8 100644 --- a/docs-java/process/plugin/game/Slimefun/ResourcePackForSlimefun.md +++ b/docs-java/process/plugin/game/Slimefun/ResourcePackForSlimefun.md @@ -5,6 +5,6 @@ sidebar_position: 3 # 粘液资源包 -鬼斩的粘液科技材质(不再更新):https://ybw0014.net/post/guizhancraft-resource-pack +鬼斩的粘液科技材质(不再更新):https://ybw0014.net/post/guizhancraft-resource-pack -建议使用(还提供了ia支持):https://github.com/xMikux/Slimefun-Resourcepack/blob/main/.github/README.zh-cn.md +建议使用(还提供了ia支持):https://github.com/xMikux/Slimefun-Resourcepack/blob/main/.github/README.zh-cn.md diff --git a/docs-java/process/plugin/game/Slimefun/Slimefun.md b/docs-java/process/plugin/game/Slimefun/Slimefun.md index e9d21deb7..0e786fca0 100644 --- a/docs-java/process/plugin/game/Slimefun/Slimefun.md +++ b/docs-java/process/plugin/game/Slimefun/Slimefun.md @@ -8,9 +8,9 @@ sidebar_position: 1 :::info -`GitHub(官方)` https://github.com/Slimefun/Slimefun4 +`GitHub(官方)` https://github.com/Slimefun/Slimefun4 -`GitHub(中文)` https://github.com/SlimefunGuguProject/Slimefun4 +`GitHub(中文)` https://github.com/SlimefunGuguProject/Slimefun4 `非官方中文wiki` https://slimefun-wiki.guizhanss.cn/ @@ -20,4 +20,4 @@ sidebar_position: 1 ::: -一个玩法插件,为你的服务器提供类似 mod 的体验和更低的 TPS(大嘘)。 +一个玩法插件,为你的服务器提供类似 mod 的体验和更低的 TPS(大嘘)。 diff --git a/docs-java/process/plugin/other/Holograms/DecentHolograms.md b/docs-java/process/plugin/other/Holograms/DecentHolograms.md index e21a5b297..4f70402de 100644 --- a/docs-java/process/plugin/other/Holograms/DecentHolograms.md +++ b/docs-java/process/plugin/other/Holograms/DecentHolograms.md @@ -6,7 +6,7 @@ sidebar_position: 2 :::info -`文档(英文)` https://wiki.decentholograms.eu/ +`文档(英文)` https://wiki.decentholograms.eu/ `SpigotMC` https://www.spigotmc.org/resources/.96927/ @@ -20,14 +20,14 @@ sidebar_position: 2 ::: -目前主流的全息图插件,简称 dh 。 +目前主流的全息图插件,简称 dh 。 -纯发包,不占服务器资源。 +纯发包,不占服务器资源。 -可以自定义全息图动效,还能展示各种实体和物品。 +可以自定义全息图动效,还能展示各种实体和物品。 -支持交互,甚至可以用它来做菜单。 +支持交互,甚至可以用它来做菜单。 -详细请看 [wiki](https://wiki.decentholograms.eu/),比较好上手 +详细请看 [wiki](https://wiki.decentholograms.eu/),比较好上手 内核汉化请看上方 MineBBS 帖子 diff --git a/docs-java/process/plugin/other/Holograms/Holograms.md b/docs-java/process/plugin/other/Holograms/Holograms.md index 8ce316794..c66dc6a18 100644 --- a/docs-java/process/plugin/other/Holograms/Holograms.md +++ b/docs-java/process/plugin/other/Holograms/Holograms.md @@ -6,10 +6,10 @@ sidebar_position: 1 # 啥是全息图? -如图,图中的悬浮字,还有包括展示的实体和物品,都算全息图。 +如图,图中的悬浮字,还有包括展示的实体和物品,都算全息图。 > 全息图也被很多人称作浮空字 ![](_images/holo.png) -全息图用途很广,很多服务器都会使用全息图插件。 \ No newline at end of file +全息图用途很广,很多服务器都会使用全息图插件。 \ No newline at end of file diff --git a/docs-java/process/plugin/other/Holograms/HolographicDisplays.md b/docs-java/process/plugin/other/Holograms/HolographicDisplays.md index a690464fd..201cbe6c5 100644 --- a/docs-java/process/plugin/other/Holograms/HolographicDisplays.md +++ b/docs-java/process/plugin/other/Holograms/HolographicDisplays.md @@ -6,7 +6,7 @@ sidebar_position: 3 :::info -`文档(英文)` https://filoghost.me/docs/holographic-displays +`文档(英文)` https://filoghost.me/docs/holographic-displays `Bukkit` https://dev.bukkit.org/projects/holographic-displays @@ -14,10 +14,10 @@ sidebar_position: 3 ::: -老牌全息图插件,不过咱建议用 [DecentHolograms](DecentHolograms.md) +老牌全息图插件,不过咱建议用 [DecentHolograms](DecentHolograms.md) # 停更 ![](_images/hd已经归档.png) -目前项目已经归档,这意味着此仓库将不会再有新的代码提交 +目前项目已经归档,这意味着此仓库将不会再有新的代码提交 diff --git a/docs-java/process/plugin/other/Login/Authme.md b/docs-java/process/plugin/other/Login/Authme.md index 886b2bb22..25e9801ab 100644 --- a/docs-java/process/plugin/other/Login/Authme.md +++ b/docs-java/process/plugin/other/Login/Authme.md @@ -12,9 +12,9 @@ sidebar_position: 2 `ci构建站` https://ci.codemc.io/job/AuthMe/job/AuthMeReloaded/ -`GitHub(原版)` https://github.com/AuthMe/AuthMeReloaded +`GitHub(原版)` https://github.com/AuthMe/AuthMeReloaded -`GitHub(电棍的fork)` https://github.com/HaHaWTH/AuthMeReReloaded +`GitHub(电棍的fork)` https://github.com/HaHaWTH/AuthMeReReloaded `插件百科` https://mineplugin.org/Authme @@ -22,9 +22,9 @@ sidebar_position: 2 老牌登录插件 Authme -建议使用[电棍的fork](https://github.com/HaHaWTH/AuthMeReReloaded),这是它的[中文介绍](https://github.com/HaHaWTH/AuthMeReReloaded/blob/master/README-zh.md) +建议使用[电棍的fork](https://github.com/HaHaWTH/AuthMeReReloaded),这是它的[中文介绍](https://github.com/HaHaWTH/AuthMeReReloaded/blob/master/README-zh.md) -如果你也使用了跨服端,请在跨服端安装对应的 AuthMe +如果你也使用了跨服端,请在跨服端安装对应的 AuthMe [AuthMeBungee](https://www.spigotmc.org/resources/.50219/) diff --git a/docs-java/process/plugin/other/Login/CatSeedLogin.md b/docs-java/process/plugin/other/Login/CatSeedLogin.md index 82de70908..a6875b79c 100644 --- a/docs-java/process/plugin/other/Login/CatSeedLogin.md +++ b/docs-java/process/plugin/other/Login/CatSeedLogin.md @@ -9,16 +9,16 @@ sidebar_position: 3 ## 长期不更新 -猫种登录最后更新于两年前,Authme的官方版本最后有效更新在8个月前,而Authmerereload最后更新于昨天(写下这段话的时候是昨天) +猫种登录最后更新于两年前,Authme的官方版本最后有效更新在8个月前,而Authmerereload最后更新于昨天(写下这段话的时候是昨天) ## Bug众多 -Catseedlogin曾在多个服主交流群爆出绕过和崩服漏洞服,甚至导致多个服务器OP被盗 +Catseedlogin曾在多个服主交流群爆出绕过和崩服漏洞服,甚至导致多个服务器OP被盗 ## 功能少 -你用过就知道,相较于Authmerereload功能真是特别少,数据库支持少,然后还有一大堆少 +你用过就知道,相较于Authmerereload功能真是特别少,数据库支持少,然后还有一大堆少 ## 性能差 -垃圾玩意儿,不用想都知道,几个人同时进入都可以爆炸 +垃圾玩意儿,不用想都知道,几个人同时进入都可以爆炸 diff --git a/docs-java/process/plugin/other/MOTD/MiniMOTD.md b/docs-java/process/plugin/other/MOTD/MiniMOTD.md index bfe29b7c2..2e9435c53 100644 --- a/docs-java/process/plugin/other/MOTD/MiniMOTD.md +++ b/docs-java/process/plugin/other/MOTD/MiniMOTD.md @@ -6,7 +6,7 @@ sidebar_position: 2 :::info -`文档(英文)` https://github.com/jpenilla/MiniMOTD/wiki +`文档(英文)` https://github.com/jpenilla/MiniMOTD/wiki `SpigotMC` https://www.spigotmc.org/resources/.81254/ diff --git a/docs-java/process/plugin/other/Menu/ChestCommands.md b/docs-java/process/plugin/other/Menu/ChestCommands.md index 5483a1e65..20f146f0d 100644 --- a/docs-java/process/plugin/other/Menu/ChestCommands.md +++ b/docs-java/process/plugin/other/Menu/ChestCommands.md @@ -6,9 +6,9 @@ sidebar_position: 2 :::info -`文档(英文)` https://filoghost.me/docs/chest-commands +`文档(英文)` https://filoghost.me/docs/chest-commands -`文档(中文)` https://postyizhan.github.io/Chest-Commands-Wiki-CN/intro +`文档(中文)` https://postyizhan.github.io/Chest-Commands-Wiki-CN/intro `Bukkit` https://dev.bukkit.org/projects/chest-commands @@ -16,6 +16,6 @@ sidebar_position: 2 ::: -1.7 1.8用用就算了,再高的版本就别用ChestCommands了,功能太少了 +1.7 1.8用用就算了,再高的版本就别用ChestCommands了,功能太少了 ~~甚至高版本还用ChestCommands可以用来定性判断此人的开服水平~~ diff --git a/docs-java/process/plugin/other/Menu/DeluxeMenus.md b/docs-java/process/plugin/other/Menu/DeluxeMenus.md index dff1315bc..14f23d9bb 100644 --- a/docs-java/process/plugin/other/Menu/DeluxeMenus.md +++ b/docs-java/process/plugin/other/Menu/DeluxeMenus.md @@ -6,7 +6,7 @@ sidebar_position: 3 :::info -`文档(英文)` https://wiki.helpch.at/helpchat-plugins/deluxemenus +`文档(英文)` https://wiki.helpch.at/helpchat-plugins/deluxemenus `SpigotMC` https://www.spigotmc.org/resources/deluxemenus.11734/ diff --git a/docs-java/process/plugin/other/Menu/Invero.md b/docs-java/process/plugin/other/Menu/Invero.md index b1afad9bf..f5e12df6b 100644 --- a/docs-java/process/plugin/other/Menu/Invero.md +++ b/docs-java/process/plugin/other/Menu/Invero.md @@ -8,7 +8,7 @@ Invero 俗称 TrMenu v4 **目前**还不推荐使用 -文档不全,部分案例付费入群获取,但是目前不对外出售 +文档不全,部分案例付费入群获取,但是目前不对外出售 ~~别人备份的源码 1.0.3版本 https://github.com/inrhor/Invero~~ 已经删除 @@ -16,7 +16,7 @@ Invero 俗称 TrMenu v4 ~~文档 https://legacy.invero.fining.io/~~ -文档地址改了,我就不放新地址了 +文档地址改了,我就不放新地址了 ## 案例 @@ -73,7 +73,7 @@ items: '1': head: stone name: '菜单语境' - # 这只是临时的,在菜单关闭后就会消失 + # 这只是临时的,在菜单关闭后就会消失 action: context set awa to 1 tell context get awa @@ -81,7 +81,7 @@ items: '2': head: stone name: '玩家持久变量' - # 持久的,关闭菜单也不会消失 + # 持久的,关闭菜单也不会消失 # 单一个体玩家的独立持久变量 # 有点像是papi @@ -175,7 +175,7 @@ icons: ::: -不想写,以后再说8,你可以先照着trm那边去学 +不想写,以后再说8,你可以先照着trm那边去学 #### 以物易物 diff --git a/docs-java/process/plugin/other/Menu/Menu.md b/docs-java/process/plugin/other/Menu/Menu.md index 5db1706ae..eb489b32a 100644 --- a/docs-java/process/plugin/other/Menu/Menu.md +++ b/docs-java/process/plugin/other/Menu/Menu.md @@ -12,6 +12,6 @@ ChestCommands < DuluxeMenus < TrMenu # 不要问有没有可视化编辑器 -自己照着文档,用文本编辑器写就行了 +自己照着文档,用文本编辑器写就行了 在一些群里问有没有可视化编辑器是要被笑话的 diff --git a/docs-java/process/plugin/other/Menu/TrMenu.md b/docs-java/process/plugin/other/Menu/TrMenu.md index 177635bee..9b05b8b77 100644 --- a/docs-java/process/plugin/other/Menu/TrMenu.md +++ b/docs-java/process/plugin/other/Menu/TrMenu.md @@ -4,13 +4,13 @@ sidebar_position: 4 # TrMenu -一个功能强大的菜单插件,国人插件。 +一个功能强大的菜单插件,国人插件。 ![](_images/trm一定要看wiki呐.jpg) ## TrMenu v2 -早已停更,不推荐使用 +早已停更,不推荐使用 :::info @@ -24,15 +24,15 @@ sidebar_position: 4 :::info -`文档(新)` https://hhhhhy.gitbook.io/trmenu-v3 +`文档(新)` https://hhhhhy.gitbook.io/trmenu-v3 -`文档(旧)` https://trmenu.trixey.cc/ +`文档(旧)` https://trmenu.trixey.cc/ `如何支持1.8` https://hhhhhy.gitbook.io/trmenu-v3/appendix/v3-guide#datasource.yml-dui-yu-1.8-fu-wu-duan -`GitHub(不推荐,已停止维护)` https://github.com/TrPlugins/TrMenu/tree/stable/v3 +`GitHub(不推荐,已停止维护)` https://github.com/TrPlugins/TrMenu/tree/stable/v3 -`GitHub(推荐,社区维护)` https://github.com/Dreeam-qwq/TrMenu +`GitHub(推荐,社区维护)` https://github.com/Dreeam-qwq/TrMenu `vscode插件-trm语法提示` https://marketplace.visualstudio.com/items?itemName=hhhhhy.trmenu-helper @@ -136,7 +136,7 @@ https://hhhhhy.gitbook.io/trmenu-v3/usage/shortcuts 据作者所说重启服务器会丢数据 -不过这些配置主要是用来学习的,不会有人直接cv过去用吧 +不过这些配置主要是用来学习的,不会有人直接cv过去用吧 ### 商店 @@ -167,7 +167,7 @@ https://hhhhhy.gitbook.io/trmenu-v3/usage/shortcuts - 'papi %checkitem_remove_mat:diamond,amt:2%' - 'papi %checkitem_give_mat:emerald,amt:3%' deny: - - 'tell inline "物品不够,你有{{papi %checkitem_amount_mat:diamond,amt:2%}}个,还差{{math 2 - papi %checkitem_amount_mat:diamond,amt:2%}}个"' + - 'tell inline "物品不够,你有{{papi %checkitem_amount_mat:diamond,amt:2%}}个,还差{{math 2 - papi %checkitem_amount_mat:diamond,amt:2%}}个"' '写法2': display: name: '两个钻石换三个绿宝石' @@ -176,7 +176,7 @@ https://hhhhhy.gitbook.io/trmenu-v3/usage/shortcuts - if papi %checkitem_mat:diamond,amt:2% then { papi %checkitem_remove_mat:diamond,amt:2% papi %checkitem_give_mat:emerald,amt:3% - } else tell inline "物品不够,你有{{papi %checkitem_amount_mat:diamond,amt:2%}}个,还差{{math 2 - papi %checkitem_amount_mat:diamond,amt:2%}}个" + } else tell inline "物品不够,你有{{papi %checkitem_amount_mat:diamond,amt:2%}}个,还差{{math 2 - papi %checkitem_amount_mat:diamond,amt:2%}}个" ``` #### 购买 @@ -192,7 +192,7 @@ https://hhhhhy.gitbook.io/trmenu-v3/usage/shortcuts - 'take-money: 10' - 'papi %checkitem_give_mat:emerald,amt:3%' deny: - - tell inline "钱不够,你有{{papi %vault_eco_balance%}}块,还差{{math 10 - papi %vault_eco_balance%}}块" + - tell inline "钱不够,你有{{papi %vault_eco_balance%}}块,还差{{math 10 - papi %vault_eco_balance%}}块" '写法2': display: name: '10块钱买2个钻石' @@ -201,7 +201,7 @@ https://hhhhhy.gitbook.io/trmenu-v3/usage/shortcuts - if money 10 then { command inline"money take {{player name}} 10" papi %checkitem_give_mat:emerald,amt:3% - } else tell inline "钱不够,你有{{papi %vault_eco_balance%}}块,还差{{math 10 - papi %vault_eco_balance%}}块" + } else tell inline "钱不够,你有{{papi %vault_eco_balance%}}块,还差{{math 10 - papi %vault_eco_balance%}}块" ``` #### 个人限购 @@ -217,7 +217,7 @@ https://hhhhhy.gitbook.io/trmenu-v3/usage/shortcuts ```yaml 'C': display: - name: '10块钱买2个钻石(限购20个)' + name: '10块钱买2个钻石(限购20个)' material: stone icons: - condition: meta set KEY to 限购数据1 @@ -234,7 +234,7 @@ https://hhhhhy.gitbook.io/trmenu-v3/usage/shortcuts # 给货 - papi %checkitem_give_mat:emerald,amt:3% deny: - - tell inline 钱不够,你有{{papi %vault_eco_balance%}}块,还差{{math papi %trmenu_meta_单价% - papi %vault_eco_balance%}}块 {condition=not money meta get 单价} + - tell inline 钱不够,你有{{papi %vault_eco_balance%}}块,还差{{math papi %trmenu_meta_单价% - papi %vault_eco_balance%}}块 {condition=not money meta get 单价} - tell inline 限购次数用完了 {condition=check data get meta get KEY == 0} ``` @@ -246,11 +246,11 @@ https://hhhhhy.gitbook.io/trmenu-v3/usage/shortcuts #### 出售 -和上面的购买几乎一样的逻辑,自己去学 CheckItem 然后把 give 改成 remove +和上面的购买几乎一样的逻辑,自己去学 CheckItem 然后把 give 改成 remove #### 个人限售 -和上面的个人限售几乎一样的逻辑,自己去学 +和上面的个人限售几乎一样的逻辑,自己去学 #### 全服限售 diff --git a/docs-java/process/plugin/other/Menu/demo/inv-称号系统.yml b/docs-java/process/plugin/other/Menu/demo/inv-称号系统.yml index 0685b11ea..5d04254fd 100644 --- a/docs-java/process/plugin/other/Menu/demo/inv-称号系统.yml +++ b/docs-java/process/plugin/other/Menu/demo/inv-称号系统.yml @@ -44,7 +44,7 @@ generator: output: enhancedLore: true material: bedrock - name: '&c&l判断错误,请联系管理' + name: '&c&l判断错误,请联系管理' sub: - if: check element source == mc material: '{{element mat}}' diff --git a/docs-java/process/plugin/other/Menu/demo/trmv3-每日签到.yml b/docs-java/process/plugin/other/Menu/demo/trmv3-每日签到.yml index 72ae565af..736c772f4 100644 --- a/docs-java/process/plugin/other/Menu/demo/trmv3-每日签到.yml +++ b/docs-java/process/plugin/other/Menu/demo/trmv3-每日签到.yml @@ -31,7 +31,7 @@ Events: - 'setargs: %server_time_M% %server_time_d% %player_name% %server_time_H% %server_time_m%' - condition: 'check papi *%trmenu_data_签到重置节点% != papi *%server_time_M%' actions: - - 'tell: &a检测到你是本月首次签到,正在准备数据...' + - 'tell: &a检测到你是本月首次签到,正在准备数据...' - 'set-data: 签到重置节点 %server_time_M%' - 'set-data: 签到01 0;签到02 0;签到03 0;签到04 0;签到05 0;签到06 0;签到07 0;签到08 0;签到09 0;签到010 0' - 'set-data: 签到011 0;签到012 0;签到013 0;签到014 0;签到015 0;签到016 0;签到017 0;签到018 0;签到019 0;签到020 0' diff --git a/docs-java/process/plugin/other/Other.md b/docs-java/process/plugin/other/Other.md index dc894b625..5d1ef08ee 100644 --- a/docs-java/process/plugin/other/Other.md +++ b/docs-java/process/plugin/other/Other.md @@ -6,4 +6,4 @@ sidebar_position: 10 # 其他插件 -有一些插件不好分类,暂时先放在这里。 +有一些插件不好分类,暂时先放在这里。 diff --git a/docs-java/process/plugin/other/SkinsRestorer.md b/docs-java/process/plugin/other/SkinsRestorer.md index c5d152ab8..3d1252ad1 100644 --- a/docs-java/process/plugin/other/SkinsRestorer.md +++ b/docs-java/process/plugin/other/SkinsRestorer.md @@ -16,7 +16,7 @@ sidebar_label: 皮肤 - skinsRestorer 这个插件可以让盗版服务器使用皮肤。 -skinsRestorer 是一体化设计,没有 “单端版” “bc版” 之说,同一个jar文件可以直接扔 单端 / BungeeCord / Velocity 的 `plugins` 文件夹里加载 +skinsRestorer 是一体化设计,没有 “单端版” “bc版” 之说,同一个jar文件可以直接扔 单端 / BungeeCord / Velocity 的 `plugins` 文件夹里加载 :::tip diff --git a/docs-java/process/plugin/other/TAB&Scoreboard/TAB.md b/docs-java/process/plugin/other/TAB&Scoreboard/TAB.md index 763a93f49..690de2c95 100644 --- a/docs-java/process/plugin/other/TAB&Scoreboard/TAB.md +++ b/docs-java/process/plugin/other/TAB&Scoreboard/TAB.md @@ -6,9 +6,9 @@ sidebar_position: 2 :::info -`文档(英文)` https://github.com/NEZNAMY/TAB/wiki +`文档(英文)` https://github.com/NEZNAMY/TAB/wiki -`文档(中文)` https://docs.superiormc.cn/v/tab-wiki +`文档(中文)` https://docs.superiormc.cn/v/tab-wiki `SpigotMC` https://www.spigotmc.org/resources/tab-1-5-1-20-4.57806/ @@ -20,8 +20,8 @@ sidebar_position: 2 ::: -这个插件只是名字叫TAB,其实TAB、计分板、bossbar等功能它都有,但总是有不看配置文件和文档的大聪明... +这个插件只是名字叫TAB,其实TAB、计分板、bossbar等功能它都有,但总是有不看配置文件和文档的大聪明... TAB插件的计分板相关: https://docs.superiormc.cn/v/tab-wiki/core-features/ji-fen-ban -汉化(见贴内):https://www.minebbs.com/resources/tab-tab.9057/ +汉化(见贴内):https://www.minebbs.com/resources/tab-tab.9057/ diff --git a/docs-java/process/plugin/other/TAB&Scoreboard/Tab&Scoreboard.md b/docs-java/process/plugin/other/TAB&Scoreboard/Tab&Scoreboard.md index a6e5944a5..1cf3d14da 100644 --- a/docs-java/process/plugin/other/TAB&Scoreboard/Tab&Scoreboard.md +++ b/docs-java/process/plugin/other/TAB&Scoreboard/Tab&Scoreboard.md @@ -14,6 +14,6 @@ sidebar_position: 1 ## 啥是计分板? -计分板,积分板,都是指一个东西 +计分板,积分板,都是指一个东西 ![](_images/啥是计分板.png) diff --git a/docs-java/process/plugin/other/Via/MoreforVia.md b/docs-java/process/plugin/other/Via/MoreforVia.md index 5320afadf..20f23c159 100644 --- a/docs-java/process/plugin/other/Via/MoreforVia.md +++ b/docs-java/process/plugin/other/Via/MoreforVia.md @@ -8,23 +8,23 @@ sidebar_position: 5 ## AxSmithing -在 1.20 中,sb mojang 在锻造台上添加了一个新的 UI(也就是添加了锻造模板),如果你的 1.16-1.19 服务器运行 ViaBackwards,那么 1.20+ 玩家将无法打开锻造台,同样的事情在 1.20+ 服务器和 1.16-1.19 客户端上也是如此。 该插件还使 1.7-1.15 客户端能够打开锻造台。( 你可以恢复到旧的 1.16-1.19 锻造台,不需要下界升级锻造模板) +在 1.20 中,sb mojang 在锻造台上添加了一个新的 UI(也就是添加了锻造模板),如果你的 1.16-1.19 服务器运行 ViaBackwards,那么 1.20+ 玩家将无法打开锻造台,同样的事情在 1.20+ 服务器和 1.16-1.19 客户端上也是如此。 该插件还使 1.7-1.15 客户端能够打开锻造台。( 你可以恢复到旧的 1.16-1.19 锻造台,不需要下界升级锻造模板) [下载地址](https://github.com/ViaVersionAddons/AxSmithing) ## ViaChatFixer -在 Minecraft 1.11 中,最大消息长度已从 100 个字符增加到 256 个字符。因此,如果你的服务器低于 1.11、1.11 及更高版本 玩家的聊天消息将被剪成 100 个字符。 +在 Minecraft 1.11 中,最大消息长度已从 100 个字符增加到 256 个字符。因此,如果你的服务器低于 1.11、1.11 及更高版本 玩家的聊天消息将被剪成 100 个字符。 -此插件解决了这个问题,因此 1.11 及更高版本的玩家将能够发送长达 256 个字符的更长的聊天消息。 +此插件解决了这个问题,因此 1.11 及更高版本的玩家将能够发送长达 256 个字符的更长的聊天消息。 [下载地址](https://github.com/ViaVersionAddons/ViaChatFixer) ## ViaPotions -这个插件可以为极老版本翻译投掷的药水(由于本项目已经停更,所以不能翻译全部药水) +这个插件可以为极老版本翻译投掷的药水(由于本项目已经停更,所以不能翻译全部药水) -[项目地址](https://github.com/NotTolerable/ViaPotions),需要自行构建 +[项目地址](https://github.com/NotTolerable/ViaPotions),需要自行构建 ## ViaBackwards-Plus @@ -32,16 +32,16 @@ sidebar_position: 5 :::note -注意,这需要**客户端模组** Chime 才能正常工作 +注意,这需要**客户端模组** Chime 才能正常工作 -这个 Minecraft 包通过 ViaBackwards 插件增强了游戏体验,允许玩家使用较旧的客户端连接到较新的服务器。该包需要 Chime mod 才能工作,这有助于通过自定义名称或自定义 NBT 数据来识别物品,并为它们分配正确的模型和纹理。这个包最好的部分是,如果你在它上面放一个另一个资源包,它会从中加载纹理! +这个 Minecraft 包通过 ViaBackwards 插件增强了游戏体验,允许玩家使用较旧的客户端连接到较新的服务器。该包需要 Chime mod 才能工作,这有助于通过自定义名称或自定义 NBT 数据来识别物品,并为它们分配正确的模型和纹理。这个包最好的部分是,如果你在它上面放一个另一个资源包,它会从中加载纹理! ::: 使用教程: -1.在服务端安装资源包([下载地址](https://github.com/ViaVersionAddons/ViaBackwards-Plus)),你可以选择与你的已有资源包合并 -2.在客户端安装模组Chime([下载地址](https://modrinth.com/mod/chime)),然后连接到服务器!!! +1.在服务端安装资源包([下载地址](https://github.com/ViaVersionAddons/ViaBackwards-Plus)),你可以选择与你的已有资源包合并 +2.在客户端安装模组Chime([下载地址](https://modrinth.com/mod/chime)),然后连接到服务器!!! ## ViaAprilFools @@ -51,11 +51,11 @@ sidebar_position: 5 ## AutoViaUpdater -这个插件可以自动帮你更新Via,从而帮你摆脱了玩家骚扰 +这个插件可以自动帮你更新Via,从而帮你摆脱了玩家骚扰 功能: -* 与 Minecraft 1.8 及更高版本兼容 Spigot/Velocity/Bungeecord,包括最新版本。 +* 与 Minecraft 1.8 及更高版本兼容 Spigot/Velocity/Bungeecord,包括最新版本。 * 自动从 Jenkins 下载 ViaVersion、ViaBackwards、ViaRewind 和 ViaRewind-Legacy-Support 的成功版本及其开发版本。 * config.yml允许你指定要更新的 Via 以及是否使用每个插件的开发版本。 * /updatevias 命令强制更新检查器对所有 Via!(autoviaupdater.admin 权限!) diff --git a/docs-java/process/plugin/other/Via/Via.md b/docs-java/process/plugin/other/Via/Via.md index ac58cb4f9..41ae8cc30 100644 --- a/docs-java/process/plugin/other/Via/Via.md +++ b/docs-java/process/plugin/other/Via/Via.md @@ -6,17 +6,17 @@ sidebar_position: 4 # 什么是跨版本 -跨版本就是可以让不同于服务器版本的客户端版本进入服务器,比如服务器版本为 1.20.1,安装跨版本之后可以让 1.19.4 进入服务器 +跨版本就是可以让不同于服务器版本的客户端版本进入服务器,比如服务器版本为 1.20.1,安装跨版本之后可以让 1.19.4 进入服务器 :::danger -跨版本不适合模组服,代理端,Leaves!!会出很多问题!! +跨版本不适合模组服,代理端,Leaves!!会出很多问题!! ::: :::danger -跨版本不宜太大,除非你有能力使低版本玩家获得更好的游戏体验(最简单的例子:1.17 以下的玩家一进入 1.17+服务器的 y 小于 0,就会疯狂回弹,严重影响游戏体验) +跨版本不宜太大,除非你有能力使低版本玩家获得更好的游戏体验(最简单的例子:1.17 以下的玩家一进入 1.17+服务器的 y 小于 0,就会疯狂回弹,严重影响游戏体验) ::: @@ -26,9 +26,9 @@ sidebar_position: 4 ViaVersion+ViaBackwards:1.9-最新 -ViaRewind:1.7-1.8(进入高版本服务器) +ViaRewind:1.7-1.8(进入高版本服务器) -外置版本(ViaProxy)(本篇文档不会讲到)支持以下版本进入服务器 +外置版本(ViaProxy)(本篇文档不会讲到)支持以下版本进入服务器 ## 支持的服务器 @@ -36,15 +36,15 @@ ViaRewind:1.7-1.8(进入高版本服务器) ViaVersion+ViaBackwards+ViaRewind -这三个支持的服务器是1.17~1.21(Via*插件剔除了Java8支持,需要在[Via官方构建站](https://ci.viaversion.com)获取支持Java8的1.8~1.21插件) +这三个支持的服务器是1.17~1.21(Via*插件剔除了Java8支持,需要在[Via官方构建站](https://ci.viaversion.com)获取支持Java8的1.8~1.21插件) -### 独立版(ViaProxy) +### 独立版(ViaProxy) - Release (1.0.0 - 1.20.5) - Beta (b1.0 - b1.8.1) - Alpha (a1.0.15 - a1.2.6) - Classic (c0.0.15 - c0.30 包含 [CPE](https://wiki.vg/Classic_Protocol_Extension)) -- 愚人节快照 (3D Shareware, 20w14infinite) +- 愚人节快照 (3D Shareware, 20w14infinite) - 战斗测试快照 (Combat Test 8c) - 基岩版服务器 1.20.70 ([某些功能缺失](https://github.com/RaphiMC/ViaBedrock#features)) @@ -53,9 +53,9 @@ ViaVersion+ViaBackwards+ViaRewind - Release (1.7.2 - 1.21) - 基岩版 (需要[Geyser 插件](https://geysermc.org/download)) -你没看错,ViaProxy 可以让 1.20.4 客户端进入 Classic 版本的服务器(后者大概发布于十年前), +你没看错,ViaProxy 可以让 1.20.4 客户端进入 Classic 版本的服务器(后者大概发布于十年前), -也可以让一个 JAVA 版玩家进入基岩版服务器,或者基岩版玩家进入 JAVA 版服务器! +也可以让一个 JAVA 版玩家进入基岩版服务器,或者基岩版玩家进入 JAVA 版服务器! ## 笨蛋脚本 @@ -67,40 +67,40 @@ ViaVersion+ViaBackwards+ViaRewind [Via 套件选择](https://jo0001.github.io/ViaSetup/?lang=en) -### 用高版本进入低版本服务器,可用高版本的物品吗? +### 用高版本进入低版本服务器,可用高版本的物品吗? -会用材质差不多的低版本物品替换显示,但享受不到大部分高版本物品功能 +会用材质差不多的低版本物品替换显示,但享受不到大部分高版本物品功能 ### 低版本显示不了高版本的材质怎么办? -原版插件不支持,但是可以通过手段绕过后面会讲(仅支持 1.16+) +原版插件不支持,但是可以通过手段绕过后面会讲(仅支持 1.16+) -### 如果我拥有代理端,我应该将 Via 安装到哪里? +### 如果我拥有代理端,我应该将 Via 安装到哪里? -Bungeecord、Velocity 和各种 Minecraft 服务端均可以安装 Via。但如果你有反作弊、反假人等, +Bungeecord、Velocity 和各种 Minecraft 服务端均可以安装 Via。但如果你有反作弊、反假人等, -对数据包进行大量操作的插件,后端服务器获取的玩家版本为代理端的版本,并非玩家客户端版本, +对数据包进行大量操作的插件,后端服务器获取的玩家版本为代理端的版本,并非玩家客户端版本, -容易引起兼容性问题,请谨慎将 Via 套件安装在代理端。 +容易引起兼容性问题,请谨慎将 Via 套件安装在代理端。 ### Via 的版本选择 -如果选择同时安装 viaversion 和 viabackward ,他们的版本尽量选择相同的。 +如果选择同时安装 viaversion 和 viabackward ,他们的版本尽量选择相同的。 -### 为什么我在服务器安装 Via 后,仍然显示版本不支持? +### 为什么我在服务器安装 Via 后,仍然显示版本不支持? -下载更新版本的代理端后,需要更新 Via 套件到最新版。 +下载更新版本的代理端后,需要更新 Via 套件到最新版。 -即使不使用代理端,我们仍然建议你至少每个月更新一次 Via +即使不使用代理端,我们仍然建议你至少每个月更新一次 Via ### 我无法使用新版本的方块、功能 -Via 的目的是允许兼容,但不打算添加新的项目、方块和功能。 +Via 的目的是允许兼容,但不打算添加新的项目、方块和功能。 ### 我的玩家因为发送太多数据包而被踢? -如果你没有使用 paper fork 可以在配置中增加 max-pps,如果使用paper fork, +如果你没有使用 paper fork 可以在配置中增加 max-pps,如果使用paper fork, -如果使用 paper fork,请直接将其调整为 -1,并调整 paper 的 pps 限制。 +如果使用 paper fork,请直接将其调整为 -1,并调整 paper 的 pps 限制。 -(尝试增加到玩家没有问题,不要全部禁用,这会导致服务器被玩家恶意使用数据包卡顿) +(尝试增加到玩家没有问题,不要全部禁用,这会导致服务器被玩家恶意使用数据包卡顿) diff --git a/docs-java/process/plugin/other/Via/ViaBackwards.md b/docs-java/process/plugin/other/Via/ViaBackwards.md index 68592e919..ab902b21f 100644 --- a/docs-java/process/plugin/other/Via/ViaBackwards.md +++ b/docs-java/process/plugin/other/Via/ViaBackwards.md @@ -4,7 +4,7 @@ sidebar_position: 3 # ViaBackwards -Via三件套中的向下兼容,前置为ViaVersion +Via三件套中的向下兼容,前置为ViaVersion [下载地址](https://ci.viaversion.com/view/ViaBackwards/job/ViaBackwards/) @@ -12,25 +12,25 @@ Via三件套中的向下兼容,前置为ViaVersion ### 你们支持 1.8 及更低版本吗? -否,如果你希望向后兼容 1.8 及更低版本,请使用 ViaRewind 或 ProtocolSupport。 +否,如果你希望向后兼容 1.8 及更低版本,请使用 ViaRewind 或 ProtocolSupport。 -### 版本低于 1.17 的客户端看不到 y=0 以下的块,这会被修复吗? +### 版本低于 1.17 的客户端看不到 y=0 以下的块,这会被修复吗? 不。 -### 低版本看不到高版本物品的材质,怎么办 +### 低版本看不到高版本物品的材质,怎么办 -使用ViaBackwards-Plus,后文会讲 +使用ViaBackwards-Plus,后文会讲 ## 配置文件 -### 始终显示映射生物的原始名称,而不仅仅是当光标悬停在其上方时才显示。 +### 始终显示映射生物的原始名称,而不仅仅是当光标悬停在其上方时才显示。 always-show-original-mob-name: true ### 将自定义附魔的名称和等级写入物品的lore。 -如果自定义附魔插件已经手动将这些信息写入了lore,则将其设置为 false。 +如果自定义附魔插件已经手动将这些信息写入了lore,则将其设置为 false。 add-custom-enchants-into-lore: true @@ -42,13 +42,13 @@ add-teamcolor-to-prefix: true fix-1_13-face-player: false -### 通过将物品栏标题转换为传统文本,修复了 1.13 及更低版本客户端看不到物品栏标题颜色或格式的问题。 +### 通过将物品栏标题转换为传统文本,修复了 1.13 及更低版本客户端看不到物品栏标题颜色或格式的问题。 -如果你遇到可翻译文本显示错误的问题,请禁用此功能。 +如果你遇到可翻译文本显示错误的问题,请禁用此功能。 fix-formatted-inventory-titles: true -### 发送物品栏确认数据包,以替代 1.17 以下版本客户端的 ping 数据包。 +### 发送物品栏确认数据包,以替代 1.17 以下版本客户端的 ping 数据包。 这仅对短范围内的 id 有效。 这对反作弊的兼容性很有用。 diff --git a/docs-java/process/plugin/other/Via/ViaRewind.md b/docs-java/process/plugin/other/Via/ViaRewind.md index 7e9009fd1..3c70c8ecb 100644 --- a/docs-java/process/plugin/other/Via/ViaRewind.md +++ b/docs-java/process/plugin/other/Via/ViaRewind.md @@ -4,17 +4,17 @@ sidebar_position: 4 # ViaRewind -ViaRewind 可以让超低版本(1.7-1.8)客户端进入高版本服务器 +ViaRewind 可以让超低版本(1.7-1.8)客户端进入高版本服务器 -需要下载两个插件才能发挥兼容性[ViaRewind](https://ci.viaversion.com/view/ViaRewind/job/ViaRewind),[ViaRewind Legacy Support](https://ci.viaversion.com/view/ViaRewind/job/ViaRewind%20Legacy%20Support/) +需要下载两个插件才能发挥兼容性[ViaRewind](https://ci.viaversion.com/view/ViaRewind/job/ViaRewind),[ViaRewind Legacy Support](https://ci.viaversion.com/view/ViaRewind/job/ViaRewind%20Legacy%20Support/) ## FAQ -### 进不去,怎么办? +### 进不去,怎么办? 去让你用这老客户端的玩家滚去吃屎 -## 进不去,怎么办? +## 进不去,怎么办? 让敢安装ViaRewind腐竹滚去吃屎 @@ -28,13 +28,13 @@ ViaRewind 可以让超低版本(1.7-1.8)客户端进入高版本服务器 只有在服务器上禁用了 1.9 版本的冷却时间时才会禁用 -1.8 版本的玩家可能会问,为什么 pvp 不能正常运行? +1.8 版本的玩家可能会问,为什么 pvp 不能正常运行? cooldown-indicator: "TITLE -#### 对于 1.7.x 客户端,用生存模式取代冒险模式 +#### 对于 1.7.x 客户端,用生存模式取代冒险模式 -如果你的服务器使用 "CanDestroy" # 或 "CanPlaceOn",请启用此选项。 +如果你的服务器使用 "CanDestroy" # 或 "CanPlaceOn",请启用此选项。 或 "CanPlaceOn "标志的情况下启用此选项 replace-adventure: false @@ -48,7 +48,7 @@ replace-adventure: false max-book-pages: 100 -#### 在客户被踢出前,书籍页面 json (!) 字符串的最大字符数 +#### 在客户被踢出前,书籍页面 json (!) 字符串的最大字符数 max-book-page-length: 5000 diff --git a/docs-java/process/plugin/other/Via/ViaVersion.md b/docs-java/process/plugin/other/Via/ViaVersion.md index fea58adc3..8356a6919 100644 --- a/docs-java/process/plugin/other/Via/ViaVersion.md +++ b/docs-java/process/plugin/other/Via/ViaVersion.md @@ -4,7 +4,7 @@ sidebar_position: 2 # ViaVersion -ViaVersion 是Via三件套的核心,提供了向上兼容,如果你想要向下兼容,可以再安装 ViaBackwards 和 ViaRewind +ViaVersion 是Via三件套的核心,提供了向上兼容,如果你想要向下兼容,可以再安装 ViaBackwards 和 ViaRewind - **向上兼容:** 支持新版本客户端进服 - **向下兼容:** 支持旧版本客户端进服 @@ -17,203 +17,203 @@ ViaVersion 是Via三件套的核心,提供了向上兼容,如果你想要向 新版本的物品特性无法在旧版本游戏内使用是因为 ViaVersion 致力于兼容性而不是添加新的特性。 -玩家被踢出时提示 `sending too many packets` 请修改配置文件 `max-pps`(推荐修改为原来的两倍以防恶意攻击) +玩家被踢出时提示 `sending too many packets` 请修改配置文件 `max-pps`(推荐修改为原来的两倍以防恶意攻击) ## 配置文件 -### hologram-patch - 默认值:false (布尔值) +### hologram-patch - 默认值:false (布尔值) -在 1.9 和 1.11 中,修改了全息影像的某些高度值。如果你在服务器上手动使用盔甲支架,这可能与你无关,但如果你使用全息显示器等插件,则你的盔甲支架可能看起来高于 1.9+,但也可能低于 1.11+。要解决此问题,你可以启用此选项。 +在 1.9 和 1.11 中,修改了全息影像的某些高度值。如果你在服务器上手动使用盔甲支架,这可能与你无关,但如果你使用全息显示器等插件,则你的盔甲支架可能看起来高于 1.9+,但也可能低于 1.11+。要解决此问题,你可以启用此选项。 -### Hologram-E - 默认值:-0.96(整数) +### Hologram-E - 默认值:-0.96(整数) -当上述情况成立时,全息影像应向 1.9 及以上客户端偏移多少。我们的实验表明,-0.96 效果最好。对于 1.11,这是相反的。 +当上述情况成立时,全息影像应向 1.9 及以上客户端偏移多少。我们的实验表明,-0.96 效果最好。对于 1.11,这是相反的。 -### piston-animation-patch - 默认值:false(布尔值) +### piston-animation-patch - 默认值:false(布尔值) -我们应该禁用 1.11/1.11.1 客户端的活塞动画吗?在某些情况下,当发射大量活塞时,它会使它们崩溃。 +我们应该禁用 1.11/1.11.1 客户端的活塞动画吗?在某些情况下,当发射大量活塞时,它会使它们崩溃。 -### chat-nbt-fix - 默认值:true(布尔值) +### chat-nbt-fix - 默认值:true(布尔值) -在 1.12 及更高版本中,聊天中显示的 nbt 数据在删除索引数组的标签后略有格式更改,此选项将剥离该数据。 +在 1.12 及更高版本中,聊天中显示的 nbt 数据在删除索引数组的标签后略有格式更改,此选项将剥离该数据。 -### quick-move-action-fix - 默认值:false(布尔值) +### quick-move-action-fix - 默认值:false(布尔值) -由于 Minecraft 在 1.12 shift 双击中的某些项目无法正常工作,此补丁允许发送额外信息来修复此问题(仅适用于基于 1.8-1.11.2 bukkit 的服务器)。 +由于 Minecraft 在 1.12 shift 双击中的某些项目无法正常工作,此补丁允许发送额外信息来修复此问题(仅适用于基于 1.8-1.11.2 bukkit 的服务器)。 -### team-colour-fix - 默认值:true(布尔值) +### team-colour-fix - 默认值:true(布尔值) -由于 Minecraft 1.13 中名牌颜色的更改是基于团队颜色而不是前缀,因此此修复会更改它,使其成为前缀中的最后一种颜色。 +由于 Minecraft 1.13 中名牌颜色的更改是基于团队颜色而不是前缀,因此此修复会更改它,使其成为前缀中的最后一种颜色。 -### disable-1_13-auto-complete - 默认值:false(布尔值) +### disable-1_13-auto-complete - 默认值:false(布尔值) -1.13 有完整的TAB补全,可能会触发在 Spigot 上的刷屏,你可以使用此选项完全禁用它。 +1.13 有完整的TAB补全,可能会触发在 Spigot 上的刷屏,你可以使用此选项完全禁用它。 -### 1_13-tab-complete-delay - 默认值:0(整数) +### 1_13-tab-complete-delay - 默认值:0(整数) -引入 Tab 符完成延迟(每秒 20 次刻度),如果在刻度内发生另一个请求,则该请求将被取消。这可用于允许选项卡完成,但不经常,例如。100 个刻度表示每 5 秒完成一次。 +引入 Tab 符完成延迟(每秒 20 次刻度),如果在刻度内发生另一个请求,则该请求将被取消。这可用于允许选项卡完成,但不经常,例如。100 个刻度表示每 5 秒完成一次。 -### serverside-blockconnections - 默认值:false(布尔值) +### serverside-blockconnections - 默认值:false(布尔值) -在 1.13 中,Mojang 更改了由服务器处理的块连接,因此我们需要计算块所需的连接(这包括跨块),此功能将对性能产生影响,因为在处理围栏、窗格、门等时可能需要额外的计算。 +在 1.13 中,Mojang 更改了由服务器处理的块连接,因此我们需要计算块所需的连接(这包括跨块),此功能将对性能产生影响,因为在处理围栏、窗格、门等时可能需要额外的计算。 -### reduce-blockstorage-memory - 默认值:false(布尔值) +### reduce-blockstorage-memory - 默认值:false(布尔值) -由于存储块的开销,我们提供了通过不存储非重要块来减少开销的选项。启用此选项后,围栏、玻璃板等将无法连接到实心方块。 +由于存储块的开销,我们提供了通过不存储非重要块来减少开销的选项。启用此选项后,围栏、玻璃板等将无法连接到实心方块。 -### flowerstem-when-block-above - 默认值:false(布尔值) +### flowerstem-when-block-above - 默认值:false(布尔值) -这是一个块连接选项,其中花茎用于装饰目的,启用它们将阻止我们连接它们。 +这是一个块连接选项,其中花茎用于装饰目的,启用它们将阻止我们连接它们。 -### vine-climb-fix - 默认值:false(布尔值) +### vine-climb-fix - 默认值:false(布尔值) -未连接到方块的藤蔓将被映射到空中,否则 1.13+ 可以爬上它们。 +未连接到方块的藤蔓将被映射到空中,否则 1.13+ 可以爬上它们。 -### change-1_9-hitbox - 默认值:false(布尔值) +### change-1_9-hitbox - 默认值:false(布尔值) -这改变了 1.9+ 玩家的命中框,因此在玩家潜行时不会发生击退错误。 +这改变了 1.9+ 玩家的命中框,因此在玩家潜行时不会发生击退错误。 -### change-1_14-hitbox - 默认值:false(布尔值) +### change-1_14-hitbox - 默认值:false(布尔值) -这改变了命中框,以便 1.14+ 玩家可以潜入方块下,这可能会让玩家被射弹错过。 +这改变了命中框,以便 1.14+ 玩家可以潜入方块下,这可能会让玩家被射弹错过。 -### truncate-1_14-books - 默认值:false(布尔值) +### truncate-1_14-books - 默认值:false(布尔值) -现在在 1.14 中,页面限制更大,因此这将限制页面数为 50 而不是 100(因为某些反漏洞利用软件可能会踢玩家)。 +现在在 1.14 中,页面限制更大,因此这将限制页面数为 50 而不是 100(因为某些反漏洞利用软件可能会踢玩家)。 -### fix-infested-block-breaking - 默认值:true(布尔值) +### fix-infested-block-breaking - 默认值:true(布尔值) -被感染的块在未来的客户端中可以立即被破坏,使它们无法在旧服务器上被破坏,这会将它们变回石头。 +被感染的块在未来的客户端中可以立即被破坏,使它们无法在旧服务器上被破坏,这会将它们变回石头。 -### fix-low-snow-collision - 默认值:false(布尔值) +### fix-low-snow-collision - 默认值:false(布尔值) -1.13 对 1 层雪没有碰撞,这会发送 2 层雪来产生类似的效果。 +1.13 对 1 层雪没有碰撞,这会发送 2 层雪来产生类似的效果。 -### fix-non-full-blocklight - 默认值:true(布尔值) +### fix-non-full-blocklight - 默认值:true(布尔值) 修复了 1.14 客户端对非完整块的轻量级值为 0 的问题 -### fix-1_14-health-nan - 默认值:true (布尔值) +### fix-1_14-health-nan - 默认值:true (布尔值) 修复了当运行状况设置为 Float.NaN 时不显示漫游动画的问题 -### use-1_15-instant-respawn - 默认值:false(布尔值) +### use-1_15-instant-respawn - 默认值:false(布尔值) 是否应该在 1.15+ 客户端上立即重生而不显示死亡屏幕。 -### ignore-long-1_16-channel-names - 默认值:true(布尔值) +### ignore-long-1_16-channel-names - 默认值:true(布尔值) -如果忽略超过 32 个字符的插件通道名称,CraftBukkit 在 1.16 之前将此限制硬编码,因此假设任何运行 ViaVersion 的软件都有它。 +如果忽略超过 32 个字符的插件通道名称,CraftBukkit 在 1.16 之前将此限制硬编码,因此假设任何运行 ViaVersion 的软件都有它。 -### forced-use-1_17-resource-pack - 默认值:false(布尔值) +### forced-use-1_17-resource-pack - 默认值:false(布尔值) -1.17 客户端将被迫接受连接时的资源包,如果拒绝,则断开连接。 +1.17 客户端将被迫接受连接时的资源包,如果拒绝,则断开连接。 -### resource-pack-1_17-prompt - 默认值:''(字符串) +### resource-pack-1_17-prompt - 默认值:''(字符串) 1.17 客户端在加入时将显示此消息。 -### cache-1_17-light - 默认值:true(布尔值) +### cache-1_17-light - 默认值:true(布尔值) -缓存在卸载块之前会变亮,以允许后续块更新数据包,而不是在发送第一个块数据时立即取消缓存。 +缓存在卸载块之前会变亮,以允许后续块更新数据包,而不是在发送第一个块数据时立即取消缓存。 仅在你知道自己在做什么时才禁用此功能。 -### armor-toggle-fix- 默认值:true(布尔值) +### armor-toggle-fix- 默认值:true(布尔值) -强制更新 1.19.4+ 玩家的库存,当他们试图在预先占用的插槽中交换盔甲时。 +强制更新 1.19.4+ 玩家的库存,当他们试图在预先占用的插槽中交换盔甲时。 ## 1.8 服务器上的高版本客户端选项 -此选项仅适用于你使用 1.8 服务器时,这些选项可以在功能已更改的未来版本中实现一致的视觉效果/游戏玩法。 +此选项仅适用于你使用 1.8 服务器时,这些选项可以在功能已更改的未来版本中实现一致的视觉效果/游戏玩法。 -### prevent-collision - 默认值:true(布尔值) +### prevent-collision - 默认值:true(布尔值) -在 1.9 中,玩家现在可以互相推搡。为了防止在发送记分牌团队时出现这种情况,ViaVersion 可以将冲突设置为不发生,以便游戏玩法保持平衡。(像 ColoredTags 这样的插件使用团队) +在 1.9 中,玩家现在可以互相推搡。为了防止在发送记分牌团队时出现这种情况,ViaVersion 可以将冲突设置为不发生,以便游戏玩法保持平衡。(像 ColoredTags 这样的插件使用团队) -### auto-team - 默认值:true(布尔值) +### auto-team - 默认值:true(布尔值) -大多数服务器不使用记分牌插件,在这种情况下,我们会将自己的团队发送给玩家,以防止他们与其他玩家发生冲突。 +大多数服务器不使用记分牌插件,在这种情况下,我们会将自己的团队发送给玩家,以防止他们与其他玩家发生冲突。 -如果你使用像 ColoredTags 这样的插件,你应该将其关闭。此外,如果你在使用 Bungee 和团队时遇到问题,请考虑将其关闭。 +如果你使用像 ColoredTags 这样的插件,你应该将其关闭。此外,如果你在使用 Bungee 和团队时遇到问题,请考虑将其关闭。 -### suppress-metadata-errors - 默认值:false(布尔值) +### suppress-metadata-errors - 默认值:false(布尔值) -由于 1.9 及更高版本对实体数据发送方式的更改,一些插件发送的数据我们找不到 1.9 的等效数据 +由于 1.9 及更高版本对实体数据发送方式的更改,一些插件发送的数据我们找不到 1.9 的等效数据 -(通常意味着他们做错了什么!发生这种情况时,我们会告诉你配置中的所有信息, +(通常意味着他们做错了什么!发生这种情况时,我们会告诉你配置中的所有信息, -你需要调试并找出导致这种情况的插件并联系作者(这些与称为 Datawatcher 的 NMS 类有关)。 +你需要调试并找出导致这种情况的插件并联系作者(这些与称为 Datawatcher 的 NMS 类有关)。 -或者,你可以抑制元数据错误,但这意味着生物在 1.9 到 1.8 上可能看起来不同,但大多数时候这很好。 +或者,你可以抑制元数据错误,但这意味着生物在 1.9 到 1.8 上可能看起来不同,但大多数时候这很好。 -### shield-blocking - default: true (布尔值) - 注意:在 BungeeCord 上,客户端将无法看到它们盾牌阻挡。 +### shield-blocking - default: true (布尔值) - 注意:在 BungeeCord 上,客户端将无法看到它们盾牌阻挡。 -在 1.9 中,删除了右键单击剑时的阻挡动画。无法模拟 1.9 无法看到 1.8 的阻挡,作为替代方案,你可以直观地将这些视为盾牌。 +在 1.9 中,删除了右键单击剑时的阻挡动画。无法模拟 1.9 无法看到 1.8 的阻挡,作为替代方案,你可以直观地将这些视为盾牌。 -这些不会改变任何游戏玩法,只允许 1.9 看到客户端阻止并用剑自己执行阻止操作。禁用此功能将意味着 1.9 客户端将无法看到也无法正确阻挡。 +这些不会改变任何游戏玩法,只允许 1.9 看到客户端阻止并用剑自己执行阻止操作。禁用此功能将意味着 1.9 客户端将无法看到也无法正确阻挡。 -### simulate-pt - 默认值:true(布尔值) +### simulate-pt - 默认值:true(布尔值) -在 1.9 中,玩家滴答不再由客户端发送数据包触发。因此,如果我们不模拟向他们发送包裹,他们将无法进食、正确使用弓箭、喝药水。如果你有一个非常简单的服务器,你可以禁用它,但建议你不要这样做。 +在 1.9 中,玩家滴答不再由客户端发送数据包触发。因此,如果我们不模拟向他们发送包裹,他们将无法进食、正确使用弓箭、喝药水。如果你有一个非常简单的服务器,你可以禁用它,但建议你不要这样做。 -### nms-player-ticking - 默认值: true (布尔值) - 此功能仅在 Spigot / Sponge 上可用。(在 BungeeCord 上,它将使用数据包滴答声) +### nms-player-ticking - 默认值: true (布尔值) - 此功能仅在 Spigot / Sponge 上可用。(在 BungeeCord 上,它将使用数据包滴答声) -为了模拟玩家滴答声,我们使用 NMS 作为发送数据包的替代方案,因为发送数据包可能会导致反作弊问题。 +为了模拟玩家滴答声,我们使用 NMS 作为发送数据包的替代方案,因为发送数据包可能会导致反作弊问题。 -如果你在使用 ViaVersion 时遇到 TPS 问题,建议你尝试将其设置为 false,因为它可能会减少对 TPS 的影响。 +如果你在使用 ViaVersion 时遇到 TPS 问题,建议你尝试将其设置为 false,因为它可能会减少对 TPS 的影响。 -(尽管它仍然会在那里,只是没有标记为 ViaVersion,因为它是内部服务器滴答作响) +(尽管它仍然会在那里,只是没有标记为 ViaVersion,因为它是内部服务器滴答作响) -### bossbar-patch - 默认值:true(布尔值) +### bossbar-patch - 默认值:true(布尔值) -在 1.9 中,bossbar 的处理方式不同,通过数据包发送,而不是使用生物。 +在 1.9 中,bossbar 的处理方式不同,通过数据包发送,而不是使用生物。 -我们是否应该自动发送正确的数据包以使 bossbar 正常工作?如果你遇到出现太多bossbar的问题,你可以禁用此功能。 +我们是否应该自动发送正确的数据包以使 bossbar 正常工作?如果你遇到出现太多bossbar的问题,你可以禁用此功能。 -### bossbar-anti-flicker - 默认值:false(布尔值) +### bossbar-anti-flicker - 默认值:false(布尔值) -由于 bossbar 的变化,一些插件会不断更新 boss 栏上的生命值,这可能会导致闪烁,启用此选项将修复生命值。 +由于 bossbar 的变化,一些插件会不断更新 boss 栏上的生命值,这可能会导致闪烁,启用此选项将修复生命值。 -但是,这将防止运行状况下降,除非你遇到闪烁问题,否则不建议这样做。 +但是,这将防止运行状况下降,除非你遇到闪烁问题,否则不建议这样做。 -### use-new-effect-indicator - 默认值:true(布尔值) +### use-new-effect-indicator - 默认值:true(布尔值) -在 1.9 中,在屏幕左上角引入了一个新的效果指示器。启用此选项将允许玩家在左上角看到他们的有效药水效果, +在 1.9 中,在屏幕左上角引入了一个新的效果指示器。启用此选项将允许玩家在左上角看到他们的有效药水效果, -这对 1.9+ 玩家来说可能是一个优势,如果你发现这种情况,你可能希望禁用。 +这对 1.9+ 玩家来说可能是一个优势,如果你发现这种情况,你可能希望禁用。 -### use-new-deathmessages - 默认值:false(布尔值) +### use-new-deathmessages - 默认值:false(布尔值) -在 1.9 中,死亡信息被添加到重生屏幕中。启用此选项将允许死亡的玩家在重生屏幕上看到他们的死亡信息。 +在 1.9 中,死亡信息被添加到重生屏幕中。启用此选项将允许死亡的玩家在重生屏幕上看到他们的死亡信息。 -### item-cache - 默认值: true (布尔值) - 此功能仅在 Spigot / Sponge 上可用。(在 BungeeCord 上,它仍然可以工作,但效率较低,导致服务器发送 1 个额外的数据包) +### item-cache - 默认值: true (布尔值) - 此功能仅在 Spigot / Sponge 上可用。(在 BungeeCord 上,它仍然可以工作,但效率较低,导致服务器发送 1 个额外的数据包) -在 1.9 中,对项目使用方式的数据包更改意味着它们不会发送到服务器。物品缓存允许 ViaVersion 保存玩家持有的物品, +在 1.9 中,对项目使用方式的数据包更改意味着它们不会发送到服务器。物品缓存允许 ViaVersion 保存玩家持有的物品, 这允许一种有效的方式告诉服务器玩家正在使用哪些物品已被移除。 -不建议禁用此功能,因为替代方法是在数据包到达时查找项目,这可能会导致延迟并可能导致服务器崩溃。 +不建议禁用此功能,因为替代方法是在数据包到达时查找项目,这可能会导致延迟并可能导致服务器崩溃。 -### replace-pistons- 默认值:false(布尔值) +### replace-pistons- 默认值:false(布尔值) -此选项也会影响 1.9/1.9.1 服务器。 在 1.10.1 中,Mojang 引入了一种确保特殊区块发送数据的方法。这也引入了一个崩溃问题,这意味着当发送块 36(扩展活塞特殊块)时,它会使客户端崩溃。作为故障保护,你可以启用此选项,我们将发送下面指定的替换 ID。(此问题仅在你使用特殊块 36 时才会影响你) +此选项也会影响 1.9/1.9.1 服务器。 在 1.10.1 中,Mojang 引入了一种确保特殊区块发送数据的方法。这也引入了一个崩溃问题,这意味着当发送块 36(扩展活塞特殊块)时,它会使客户端崩溃。作为故障保护,你可以启用此选项,我们将发送下面指定的替换 ID。(此问题仅在你使用特殊块 36 时才会影响你) -### replacement-piston-id - 默认值:0(整数) +### replacement-piston-id - 默认值:0(整数) -启用上一个选项时,应该发送哪个块 ID,默认情况下它是 air 0,因为块 36 与 air 非常相似。 +启用上一个选项时,应该发送哪个块 ID,默认情况下它是 air 0,因为块 36 与 air 非常相似。 -### force-json-transform - 默认值:false(布尔值) +### force-json-transform - 默认值:false(布尔值) -当发送 JSON 时出现问题时,我们是否应该强制发送它而不是抛出错误?这可能会导致在极少数情况下发送不正确的 JSON,禁用它将显示负责的错误。 +当发送 JSON 时出现问题时,我们是否应该强制发送它而不是抛出错误?这可能会导致在极少数情况下发送不正确的 JSON,禁用它将显示负责的错误。 -### minimize-cooldown - 默认值:true (布尔值) +### minimize-cooldown - 默认值:true (布尔值) 尝试减少 1.8 版本中物品命中时的视觉冷却时间。 -### left-handed-handling - 默认值:true(布尔值) +### left-handed-handling - 默认值:true(布尔值) -这样,左手就可以在较新的客户端的 1.8 服务器上使用。 +这样,左手就可以在较新的客户端的 1.8 服务器上使用。 diff --git a/docs-java/process/plugin/other/npc/NPC.md b/docs-java/process/plugin/other/npc/NPC.md index cdc7de177..ddec98d36 100644 --- a/docs-java/process/plugin/other/npc/NPC.md +++ b/docs-java/process/plugin/other/npc/NPC.md @@ -12,7 +12,7 @@ sidebar_position: 6 **混合端不要给插件作者反馈问题** -不会特地去支持混合端,会出现不少问题,而且作者不会处理 +不会特地去支持混合端,会出现不少问题,而且作者不会处理 ::: diff --git a/docs-java/process/plugin/other/npc/ZNPCsPlus.md b/docs-java/process/plugin/other/npc/ZNPCsPlus.md index 34fb12073..a9d649904 100644 --- a/docs-java/process/plugin/other/npc/ZNPCsPlus.md +++ b/docs-java/process/plugin/other/npc/ZNPCsPlus.md @@ -14,4 +14,4 @@ sidebar_position: 5 ::: -比Citizens简单的NPC插件,ZNPCs的加强版本。 +比Citizens简单的NPC插件,ZNPCs的加强版本。 diff --git a/docs-java/process/plugin/other/npc/citizens.md b/docs-java/process/plugin/other/npc/citizens.md index 40eec8ec6..e564819f6 100644 --- a/docs-java/process/plugin/other/npc/citizens.md +++ b/docs-java/process/plugin/other/npc/citizens.md @@ -10,7 +10,7 @@ sidebar_position: 2 `SpigotMC` https://www.spigotmc.org/resources/citizens.13811/ -`Bukkit(太老旧不要使用)` https://dev.bukkit.org/projects/citizens +`Bukkit(太老旧不要使用)` https://dev.bukkit.org/projects/citizens `GitHub` https://github.com/CitizensDev/Citizens2 @@ -22,7 +22,7 @@ sidebar_position: 2 ## 下载 -在SpigotMC帖内自行寻找,通常会遭到群友以 *懒* *看不懂英文* *它是英文的* 为由的谩骂 +在SpigotMC帖内自行寻找,通常会遭到群友以 *懒* *看不懂英文* *它是英文的* 为由的谩骂 ## 执行命令 diff --git a/docs-java/process/plugin/plugin-abbreviation.md b/docs-java/process/plugin/plugin-abbreviation.md index e5ef95e69..4c36872fa 100644 --- a/docs-java/process/plugin/plugin-abbreviation.md +++ b/docs-java/process/plugin/plugin-abbreviation.md @@ -5,7 +5,7 @@ sidebar_position: 4 # 部分插件缩写 -***如果你不确定或不知道缩写该是什么,请不要随便使用缩写!*** +***如果你不确定或不知道缩写该是什么,请不要随便使用缩写!*** 下面列出了常用插件的缩写: @@ -40,7 +40,7 @@ gm 通常指 GroupManager 萌芽 通常指 萌芽引擎 -ds 不常见,通常指 bbs内没有的 屌丝系列插件 +ds 不常见,通常指 bbs内没有的 屌丝系列插件 dp 通常指楠木的 DungeonPlus @@ -58,7 +58,7 @@ ess/essx 通常指 Essentials/EssentialsX ae 通常指 AdvancedEnchantments -eco 通常指 EcoEnchants,腐竹圈只对 Auxlior 家的附魔感兴趣,大部分没有接触过他的其他插件 +eco 通常指 EcoEnchants,腐竹圈只对 Auxlior 家的附魔感兴趣,大部分没有接触过他的其他插件 hd 通常指 HolographicDisplays @@ -84,13 +84,13 @@ wg 通常指 WorldGuard fawe 通常指 FasyAsyncWorldEdit -vs 通常指 VoxelSnipper,少见 +vs 通常指 VoxelSnipper,少见 papi 通常指 PlaceholderAPI ps 通常指 PlotSquared -pm 通常指 PlayMoney,部分神奇宝贝服会用到 +pm 通常指 PlayMoney,部分神奇宝贝服会用到 pp 通常指 PlayerPoints diff --git a/docs-java/process/plugin/plugin-select.md b/docs-java/process/plugin/plugin-select.md index 21ca3d0fc..7631c3107 100644 --- a/docs-java/process/plugin/plugin-select.md +++ b/docs-java/process/plugin/plugin-select.md @@ -5,20 +5,20 @@ sidebar_position: 1 # 插件选择 -很好,相信你已经在[可能用到的网站](/docs-java/preparation/websites.md)看到了很多链接,面对成千上万的插件我们应该如何进行选择呢? +很好,相信你已经在[可能用到的网站](/docs-java/preparation/websites.md)看到了很多链接,面对成千上万的插件我们应该如何进行选择呢? -我们在此以 spigot.org 为例(假设你已经注册成功),讲解如何选择插件。 +我们在此以 spigot.org 为例(假设你已经注册成功),讲解如何选择插件。 -1. (_可选,推荐_)安装一个 spigot 专用的[搜索引擎](https://fof1092.de/Plugins/SSE/Redirect/),作为浏览器插件安装即可。 +1. (_可选,推荐_)安装一个 spigot 专用的[搜索引擎](https://fof1092.de/Plugins/SSE/Redirect/),作为浏览器插件安装即可。 - 使用 spigot search engine(spigot 搜索引擎)后, 你能得到比 spigot 自带的搜索相关性强得多的搜索结果。 + 使用 spigot search engine(spigot 搜索引擎)后, 你能得到比 spigot 自带的搜索相关性强得多的搜索结果。 -2. (_可选_)如果你觉得大量的英语很头大,请打开你的浏览器自带的翻译器,如 edge/chrome。 +2. (_可选_)如果你觉得大量的英语很头大,请打开你的浏览器自带的翻译器,如 edge/chrome。 ![](_images/概览/浏览器翻译.png) -4. 就像逛淘宝一样,根据你的需求将你认为有用的插件收藏起来。 - 最好是分门别类放在一起,我们以随机 TP 插件为例,我们在此搜索 RTP : +4. 就像逛淘宝一样,根据你的需求将你认为有用的插件收藏起来。 + 最好是分门别类放在一起,我们以随机 TP 插件为例,我们在此搜索 RTP :
安装搜索引擎后应该长啥样? @@ -29,29 +29,29 @@ sidebar_position: 1 4. 查看这些插件的下载次数、最后更新时间、评价分数、插件特性、语言支持、是否开源、是否付费等。 - 如果符合以下的标准,可以尝试下载几个并收藏这些插件 (建议同类型插件选择大概 3 ~ 5 个,最后选出一个综合最好的)。 + 如果符合以下的标准,可以尝试下载几个并收藏这些插件 (建议同类型插件选择大概 3 ~ 5 个,最后选出一个综合最好的)。 :::info -对于大多数插件,选择人数较多(同类型插件前 50%),更新维护更频繁,用户评价多且平均分高,插件特性满足需要(注意不是越多越好)。 +对于大多数插件,选择人数较多(同类型插件前 50%),更新维护更频繁,用户评价多且平均分高,插件特性满足需要(注意不是越多越好)。 -支持语言切换甚至直接支持全中文翻译,开源,免费的插件对于大多数服主来说是合理的。 +支持语言切换甚至直接支持全中文翻译,开源,免费的插件对于大多数服主来说是合理的。 ::: -5. 将选好的同类型插件安装到服务器测试一下,是否有 bug ,是否能满足你的需求。 +5. 将选好的同类型插件安装到服务器测试一下,是否有 bug ,是否能满足你的需求。 -6. 如果你不嫌麻烦,可以在 Excel 中分析插件的优劣并打分,下图比较了当前下载量前 5 的随机 TP 插件。 +6. 如果你不嫌麻烦,可以在 Excel 中分析插件的优劣并打分,下图比较了当前下载量前 5 的随机 TP 插件。 - 每个服务器可根据自己的需求自行评价,下图只是一个抛砖引玉的作用,根据自己的需求选择其中一个即可: + 每个服务器可根据自己的需求自行评价,下图只是一个抛砖引玉的作用,根据自己的需求选择其中一个即可: ![](_images/概览/同类插件评分选择.png) -**_不要装多个同类型插件,不要把 CMI 和 EssentialX 装在一起,也不要一个服务器装 3 ~ 4 个菜单插件!!!_** +**_不要装多个同类型插件,不要把 CMI 和 EssentialX 装在一起,也不要一个服务器装 3 ~ 4 个菜单插件!!!_** ## 如何下载插件历史版本? -**建议**你用**最新版本**的插件,但如果你因为一些原因必须要用旧版的话... +**建议**你用**最新版本**的插件,但如果你因为一些原因必须要用旧版的话...
Bukkit @@ -117,14 +117,14 @@ sidebar_position: 1 ![](_images/概览/查看语言-2.png) -然后一般要去插件配置文件(多数为 config.yml) 把语言改成这里的文件名 (此处为 zh_cn)。 +然后一般要去插件配置文件(多数为 config.yml) 把语言改成这里的文件名 (此处为 zh_cn)。
Crowdin -比如 https://www.spigotmc.org/resources/simpleclans.71242/,我们可以看到,语言那里给了个[链接](https://crowdin.com/project/simpleclans): +比如 https://www.spigotmc.org/resources/simpleclans.71242/,我们可以看到,语言那里给了个[链接](https://crowdin.com/project/simpleclans): ![](_images/概览/查看语言-crowdin.png) @@ -137,13 +137,13 @@ sidebar_position: 1 比如 SkinsRestorer。 -如果我们在插件文件夹找不到语言文件夹,可以直接用解压缩软件打开 jar 包: +如果我们在插件文件夹找不到语言文件夹,可以直接用解压缩软件打开 jar 包: ![](_images/概览/查看语言-拆开jar.png)
-还有可能写在插件文档里,在项目 README 里,甚至在配置文件的注释里。 +还有可能写在插件文档里,在项目 README 里,甚至在配置文件的注释里。 还是找不到? 你可能需要自己翻译了: diff --git a/docs-java/process/plugin/plugin-signature-file.md b/docs-java/process/plugin/plugin-signature-file.md index 904b02c7b..fda3fd659 100644 --- a/docs-java/process/plugin/plugin-signature-file.md +++ b/docs-java/process/plugin/plugin-signature-file.md @@ -13,15 +13,15 @@ sidebar_position: 3 ![](_images/plugin.yml/plugin.yml.png) -其实只有 `name` 和 `main` 是必填的,其他可写可不写。 +其实只有 `name` 和 `main` 是必填的,其他可写可不写。 -比如一个插件有提供命令,但它不在 `plugin.yml` 中写 `commands` 也是很常见的。 +比如一个插件有提供命令,但它不在 `plugin.yml` 中写 `commands` 也是很常见的。 ## 常见的键 :::tip -其实这里面写什么都可以,但多数就那么几样... +其实这里面写什么都可以,但多数就那么几样... ::: @@ -29,47 +29,47 @@ sidebar_position: 3 ## `name` -插件的名字,也是会在插件列表(`/pl`)和日志中输出的信息中显示的插件名。 +插件的名字,也是会在插件列表(`/pl`)和日志中输出的信息中显示的插件名。 ## `version` -插件版本,显示在 `/version 插件名` 中。 +插件版本,显示在 `/version 插件名` 中。 ## `main` -插件主类,加载插件时运行的类的名称,类似正常程序中的 main 函数,服主不用管。 +插件主类,加载插件时运行的类的名称,类似正常程序中的 main 函数,服主不用管。 ## `description` -简短描述插件的作用,会在 `/pl` 命令中鼠标悬浮在插件名称上时显示。 +简短描述插件的作用,会在 `/pl` 命令中鼠标悬浮在插件名称上时显示。 ## `authors` -插件作者,显示在 `/version 插件名` 中。 +插件作者,显示在 `/version 插件名` 中。 ## `contributors` -贡献者,指非作者但为插件贡献了代码的人。 +贡献者,指非作者但为插件贡献了代码的人。 ## `website` -插件相关的网站,显示在 `/version 插件名` 中。 +插件相关的网站,显示在 `/version 插件名` 中。 ## `api-version` -插件编译时使用的 API 版本,影响着 BukkitAPI 对插件提供的兼容性。 +插件编译时使用的 API 版本,影响着 BukkitAPI 对插件提供的兼容性。 ## `load` -这告诉服务器何时加载插件。它可以是 `STARTUP` 或 `POSTWORLD` 。 如果未指定,将默认为 `POSTWORLD`。 +这告诉服务器何时加载插件。它可以是 `STARTUP` 或 `POSTWORLD` 。 如果未指定,将默认为 `POSTWORLD`。 ## `prefix` -在服务器日志中显示的前缀,有别于插件名称。 +在服务器日志中显示的前缀,有别于插件名称。 ## `libraries` -插件的依赖库表,不过这并不是前置插件的意思,而是插件开发时用到的依赖。 +插件的依赖库表,不过这并不是前置插件的意思,而是插件开发时用到的依赖。 ## `permissions` @@ -89,11 +89,11 @@ sidebar_position: 3 ### `depend` -硬依赖,必须安装。 +硬依赖,必须安装。 ### `softdepend` -软依赖,即不必须装的依赖。 +软依赖,即不必须装的依赖。 ### `loadbefore` @@ -105,9 +105,9 @@ sidebar_position: 3 ## `folia-supported` -当此项为 `true` 时,Folia 端才会尝试加载此插件。 +当此项为 `true` 时,Folia 端才会尝试加载此插件。 -如果插件的 `plugin.yml` 里没有此项,你可以试着手动添加。 +如果插件的 `plugin.yml` 里没有此项,你可以试着手动添加。 ``` folia-supported: true @@ -115,7 +115,7 @@ folia-supported: true :::danger -Folia 端对 Bukkit API 的修改是破坏性的,你手动添加而不是插件开发者去兼容,通常加载了也是不可用的。 +Folia 端对 Bukkit API 的修改是破坏性的,你手动添加而不是插件开发者去兼容,通常加载了也是不可用的。 这就是为什么要开启此项 Folia 端才会加载该插件。 diff --git a/docs-java/process/plugin/plugin.md b/docs-java/process/plugin/plugin.md index 419da28c8..f70c5e668 100644 --- a/docs-java/process/plugin/plugin.md +++ b/docs-java/process/plugin/plugin.md @@ -6,7 +6,7 @@ sidebar_position: 1 # 插件 -**本文档中提到的插件都有较多用户基础和完善的 Wiki,具体插件请查看插件的 Wiki。** +**本文档中提到的插件都有较多用户基础和完善的 Wiki,具体插件请查看插件的 Wiki。** ![](_images/wiki背诵.jpg) @@ -16,17 +16,17 @@ sidebar_position: 1 - [YAML 语法](/docs-java/advance/YAML/YAML.md) - 了解大部分插件配置文件的语法。 - [插件特征文件](/docs-java/process/plugin/plugin-signature-file.md) - 了解插件的一些信息。 -- [格式化代码](/docs-java/advance/format-code.md) - 了解彩色字体,下划线,删除线等。 -- [MiniMessage](/docs-java/advance/MiniMessage.md) - 了解 RGB 颜色,文本悬浮和点击文字执行等。 +- [格式化代码](/docs-java/advance/format-code.md) - 了解彩色字体,下划线,删除线等。 +- [MiniMessage](/docs-java/advance/MiniMessage.md) - 了解 RGB 颜色,文本悬浮和点击文字执行等。 - [什么是乱码](https://yizhan.wiki/NitWikit/start/basic/what-is-messy-code) - 了解文本文件中的字符有时为什么会变得奇奇怪怪。 :::danger -服务器在**开发阶段**可以使用 PlugmanX,ServerUtils 等插件热重载插件。 +服务器在**开发阶段**可以使用 PlugmanX,ServerUtils 等插件热重载插件。 -过了开发阶段后切记,多数插件自带了重载 (如 Placeholder 的重载指令为:papi reload)。 +过了开发阶段后切记,多数插件自带了重载 (如 Placeholder 的重载指令为:papi reload)。 -尽量少使用热重载插件,因为如果插件本身并不支持热重载,即使热重载了也容易出问题。 +尽量少使用热重载插件,因为如果插件本身并不支持热重载,即使热重载了也容易出问题。 请阅读[此文章](https://madelinemiller.dev/blog/problem-with-reload/)来了解为何。 @@ -38,7 +38,7 @@ sidebar_position: 1 ### 笨蛋脚本 -下载此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/auto-install-depend.exe),我们会为你安装常用插件(自动)。 +下载此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/auto-install-depend.exe),我们会为你安装常用插件(自动)。
安装的插件列表 @@ -50,7 +50,7 @@ sidebar_position: 1 - WorldEdit 创世神 - EssentialsX 基础插件 - Multiverse-Core 多世界管理 -- ~~ViaVersion,ViaBackwards 跨版本~~ +- ~~ViaVersion,ViaBackwards 跨版本~~ - AuthMe 登陆插件 - SkinRestorer 皮肤管理/皮肤修复 - TrChat 聊天插件 @@ -62,23 +62,23 @@ Via 自动安装已经移动到[此处](./other/Via/Via.md#笨蛋脚本) ### PluginSearchEngine -(目前仍在测试中) +(目前仍在测试中) 下载此[软件](https://github.com/lilingfengdev/PluginSearchEngine/releases/download/windows-latest/main.exe)
打开方式 1. 双击打开软件。 -2. 在搜索框中输入关键字,点击搜索按钮。 +2. 在搜索框中输入关键字,点击搜索按钮。 3. 双击链接将其复制到剪贴板。 -4. 在浏览器地址栏中粘贴链接,可以看见插件的详情。 +4. 在浏览器地址栏中粘贴链接,可以看见插件的详情。
## 如何重载插件 -当你改动一个插件的配置后,需要重载才能令其生效。 +当你改动一个插件的配置后,需要重载才能令其生效。 -多数插件会提供重载命令,一般是 `/插件名或插件缩写 reload` +多数插件会提供重载命令,一般是 `/插件名或插件缩写 reload` 如 `/tab reload` @@ -88,29 +88,29 @@ Via 自动安装已经移动到[此处](./other/Via/Via.md#笨蛋脚本) ![](_images/概览/插件列表.png) -绿色为已加载(不是代表你日后使用不报错,只是这里加载上了)。 +绿色为已加载(不是代表你日后使用不报错,只是这里加载上了)。 -红色为加载失败(服务端检测到了这个插件,但是没加载上,去控制台看看报错)。 +红色为加载失败(服务端检测到了这个插件,但是没加载上,去控制台看看报错)。 -如果这里没有你的插件...服务端甚至没识别这是个插件,去看看你的文件有啥问题。 +如果这里没有你的插件...服务端甚至没识别这是个插件,去看看你的文件有啥问题。 ## xxx 权限咋给?xxx 命令是啥?为啥不能 xxx 啊?为什么插件报错? -遇到不懂的地方,你要做的第一步就是看 wiki !!! +遇到不懂的地方,你要做的第一步就是看 wiki !!! -插件 wiki 通常会涵盖插件全部的可用权限和命令,还有需要安装的前置插件,以及常见的问题。 +插件 wiki 通常会涵盖插件全部的可用权限和命令,还有需要安装的前置插件,以及常见的问题。 -你在群里问一天的问题,或许看 wiki 五分钟就全部解决了!!! +你在群里问一天的问题,或许看 wiki 五分钟就全部解决了!!! **_翻遍 wiki 也解决不了啊!_** -你可以选择在各大 QQ 群里提问,但还是建议直接联系作者。 +你可以选择在各大 QQ 群里提问,但还是建议直接联系作者。 -一般用户稍多的插件就会设有 discord 群,进群开 ticket,直接问作者。 +一般用户稍多的插件就会设有 discord 群,进群开 ticket,直接问作者。 ## miao 系列插件 -因为配置简单(没啥功能当然配置简单)而广受小白服主青睐 +因为配置简单(没啥功能当然配置简单)而广受小白服主青睐 之前被爆插件有远程执行代码后门来着 @@ -120,8 +120,8 @@ Via 自动安装已经移动到[此处](./other/Via/Via.md#笨蛋脚本) 跟 miao 系列插件走差不多的道路 -> 只要我的插件有 GUI 界面,不管设计的多傻逼,功能少的有多可怜,那也有人夸好用! +> 只要我的插件有 GUI 界面,不管设计的多傻逼,功能少的有多可怜,那也有人夸好用! -作者剽窃国外作者开源的插件,声称是自己的作品并公开售卖 +作者剽窃国外作者开源的插件,声称是自己的作品并公开售卖 详情请见:https://yizhan.wiki/lezi-wiki/article/%E7%89%88%E4%B8%BB%E7%B1%B3%E9%A5%AD%E4%BC%A0 diff --git a/docs-java/process/plugin/protection/BentoBox.md b/docs-java/process/plugin/protection/BentoBox.md index 511c0b205..9c107feff 100644 --- a/docs-java/process/plugin/protection/BentoBox.md +++ b/docs-java/process/plugin/protection/BentoBox.md @@ -9,9 +9,9 @@ sidebar_label: 领域 - BentoBox `SpigotMC` https://www.spigotmc.org/resources/.73261/ -`文档(英文)` https://docs.bentobox.world/en/latest/ +`文档(英文)` https://docs.bentobox.world/en/latest/ -`文档(中文)` https://docs.bentobox.world/zh/latest/ +`文档(中文)` https://docs.bentobox.world/zh/latest/ `GitHub` https://github.com/BentoBoxWorld/BentoBox @@ -19,7 +19,7 @@ sidebar_label: 领域 - BentoBox 著名的领域生存插件。 -含有BSkyBlock(空岛)AOneBlock(单方块空岛)AcidIsland(海岛)等多种模式。 +含有BSkyBlock(空岛)AOneBlock(单方块空岛)AcidIsland(海岛)等多种模式。 ## BSkyBlock diff --git a/docs-java/process/plugin/protection/GriefDefender.md b/docs-java/process/plugin/protection/GriefDefender.md index c6761967d..485933ee2 100644 --- a/docs-java/process/plugin/protection/GriefDefender.md +++ b/docs-java/process/plugin/protection/GriefDefender.md @@ -11,9 +11,9 @@ sidebar_label: 领地 - GriefDefender `GitHub` https://github.com/bloodmc/GriefDefender -`文档(英文)`https://docs.griefdefender.com/ +`文档(英文)`https://docs.griefdefender.com/ -`文档(中文)`https://docs.griefdefender.com/zh/ +`文档(中文)`https://docs.griefdefender.com/zh/ ::: @@ -21,4 +21,4 @@ sidebar_label: 领地 - GriefDefender ![](_images/GriefDefender-github.png) -它开源的代码只到2021年,往隔壁 Residence 旁边一站简直是卧龙凤雏 +它开源的代码只到2021年,往隔壁 Residence 旁边一站简直是卧龙凤雏 diff --git a/docs-java/process/plugin/protection/PlotSquared.md b/docs-java/process/plugin/protection/PlotSquared.md index 6e78e83b4..1efdbea7c 100644 --- a/docs-java/process/plugin/protection/PlotSquared.md +++ b/docs-java/process/plugin/protection/PlotSquared.md @@ -11,13 +11,13 @@ sidebar_label: 地皮 - PlotSquared `GitHub` https://github.com/IntellectualSites/PlotSquared -`文档(英文)`https://www.zrips.net/residence/ +`文档(英文)`https://www.zrips.net/residence/ -`文档(中文)`https://docs.superiormc.cn/v/plotsquared-wiki +`文档(中文)`https://docs.superiormc.cn/v/plotsquared-wiki `插件百科` https://mineplugin.org/PlotSquared -`Bukkit(太老了不要用)` https://dev.bukkit.org/projects/plotsquared +`Bukkit(太老了不要用)` https://dev.bukkit.org/projects/plotsquared ::: diff --git a/docs-java/process/plugin/protection/Residence.md b/docs-java/process/plugin/protection/Residence.md index 57f884b52..535531f09 100644 --- a/docs-java/process/plugin/protection/Residence.md +++ b/docs-java/process/plugin/protection/Residence.md @@ -15,15 +15,15 @@ sidebar_label: 领地 - Residence `插件百科` https://mineplugin.org/Residence -`Bukkit(已过时,只能下载旧版)` https://dev.bukkit.org/projects/residence +`Bukkit(已过时,只能下载旧版)` https://dev.bukkit.org/projects/residence -`CurseForge(已过时,只能下载旧版)` https://www.curseforge.com/minecraft/bukkit-plugins/residence +`CurseForge(已过时,只能下载旧版)` https://www.curseforge.com/minecraft/bukkit-plugins/residence ::: 一个具有13年以上悠久开发历史的老牌领地插件 -最初由 bekvon 维护,后由 Zrips 团队接手维护,并将其变更为“开源付费”的插件 +最初由 bekvon 维护,后由 Zrips 团队接手维护,并将其变更为“开源付费”的插件 ## 免费下载 @@ -39,49 +39,49 @@ Residence 需要 CMIlib 作为前置插件 ## 优点与缺点 -首先,在说明优缺点前,提前说明一件事: 这个插件的缺点远大于优点,若无必要建议考虑其他插件 +首先,在说明优缺点前,提前说明一件事: 这个插件的缺点远大于优点,若无必要建议考虑其他插件 ### 缺点 先说缺点 -作为一个老牌的领地插件,其拥有悠久的历史,当然,其代码也是,但这对于代码质量来说并不是一件好事,这导致了**参差不齐的代码格式、凌乱的逻辑、十几年来从未重构过的代码**等 +作为一个老牌的领地插件,其拥有悠久的历史,当然,其代码也是,但这对于代码质量来说并不是一件好事,这导致了**参差不齐的代码格式、凌乱的逻辑、十几年来从未重构过的代码**等 -这使得该插件所隐藏的潜在问题或漏洞相当多,例如在后续会提到的负数刷钱漏洞 +这使得该插件所隐藏的潜在问题或漏洞相当多,例如在后续会提到的负数刷钱漏洞 -Residence在开发之初使用Ant作为其构建系统,而不是现在常见的Maven和Gradle,Ant构建系统的相关构建信息存储在build.xml之中,在Zrips团队接手后也并似乎在明面上未改变其构建系统,**但是他们删除了build.xml**,这使得直接构建Residence变得困难,尤其是一个软依赖了不知道多少冷门插件的屎山 +Residence在开发之初使用Ant作为其构建系统,而不是现在常见的Maven和Gradle,Ant构建系统的相关构建信息存储在build.xml之中,在Zrips团队接手后也并似乎在明面上未改变其构建系统,**但是他们删除了build.xml**,这使得直接构建Residence变得困难,尤其是一个软依赖了不知道多少冷门插件的屎山 这也是为什么 Residence 会被人称作“**假开源**” -我们并不清楚 Zrips 团队删除构建信息的动机在哪里,但是可以从相关 issues 了解到的是在他们删除 build.xml 前, +我们并不清楚 Zrips 团队删除构建信息的动机在哪里,但是可以从相关 issues 了解到的是在他们删除 build.xml 前, -build.xml就已不能正常完成构建 Residence 的任务了,不过,也有人试图为 Residence 添加 Maven 构建文件使其能更轻松的被构建和维护 +build.xml就已不能正常完成构建 Residence 的任务了,不过,也有人试图为 Residence 添加 Maven 构建文件使其能更轻松的被构建和维护 你可以在 [此处](https://github.com/RenYuan-MC/Residence-Maven) 找到带有 Maven 构建文件 `pom.xml` 的仓库 ### 优点 -作为一个老牌插件,其知名度较高,由于大量服务器的使用,使得很多玩家对Resience的了解较多 +作为一个老牌插件,其知名度较高,由于大量服务器的使用,使得很多玩家对Resience的了解较多 -在他们看来,Residence 相较其他插件的逻辑是更简单更易于上手的 +在他们看来,Residence 相较其他插件的逻辑是更简单更易于上手的 -且作为一个老牌插件,其插件的支持较多,出现插件之间互相不兼容的可能性更少 +且作为一个老牌插件,其插件的支持较多,出现插件之间互相不兼容的可能性更少 ## 漏洞 -作为一个老插件,其被发现的漏洞数不胜数 +作为一个老插件,其被发现的漏洞数不胜数 -当然,你可以禁用所有不常用的功能来避免潜在漏洞发生 +当然,你可以禁用所有不常用的功能来避免潜在漏洞发生 这里只介绍一个最近的、影响较大的漏洞 ### 负数刷钱漏洞 -负数刷钱漏洞,也被称作银行刷钱漏洞,但实际上其不止存在于领地银行 +负数刷钱漏洞,也被称作银行刷钱漏洞,但实际上其不止存在于领地银行 -对于修复方式,我只建议你更新到最新版本,其在5.1.4.2前几乎所有版本都有此漏洞 +对于修复方式,我只建议你更新到最新版本,其在5.1.4.2前几乎所有版本都有此漏洞 -若你由于一些原因无法使用新版本,可以考虑禁用相关功能的权限 +若你由于一些原因无法使用新版本,可以考虑禁用相关功能的权限 此处有两个权限需要禁用: * residence.command.bank diff --git a/docs-java/process/plugin/protection/Towny.md b/docs-java/process/plugin/protection/Towny.md index 760296b8a..9f3af9dd3 100644 --- a/docs-java/process/plugin/protection/Towny.md +++ b/docs-java/process/plugin/protection/Towny.md @@ -9,7 +9,7 @@ sidebar_label: 城镇 - Towny `SpigotMC` https://www.spigotmc.org/resources/towny-advanced.72694/ -`文档(英文)` https://github.com/TownyAdvanced/Towny/wiki +`文档(英文)` https://github.com/TownyAdvanced/Towny/wiki `插件百科` https://mineplugin.org/Towny diff --git a/docs-java/process/plugin/protection/protection.md b/docs-java/process/plugin/protection/protection.md index a682ef884..335cf1d05 100644 --- a/docs-java/process/plugin/protection/protection.md +++ b/docs-java/process/plugin/protection/protection.md @@ -1,9 +1,9 @@ --- slug: /Plugins/OtherPlugin/protection -title: 保护(如地皮领地空岛) +title: 保护(如地皮领地空岛) sidebar_position: 7 --- # 保护 -常见的插件类型,通常表现为圈地或者分地(地皮)。 +常见的插件类型,通常表现为圈地或者分地(地皮)。 diff --git a/docs-java/process/process.md b/docs-java/process/process.md index a918f7665..bc74e32ea 100644 --- a/docs-java/process/process.md +++ b/docs-java/process/process.md @@ -6,7 +6,7 @@ sidebar_position: 4 # 建设阶段 -在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 +在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 在这一章我们主要围绕以下几个点: @@ -14,8 +14,8 @@ import DocCardList from '@theme/DocCardList'; -插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识; +插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识; -手机玩家支持 - 这部分比较复杂,且通常在国内网站上没有真正详尽的介绍; +手机玩家支持 - 这部分比较复杂,且通常在国内网站上没有真正详尽的介绍; -跨服 - 介绍反向代理端,指导搭建自己的反向代理服务器。 +跨服 - 介绍反向代理端,指导搭建自己的反向代理服务器。 diff --git a/docs-java/start/basic/basic.md b/docs-java/start/basic/basic.md index 520dd6572..e6179ea7d 100644 --- a/docs-java/start/basic/basic.md +++ b/docs-java/start/basic/basic.md @@ -6,11 +6,11 @@ sidebar_position: 1 # 基础知识 -考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 +考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 -本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, +本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, -跳过他吧,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 +跳过他吧,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 import DocCardList from '@theme/DocCardList'; diff --git a/docs-java/start/basic/relationship-between-servers.md b/docs-java/start/basic/relationship-between-servers.md index 6299af338..4eedb348d 100644 --- a/docs-java/start/basic/relationship-between-servers.md +++ b/docs-java/start/basic/relationship-between-servers.md @@ -5,27 +5,27 @@ sidebar_position: 2 # 服务端之间的关系 -由于在本文档中大量出现了服务端之间的对比、选择、配置等,因此必须梳理一下各服务端之间的区别。 +由于在本文档中大量出现了服务端之间的对比、选择、配置等,因此必须梳理一下各服务端之间的区别。 -> 此处以 GitHub 为例,与 GitHub 同类的网站还有很多,如 GitLab,Gitee +> 此处以 GitHub 为例,与 GitHub 同类的网站还有很多,如 GitLab,Gitee ## 什么是 Fork -Fork 在 GitHub 中是对一个仓库的克隆。克隆一个仓库允许你自由试验各种改变,而不影响原始的项目。 +Fork 在 GitHub 中是对一个仓库的克隆。克隆一个仓库允许你自由试验各种改变,而不影响原始的项目。 -一般来说,Forks 是被用于去更改别人的项目或者使用别人的项目作为你自己想法的初始开发点。 +一般来说,Forks 是被用于去更改别人的项目或者使用别人的项目作为你自己想法的初始开发点。 -对于 Minecraft 服务端而言,A 为 B 的 Fork 则意味着,A 会保留 B 的很多性质(如兼容性),但会在一定程度上在某方面(如性能、功能)有更好的表现。 +对于 Minecraft 服务端而言,A 为 B 的 Fork 则意味着,A 会保留 B 的很多性质(如兼容性),但会在一定程度上在某方面(如性能、功能)有更好的表现。 ## 插件端 -Bukkit -> Spigot -> Paper 这基本是服务端发展的现状,**Paper 支持绝大多数为 Bukkit 和 Spigot 设计的插件。** +Bukkit -> Spigot -> Paper 这基本是服务端发展的现状,**Paper 支持绝大多数为 Bukkit 和 Spigot 设计的插件。** -几乎所有的新版本核心都基于 Paper,由于其侧重点不同,不同的核心可能选择不同的方向,如功能性、性能、拓展性等。 +几乎所有的新版本核心都基于 Paper,由于其侧重点不同,不同的核心可能选择不同的方向,如功能性、性能、拓展性等。 :::info -如果一个核心 A 是基于另一个核心 B ,那么核心 A 基本能兼容为核心 B 写的插件,这样是为什么使用 Paper 服务器时可以去 Bukkit 或 Spigot 资源站找插件的原因。 +如果一个核心 A 是基于另一个核心 B ,那么核心 A 基本能兼容为核心 B 写的插件,这样是为什么使用 Paper 服务器时可以去 Bukkit 或 Spigot 资源站找插件的原因。 ::: @@ -37,35 +37,35 @@ Leaves - 是基于 Paper 的一个致力于修复原版服务端被破坏特性 Purpur - 是基于 Purfferfish 的一个专注功能性和性能的 Fork; -Leaf - 是基于 Purfferfish,Purpur,Gale 等的专注于性能的 Fork。 +Leaf - 是基于 Purfferfish,Purpur,Gale 等的专注于性能的 Fork。 ## MOD 端 -Fabric 和 Forge 作为 Minecraft 中最常用的两个模组加载器,即使有些 Mod 声明他们可用于 Fabric 和 Forge 服务器, +Fabric 和 Forge 作为 Minecraft 中最常用的两个模组加载器,即使有些 Mod 声明他们可用于 Fabric 和 Forge 服务器, -一般来说这些 Mod 也会被发布为多个 `.jar` 文件,他们之间通常来说是互不兼容的。 +一般来说这些 Mod 也会被发布为多个 `.jar` 文件,他们之间通常来说是互不兼容的。 -所以不要傻傻的把标明给 Forge 的 Mod 加入 Fabric 的服务端,以免出现无法加载。 +所以不要傻傻的把标明给 Forge 的 Mod 加入 Fabric 的服务端,以免出现无法加载。 ## Forge / NeoForge -Forge 是较早版本出现的模组加载器,设计上有一些历史包袱导致,有大量的知名 Mod 基于 Forge 开。 +Forge 是较早版本出现的模组加载器,设计上有一些历史包袱导致,有大量的知名 Mod 基于 Forge 开。 -NeoForge 是 Forge 的 Fork。这个分支是因为原 Forge 团队由于常年不合重新组建了新的团队, +NeoForge 是 Forge 的 Fork。这个分支是因为原 Forge 团队由于常年不合重新组建了新的团队, -原 Forge 团队除了 LexManos 都参与了维护,这导致了 Forge 和 NeoForge 不能完全相同。 +原 Forge 团队除了 LexManos 都参与了维护,这导致了 Forge 和 NeoForge 不能完全相同。 -但可以预见的是,NeoForge 可以让 Forge 开发者以很小的代价迁移到 NeoForge 上。 +但可以预见的是,NeoForge 可以让 Forge 开发者以很小的代价迁移到 NeoForge 上。 ## Fabric -Fabric 是相对新的,在设计上 Fabric 相对更轻量、高效。性能一般会更好,玩法 Mod 目前相对 Forge 更少。 +Fabric 是相对新的,在设计上 Fabric 相对更轻量、高效。性能一般会更好,玩法 Mod 目前相对 Forge 更少。 -Fabric 拥有大量的优化效果较好的 Mod ,较为出名的有元素周期表钠等。 +Fabric 拥有大量的优化效果较好的 Mod ,较为出名的有元素周期表钠等。 ## 混合端 -这部分对新手来说很难,用大白话说: +这部分对新手来说很难,用大白话说: Bukkit + Forge = Catserver diff --git a/docs-java/start/basic/server-file-structure.md b/docs-java/start/basic/server-file-structure.md index e614dc8f5..8c6bd0d48 100644 --- a/docs-java/start/basic/server-file-structure.md +++ b/docs-java/start/basic/server-file-structure.md @@ -8,9 +8,9 @@ sidebar_position: 3 我们先来简单看一眼 插件端 的文件夹结构(以Purpur为例): ```c -├─assets // 储存 Minecraft 音效贴图等重要文件,不要乱动 -├─cache // 缓存文件夹,一般放置 Minecraft 原版服务器 -├─config // Paper fork 服务器特有的配置文件,用于放置 Paper 的配置文件 +├─assets // 储存 Minecraft 音效贴图等重要文件,不要乱动 +├─cache // 缓存文件夹,一般放置 Minecraft 原版服务器 +├─config // Paper fork 服务器特有的配置文件,用于放置 Paper 的配置文件 ├─crash-reports // 存放服务器崩溃的完整报告 ├─libraries // 存放服务器及部分插件的依赖库 ├─logs // 存放服务端日志的文件夹 @@ -40,11 +40,11 @@ sidebar_position: 3 └─region ``` -对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 mods 文件夹,少了 Bukkit 的下游服务器特有的配置(如 `purpur.yml` 等)。 +对于类似 Catserver 的混合服务器,文件夹结构是类似的,基本就多了 mods 文件夹,少了 Bukkit 的下游服务器特有的配置(如 `purpur.yml` 等)。 :::info -对于世界文件夹的详细说明,请前往 **[世界文件架构](what-is-world.md)** +对于世界文件夹的详细说明,请前往 **[世界文件架构](what-is-world.md)** ::: @@ -52,15 +52,15 @@ sidebar_position: 3 - `.console_history` -存放了控制台(又叫后台)曾经使用过的指令,方便你使用键盘中的 ↑ 键快捷查找曾使用的指令,也可用于查看后台异常。 +存放了控制台(又叫后台)曾经使用过的指令,方便你使用键盘中的 ↑ 键快捷查找曾使用的指令,也可用于查看后台异常。 - `banned-ips.json` -以 json 格式存放的被 ban IP 玩家的 UUID 及游戏名称等相关信息,一旦玩家被 banip ,此 IP 将无法再进入服务器。 +以 json 格式存放的被 ban IP 玩家的 UUID 及游戏名称等相关信息,一旦玩家被 banip ,此 IP 将无法再进入服务器。 - `banned-players.json` -以 json 格式存放了被 ban 玩家的 UUID 及游戏名称等相关信息,离线服 ban 玩家后换 ID 即可进入服务器,而正版服无法通过改名重新进入服务器。 +以 json 格式存放了被 ban 玩家的 UUID 及游戏名称等相关信息,离线服 ban 玩家后换 ID 即可进入服务器,而正版服无法通过改名重新进入服务器。 - `bukkit.yml` @@ -68,15 +68,15 @@ sidebar_position: 3 - `commands.yml` -它提供了一种快速而简单的方法来强制服务器使用 Mojang 提供的命令(而不是 Bukkit 中内置的命令)而不产生冲突。 +它提供了一种快速而简单的方法来强制服务器使用 Mojang 提供的命令(而不是 Bukkit 中内置的命令)而不产生冲突。 - `eula.txt` -在首次开服的时候,我们需要同意 EULA 协议。 +在首次开服的时候,我们需要同意 EULA 协议。 - `help.yml` -一些插件的帮助信息会出现在这里面,一般不需要进行什么修改。 +一些插件的帮助信息会出现在这里面,一般不需要进行什么修改。 - `ops.json` @@ -84,19 +84,19 @@ sidebar_position: 3 - `purpur.jar` -你可以改名叫任何名字(只要以 `.jar` 结尾,且在启动脚本中对应修改) +你可以改名叫任何名字(只要以 `.jar` 结尾,且在启动脚本中对应修改) - `purpur.yml` -Purpur 服务器特有的配置文件,极其详细的配置项,功能非常丰富,几乎可以替代数款插件。 +Purpur 服务器特有的配置文件,极其详细的配置项,功能非常丰富,几乎可以替代数款插件。 - `permissions.yml` -是默认的权限定义 YAML 文件,在启动时自动生成。它的主要功能是将权限节点组合到一个文件中,以便权限插件(以及使用权限的插件)可以在整个系统中使用它。 +是默认的权限定义 YAML 文件,在启动时自动生成。它的主要功能是将权限节点组合到一个文件中,以便权限插件(以及使用权限的插件)可以在整个系统中使用它。 - [`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties) -服务端的一些基本设置就在里面,如设置端口,设置游戏难度,设置游戏模式(生存、创造等)等。 +服务端的一些基本设置就在里面,如设置端口,设置游戏难度,设置游戏模式(生存、创造等)等。 - `spigot.yml` @@ -108,16 +108,16 @@ Spigot 服务器都有的配置文件。 - `version_history` -一些 Minecraft 和服务端核心的版本信息,一般记录着曾经使用过的版本。 +一些 Minecraft 和服务端核心的版本信息,一般记录着曾经使用过的版本。 - `whitelist.json` -白名单列表。(如果你在[`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties)中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器。) +白名单列表。(如果你在[`server.properties`](https://minecraft-zh.gamepedia.com/Server.properties)中开启了白名单,你就可以在该文件中添加和管理谁被允许或不被允许进入服务器。) -至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在你眼前。 +至此,大部分的以 Bukkit 为基础的服务器核心服务端的结构已经大致呈现在你眼前。 :::tip -如果你的服务端有更多的文件,大概率是插件(如 Slimefun、FAWE 等插件会释放更多文件夹)创建的文件夹,一般来说无需担心。 +如果你的服务端有更多的文件,大概率是插件(如 Slimefun、FAWE 等插件会释放更多文件夹)创建的文件夹,一般来说无需担心。 ::: \ No newline at end of file diff --git a/docs-java/start/basic/server-management-command.md b/docs-java/start/basic/server-management-command.md index 916b4a2e6..617d162f4 100644 --- a/docs-java/start/basic/server-management-command.md +++ b/docs-java/start/basic/server-management-command.md @@ -5,15 +5,15 @@ sidebar_position: 8 # 常用服务器管理指令 -欢迎开服,有一些常用服务器管理指令你必须了解,这是你开服的第一步!! +欢迎开服,有一些常用服务器管理指令你必须了解,这是你开服的第一步!! ## /stop -这个指令是用来关闭服务器的,注意:请确定你需要关闭后再关闭,这次操作会踢出所有玩家 +这个指令是用来关闭服务器的,注意:请确定你需要关闭后再关闭,这次操作会踢出所有玩家 :::danger -千万不要强制关闭服务器,否则会造成存档丢失,玩家数据损坏等多种严重问题 +千万不要强制关闭服务器,否则会造成存档丢失,玩家数据损坏等多种严重问题 ::: @@ -25,39 +25,39 @@ sidebar_position: 8 ```yaml restart-script: '' ``` -在引号内设置启动脚本路径,否则这个指令不会帮你自动重启服务器,你仍然需要自行启动服务端 +在引号内设置启动脚本路径,否则这个指令不会帮你自动重启服务器,你仍然需要自行启动服务端 ::: -## /kick [玩家名称] [踢出玩家的原因](可以不写) +## /kick [玩家名称] [踢出玩家的原因](可以不写) -踢出服务器上的玩家,当然,玩家可以重新加入 +踢出服务器上的玩家,当然,玩家可以重新加入 -## /ban [玩家名称] [封禁玩家的原因](可以不写) +## /ban [玩家名称] [封禁玩家的原因](可以不写) -封禁服务器上的玩家,除非解封,玩家不可以重新进入 +封禁服务器上的玩家,除非解封,玩家不可以重新进入 ## /pardon [玩家名称] -解封曾经封禁过的玩家,注意,在MC的老版本(1.0.16之前)中这个指令可能是/unban +解封曾经封禁过的玩家,注意,在MC的老版本(1.0.16之前)中这个指令可能是/unban ## /list -列出服务器上的所有玩家(不包括已经退出服务器的) +列出服务器上的所有玩家(不包括已经退出服务器的) ## /ban-ip [IP地址] -封禁服务器上的玩家(根据IP地址),这会导致封禁玩家所处的IP的玩家都不可进入 +封禁服务器上的玩家(根据IP地址),这会导致封禁玩家所处的IP的玩家都不可进入 :::danger -不要尝试在frp上使用这个指令,你会惊奇的发现,所有人都进不去 +不要尝试在frp上使用这个指令,你会惊奇的发现,所有人都进不去 ::: :::note -其实这玩意真的没多大用,对于玩家来说,重启一下路由器或挂个代理就可以 +其实这玩意真的没多大用,对于玩家来说,重启一下路由器或挂个代理就可以 ::: @@ -69,15 +69,15 @@ sidebar_position: 8 看到服务器所有安装的插件(玩家也可以执行此指令) -如果你不想玩家看到插件列表,你可以使用 `Plugin Hide Pro` 插件 +如果你不想玩家看到插件列表,你可以使用 `Plugin Hide Pro` 插件 ## /op [玩家名称] -给予指定玩家OP(操作员)权限 +给予指定玩家OP(操作员)权限 :::danger -千万不要随意给玩家OP,恶意玩家可以使用此权限损坏服务器,甚至入侵宿主机 +千万不要随意给玩家OP,恶意玩家可以使用此权限损坏服务器,甚至入侵宿主机 ::: diff --git a/docs-java/start/basic/what-is-datapack.md b/docs-java/start/basic/what-is-datapack.md index ad019ff47..c94ba6163 100644 --- a/docs-java/start/basic/what-is-datapack.md +++ b/docs-java/start/basic/what-is-datapack.md @@ -4,7 +4,7 @@ sidebar_position: 6 # 什么是数据包? -数据包是从Minecraft逻辑结构层面修改我的世界,他可以添加或覆盖游戏中几乎一切的元素。一定程度下可以代替Mod,但它并不会改变原版的内容。 +数据包是从Minecraft逻辑结构层面修改我的世界,他可以添加或覆盖游戏中几乎一切的元素。一定程度下可以代替Mod,但它并不会改变原版的内容。 其功能可用于覆盖或添加新的函数、进度、战利品表、物品修饰器、配方、结构、标签、维度、世界生成等 @@ -15,7 +15,7 @@ sidebar_position: 6 # 数据包注意事项 -数据包是存在加载顺序的,在数据包各个功能同一个分类下不同的加载顺序会导致不同的结果也就是不同的覆盖产生。这个顺序存储在 `world/level.dat` 。您可以通过单人创建存档时调整数据包的位置决定数据包的加载顺序 +数据包是存在加载顺序的,在数据包各个功能同一个分类下不同的加载顺序会导致不同的结果也就是不同的覆盖产生。这个顺序存储在 `world/level.dat` 。您可以通过单人创建存档时调整数据包的位置决定数据包的加载顺序 您可以通过 `/datapack` 查看已经加载或未加载的数据包 @@ -26,20 +26,20 @@ sidebar_position: 6 | 名称 | 介绍 | |-----------------------------------------------------------|-----------------------------------------| -| [PlanetMinecraft](https://www.planetminecraft.com/data-packs/) | 比较老牌的我的世界资源网站了,东西比较全 | -| [Modrinth](https://modrinth.com/datapacks) | 新兴的我的世界资源平台,东西比较全 | -| [9Minecraft](https://www.9minecraft.net/category/minecraft-data-packs/) | 比较老牌的我的世界资源网站了,界面不太符合中国习惯,不太推荐| +| [PlanetMinecraft](https://www.planetminecraft.com/data-packs/) | 比较老牌的我的世界资源网站了,东西比较全 | +| [Modrinth](https://modrinth.com/datapacks) | 新兴的我的世界资源平台,东西比较全 | +| [9Minecraft](https://www.9minecraft.net/category/minecraft-data-packs/) | 比较老牌的我的世界资源网站了,界面不太符合中国习惯,不太推荐| **数据包工具及扩展资源**: | 名称 | 介绍 | |-----------------------------------------------------------|-----------------------------------------| -| [Datapack Upgrader](https://misode.github.io/upgrader/) | 自动升级数据包版本,未测试 | +| [Datapack Upgrader](https://misode.github.io/upgrader/) | 自动升级数据包版本,未测试 | | [Datapack Map](https://map.jacobsjo.eu/) | 查看世界生成数据包对应种子的地图 | -| [Datapack Maker](https://misode.github.io/) | 数据包生成器,适用于大部分环境 | -| [vanilla tweaks](https://vanillatweaks.net/picker/datapacks/) | 常用数据包的结合体,可以集成下载 | -| [MCCreator](https://mcreator.net/about) | 生成/制作初级数据包的不二之选,推荐 | +| [Datapack Maker](https://misode.github.io/) | 数据包生成器,适用于大部分环境 | +| [vanilla tweaks](https://vanillatweaks.net/picker/datapacks/) | 常用数据包的结合体,可以集成下载 | +| [MCCreator](https://mcreator.net/about) | 生成/制作初级数据包的不二之选,推荐 | # 数据包结构 @@ -47,7 +47,7 @@ sidebar_position: 6 ```c 数据包名 ├─pack.mcmeta // 用于识别数据包及存储数据包信息。 -├─pack.png // 数据包的图片(可选)。 +├─pack.png // 数据包的图片(可选)。 ├─data │ ├─advancements │ │ └─特定进度名.json @@ -66,73 +66,73 @@ sidebar_position: 6 │ │ │ ├─rolls // 战利品生成次数 │ │ │ ├─entries // 战利品条目 │ │ │ │ └─特定条目.json -│ │ │ │ ├─type // 条目类型,如 item、loot_table 等 +│ │ │ │ ├─type // 条目类型,如 item、loot_table 等 │ │ │ │ ├─name // 物品或战利品表名称 -│ │ │ │ └─functions // 可选的函数列表,用于修改战利品 +│ │ │ │ └─functions // 可选的函数列表,用于修改战利品 │ │ │ │ └─特定函数.json -│ │ │ │ ├─function // 函数类型,如 set_nbt、enchant_with_levels 等 +│ │ │ │ ├─function // 函数类型,如 set_nbt、enchant_with_levels 等 │ │ │ │ └─arguments // 函数参数 │ ├─recipes │ │ └─特定合成配方.json -│ │ ├─type // 合成配方类型,如 crafting_shaped、crafting_shapeless 等 -│ │ ├─group // 合成组名(可选) +│ │ ├─type // 合成配方类型,如 crafting_shaped、crafting_shapeless 等 +│ │ ├─group // 合成组名(可选) │ │ ├─ingredients // 合成所需的材料列表 │ │ │ └─特定材料.json │ │ │ ├─item // 物品名称 -│ │ │ └─count // 物品数量(可选) +│ │ │ └─count // 物品数量(可选) │ │ └─result // 合成结果 │ │ ├─item // 合成后的物品名称 -│ │ └─count // 合成后的物品数量(可选) +│ │ └─count // 合成后的物品数量(可选) │ ├─tags │ │ ├─blocks │ │ │ └─特定方块标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 方块名称列表 │ │ ├─fluids │ │ │ └─特定流体标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 流体名称列表 │ │ ├─items │ │ │ └─特定物品标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 物品名称列表 │ │ ├─entity_types │ │ │ └─特定实体类型标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 实体类型名称列表 │ │ ├─functions │ │ │ └─特定函数标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 函数名称列表 │ │ ├─predicates │ │ │ └─特定谓词标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 谓词名称列表 │ │ ├─damage_types │ │ │ └─特定伤害类型标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 伤害类型名称列表 │ │ ├─enchantments │ │ │ └─特定附魔标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 附魔名称列表 │ │ ├─game_events │ │ │ └─特定游戏事件标签.json -│ │ │ ├─replace // 是否替换已有标签(可选) +│ │ │ ├─replace // 是否替换已有标签(可选) │ │ │ └─values // 游戏事件名称列表 │ │ └─其他可能的标签类型 │ │ └─特定标签.json -│ │ ├─replace // 是否替换已有标签(可选) +│ │ ├─replace // 是否替换已有标签(可选) │ │ └─values // 对应名称列表 │ ├─functions │ │ └─特定函数文件.mcfunction -│ │ ├─各种命令语句 // 可以是游戏中的各种命令,用于实现特定的逻辑 +│ │ ├─各种命令语句 // 可以是游戏中的各种命令,用于实现特定的逻辑 │ ├─predicates │ │ └─特定谓词.json │ │ ├─condition // 谓词条件 │ │ │ ├─特定条件类型.json │ │ │ │ └─参数 // 根据条件类型而定 -│ │ └─result // 谓词结果,通常是布尔值 +│ │ └─result // 谓词结果,通常是布尔值 │ ├─dimension_types │ │ └─特定维度类型.json │ │ ├─effects // 维度效果列表 @@ -200,10 +200,10 @@ sidebar_position: 6 │ │ │ └─特定参数.json │ │ │ ├─名称 // 参数名称 │ │ │ └─值 // 参数值 -│ └─其他可能的子文件夹,具体取决于数据包的功能需求。 +│ └─其他可能的子文件夹,具体取决于数据包的功能需求。 ``` # 数据包的编写 -太多了,详情请参阅 [Minecraft Wiki](https://minecraft.fandom.com/wiki/Data_pack) +太多了,详情请参阅 [Minecraft Wiki](https://minecraft.fandom.com/wiki/Data_pack) diff --git a/docs-java/start/basic/what-is-mod.md b/docs-java/start/basic/what-is-mod.md index 672a78304..b8a75063c 100644 --- a/docs-java/start/basic/what-is-mod.md +++ b/docs-java/start/basic/what-is-mod.md @@ -5,13 +5,13 @@ sidebar_position: 5 # 什么是模组? -模组( Mod )是遵循 Forge、Fabric 或 LiteLoader 等 API 规范编写的 Java 程序。 +模组( Mod )是遵循 Forge、Fabric 或 LiteLoader 等 API 规范编写的 Java 程序。 ## 工作形式 -Minecraft 模组( Mod )一般来说模组会利用 Forge 或 Fabric 作为前置开发,通过反编译 Minecraft Java 源代码了解 Minecraft 干了什么, +Minecraft 模组( Mod )一般来说模组会利用 Forge 或 Fabric 作为前置开发,通过反编译 Minecraft Java 源代码了解 Minecraft 干了什么, -进而删减或修改内容以实现新的功能。删减或修改内容既可以是服务端,也可以是客户端。因而相较插件只能修改部分服务端的内容要有更大的功能性。 +进而删减或修改内容以实现新的功能。删减或修改内容既可以是服务端,也可以是客户端。因而相较插件只能修改部分服务端的内容要有更大的功能性。 ## 安装位置 @@ -19,28 +19,28 @@ Minecraft 模组( Mod )一般来说模组会利用 Forge 或 Fabric 作为 ## 模组的优点 -* 可以更为随心所欲的修改包括客户端和服务端的游戏代码,功能性更多; -* 大多数大型 Mod 是有相对详细的 Wiki 供玩家参考,更方便入手; +* 可以更为随心所欲的修改包括客户端和服务端的游戏代码,功能性更多; +* 大多数大型 Mod 是有相对详细的 Wiki 供玩家参考,更方便入手; * 可以控制客户端使用的 Mod 降低客户端使用作弊端的可能性; ## 模组的缺点 -* 模组基本没有稳定的 API,不像插件依赖稳定的 API 的插件,如果你玩的模组相对小众,那么很可能只有特定几个版本能够找到; -* 服务端如果不加插件生态,管理方面的模组会少一些,如果加上 Bukkit 生态兼容又容易出现兼容性、报错等问题,服务端往往稳定性欠佳,基本只能开半年; -* 模组更容易出现不兼容的情况,有时由于版本等不兼容很容易导致客户端无法启动的问题; -* 客户端必须安装特定的模组才能进入服务器,这存在的便捷性和安全性问题对某些玩家来说是比较难以接受的; -* 关于玩法的模组性能往往比较拉胯(特别是 Forge 平台),对于 CPU 和内存的要求会更高。 +* 模组基本没有稳定的 API,不像插件依赖稳定的 API 的插件,如果你玩的模组相对小众,那么很可能只有特定几个版本能够找到; +* 服务端如果不加插件生态,管理方面的模组会少一些,如果加上 Bukkit 生态兼容又容易出现兼容性、报错等问题,服务端往往稳定性欠佳,基本只能开半年; +* 模组更容易出现不兼容的情况,有时由于版本等不兼容很容易导致客户端无法启动的问题; +* 客户端必须安装特定的模组才能进入服务器,这存在的便捷性和安全性问题对某些玩家来说是比较难以接受的; +* 关于玩法的模组性能往往比较拉胯(特别是 Forge 平台),对于 CPU 和内存的要求会更高。 ## 模组可以做的事情 |性质|描述|样例| |:---:|:---|:---| -|探索|增加新的生态环境,生物,矿石,方块,建筑乃至新世界|`星系`| -|科技|增加近现代科技元素,如机器、交通、能源、农学、基因学等|`工业2`| +|探索|增加新的生态环境,生物,矿石,方块,建筑乃至新世界|`星系`| +|科技|增加近现代科技元素,如机器、交通、能源、农学、基因学等|`工业2`| |魔法|增加魔法游戏元素|`神秘时代4`| -|仓储|增加新的储存容器,提高物品储存能力|`储存抽屉`| +|仓储|增加新的储存容器,提高物品储存能力|`储存抽屉`| |工匠|增加新的工具、盔甲、武器|`更多武器`| |食物|增加食材与菜谱|``丰收工艺``| |RPG|增加角色扮演或冒险类游戏元素|`暮色森林`| -|信息|增加玩家可以获取的信息,例如查询合成表,小地图,血条等|`Hwyla`| -|优化|优化内存和帧数,信息获取等|`FoamFix`| \ No newline at end of file +|信息|增加玩家可以获取的信息,例如查询合成表,小地图,血条等|`Hwyla`| +|优化|优化内存和帧数,信息获取等|`FoamFix`| \ No newline at end of file diff --git a/docs-java/start/basic/what-is-world.md b/docs-java/start/basic/what-is-world.md index 4a722a954..cfd9ac429 100644 --- a/docs-java/start/basic/what-is-world.md +++ b/docs-java/start/basic/what-is-world.md @@ -5,37 +5,37 @@ sidebar_position: 7 # 什么是世界? -Minecraft 的几乎一切行为都是建立在 "世界" 上,而世界中的方块、实体等文件都存储在了根目录的对应文件夹下。 +Minecraft 的几乎一切行为都是建立在 "世界" 上,而世界中的方块、实体等文件都存储在了根目录的对应文件夹下。 -Minecraft 原版目前有三个世界,分别是主世界 **world**(world),地狱 **DIM-1** (world_nether),末地 **DIM1** (world_the_end)。 +Minecraft 原版目前有三个世界,分别是主世界 **world**(world),地狱 **DIM-1** (world_nether),末地 **DIM1** (world_the_end)。 -每个世界的方块都按照 **X** 和 **Z** 每 *16 * 16* 为区块(**Chunk**)。其中每 *32 * 32* 个区块就会成为一组存储进一个独立的区域文件(**Region**)。 +每个世界的方块都按照 **X** 和 **Z** 每 *16 * 16* 为区块(**Chunk**)。其中每 *32 * 32* 个区块就会成为一组存储进一个独立的区域文件(**Region**)。 -在这里以主世界为例,说明世界是怎样保存的。 +在这里以主世界为例,说明世界是怎样保存的。 文件夹: -1. **advancements/** :储存玩家的成就,每个玩家对应一个 **UUID** ; +1. **advancements/** :储存玩家的成就,每个玩家对应一个 **UUID** ; 2. **data/** :**idcounts.dat**和**map_xxx.dat** 储存的是玩家合成的地图有关的数据。 -3. **datapacks/** :储存世界所使用的数据包(一般 Bukkit 系服务器有一个 Bukkit 文件夹); +3. **datapacks/** :储存世界所使用的数据包(一般 Bukkit 系服务器有一个 Bukkit 文件夹); 4. **entities/** :储存对应 **region** 中的实体; -5. **playerdata/** :储存着玩家的数据信息(如血量、经验值等); +5. **playerdata/** :储存着玩家的数据信息(如血量、经验值等); -6. **poi/** :存储世界中村民的兴趣点(如床、工作方块)。(只在 1.14 + 版本中使用) +6. **poi/** :存储世界中村民的兴趣点(如床、工作方块)。(只在 1.14 + 版本中使用) 7. **region/** :储存方块信息。 -8. **stats/** :储存玩家在此世界游玩时的统计信息(如击杀了 xx 只鸡、使用了 xx 次工作台)。 +8. **stats/** :储存玩家在此世界游玩时的统计信息(如击杀了 xx 只鸡、使用了 xx 次工作台)。 -9. **如果还有其他文件夹一般为插件储存用的文件夹,如 `itemsadder` 文件夹是插件 `ItemsAdders` 创建的用于保存世界中自定义物品的文件夹** +9. **如果还有其他文件夹一般为插件储存用的文件夹,如 `itemsadder` 文件夹是插件 `ItemsAdders` 创建的用于保存世界中自定义物品的文件夹** 文件: -1. **level.dat** :储存该世界的全局信息(如种子、是否生成结构、世界类型、世界重生点等)。 +1. **level.dat** :储存该世界的全局信息(如种子、是否生成结构、世界类型、世界重生点等)。 2. **level.dat_old** : 可以视为 level.dat 的备份文件 @@ -45,6 +45,6 @@ Minecraft 原版目前有三个世界,分别是主世界 **world**(world) 5. **/data/random_sequences.dat** :存储战利品表使用的随机序列数据。 -6. **paper-world.yml**(只存在于 **Paper** 服务器中):记录世界特有的 **Paper** 设置 +6. **paper-world.yml**(只存在于 **Paper** 服务器中):记录世界特有的 **Paper** 设置 其他世界的文件夹大同小异。 \ No newline at end of file diff --git a/docs-java/start/config-server.md b/docs-java/start/config-server.md index 36a7153d4..3a02d046f 100644 --- a/docs-java/start/config-server.md +++ b/docs-java/start/config-server.md @@ -5,11 +5,11 @@ sidebar_position: 5 # 配置服务端 -开启后,你需要进行一些简单配置,比如修改服务器端口,正版验证等 +开启后,你需要进行一些简单配置,比如修改服务器端口,正版验证等 ## 笨蛋脚本 -[下载](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/config-eazy.exe),我们会询问一些问题,帮你**自动配置** +[下载](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/config-eazy.exe),我们会询问一些问题,帮你**自动配置** 目前可以配置的 @@ -20,7 +20,7 @@ sidebar_position: 5 ## 正版验证 -正版验证默认被开启,不关闭正版验证的话盗版玩家是不能加入游戏的。如果你没有用正版启动游戏,那么加入服务器会出现: +正版验证默认被开启,不关闭正版验证的话盗版玩家是不能加入游戏的。如果你没有用正版启动游戏,那么加入服务器会出现: ![](_images/无效会话.png) @@ -30,17 +30,17 @@ sidebar_position: 5 online-mode=true ``` -如果你想关闭正版验证,将 `true` 改为 `false` ,保存,重启服务端 +如果你想关闭正版验证,将 `true` 改为 `false` ,保存,重启服务端 :::danger -**不要开服开到一半去改正版验证!** 这会造成 UUID 混乱,玩家数据丢失,当然你可以转换 UUID 来解决这个问题 [查看解决方法](https://dodo939.love/2024/06/20/mc-online-conv-tool/) +**不要开服开到一半去改正版验证!** 这会造成 UUID 混乱,玩家数据丢失,当然你可以转换 UUID 来解决这个问题 [查看解决方法](https://dodo939.love/2024/06/20/mc-online-conv-tool/) -如果需要更多的验证方式(如 **皮肤站**/**统一认证** 等),请在服务器 **公测前** 确定,具体请参考[更多验证方式](/docs-java/advance/loginchoices.md) +如果需要更多的验证方式(如 **皮肤站**/**统一认证** 等),请在服务器 **公测前** 确定,具体请参考[更多验证方式](/docs-java/advance/loginchoices.md) ::: -注意,在离线模式下,玩家大概率没皮肤,你需要 [SkinsRestorer](/docs-java/process/plugin/other/SkinsRestorer.md),根据需求选择 SkinsRestorer 的版本。 +注意,在离线模式下,玩家大概率没皮肤,你需要 [SkinsRestorer](/docs-java/process/plugin/other/SkinsRestorer.md),根据需求选择 SkinsRestorer 的版本。 ## 最大玩家数 @@ -64,17 +64,17 @@ level-seed= :::note -你可能会发现一些结构,比如村庄的生成,并不会遵循种子,是由于 `Spigot` 及其下游服务端加入了随机种子,地形的生成也会出现一些偏差 +你可能会发现一些结构,比如村庄的生成,并不会遵循种子,是由于 `Spigot` 及其下游服务端加入了随机种子,地形的生成也会出现一些偏差 -当然,你仍然可以利用种子定位群系,比如找史莱姆区块 +当然,你仍然可以利用种子定位群系,比如找史莱姆区块 ::: ## 启用命令方块? -服务器中命令方块默认关闭,**并且不建议开启**。 +服务器中命令方块默认关闭,**并且不建议开启**。 -**命令方块是性能低下的,并且所有功能都可以用插件替代。** +**命令方块是性能低下的,并且所有功能都可以用插件替代。** 如何开启: @@ -144,11 +144,11 @@ force-gamemode=false generate-structures=true ``` -结构(如村庄)是否会在新区块中生成 +结构(如村庄)是否会在新区块中生成 :::note -即使设置为false,地牢仍会生成 +即使设置为false,地牢仍会生成 ::: diff --git a/docs-java/start/connect-to-server.md b/docs-java/start/connect-to-server.md index bca86a9dd..284695bc0 100644 --- a/docs-java/start/connect-to-server.md +++ b/docs-java/start/connect-to-server.md @@ -15,7 +15,7 @@ sidebar_position: 6 server-port=25565 ``` -`25565` 即 Minecraft 服务器的默认端口,如果不更改默认端口通常可省略不写 +`25565` 即 Minecraft 服务器的默认端口,如果不更改默认端口通常可省略不写 ## 本地连接 @@ -25,13 +25,13 @@ server-port=25565 ::: -本机 IP ,通常有这样几种形式: +本机 IP ,通常有这样几种形式: - localhost - 127.0.0.1 - 0.0.0.0 -如果你没有修改你的服务器端口,那么在你的 Minecraft 客户端中: +如果你没有修改你的服务器端口,那么在你的 Minecraft 客户端中: 1. 点击多人游戏 2. 点击添加服务器 @@ -39,7 +39,7 @@ server-port=25565 4. 点击完成 5. 进入服务器 -如果你修改了你的服务器端口,在回环地址后面加个冒号加上你改的端口即可 +如果你修改了你的服务器端口,在回环地址后面加个冒号加上你改的端口即可 如: @@ -55,24 +55,24 @@ server-port=25565 ## 远程连接 -在开始让你的玩家远程连接至服务器的时候,请先确认有没有公网 +在开始让你的玩家远程连接至服务器的时候,请先确认有没有公网 ### 我有公网 -假设我现在的公网 IP 是 `114.51.14.191`,那么我的连接应该是输入 `114.51.14.191:25565`, +假设我现在的公网 IP 是 `114.51.14.191`,那么我的连接应该是输入 `114.51.14.191:25565`, -注意冒号后面的**端口号**应该和你设置的 **`server-port`** 一模一样,不然玩家无法连接 +注意冒号后面的**端口号**应该和你设置的 **`server-port`** 一模一样,不然玩家无法连接 -比如我现在把 **`server-port`** 改成了 **`9180`**,应该这么进入服务器 `114.51.14.191:9180` +比如我现在把 **`server-port`** 改成了 **`9180`**,应该这么进入服务器 `114.51.14.191:9180` -如果我为 `114.51.14.191` 绑定了域名 `yizhan.wiki` ,那么你可以这么进 `yizhan.wiki:9180` +如果我为 `114.51.14.191` 绑定了域名 `yizhan.wiki` ,那么你可以这么进 `yizhan.wiki:9180` -如果很不幸,你的玩家没有正常连接上来,请先按以下步骤检查 +如果很不幸,你的玩家没有正常连接上来,请先按以下步骤检查 -* 请尝试本地连接,如果不行,那么就是服务器有问题 -* 如果本地连接正常,你可以尝试在防火墙中放行端口 +* 请尝试本地连接,如果不行,那么就是服务器有问题 +* 如果本地连接正常,你可以尝试在防火墙中放行端口 * 检查你在路由器中是否把这个端口公开到公网 ### 我没公网 -查看 [内网穿透](https://yizhan.wiki/NitWikit/process/deploy/intranet-penetration) 部分,按照上面的教程把你的端口映射出去 +查看 [内网穿透](https://yizhan.wiki/NitWikit/process/deploy/intranet-penetration) 部分,按照上面的教程把你的端口映射出去 diff --git a/docs-java/start/install-server.md b/docs-java/start/install-server.md index 808d15bad..4aff81f76 100644 --- a/docs-java/start/install-server.md +++ b/docs-java/start/install-server.md @@ -7,29 +7,29 @@ sidebar_position: 3 :::tip -该教程是为 Mod 服所编写的,插件和混合直接新建文件夹扔进去就完事 +该教程是为 Mod 服所编写的,插件和混合直接新建文件夹扔进去就完事 ::: 全篇以 1.20.4 Mod 服务端安装为例子 -如果你看不懂可以使用[笨蛋脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/select-server.exe),目前不支持 Fabric +如果你看不懂可以使用[笨蛋脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/select-server.exe),目前不支持 Fabric ## Forge -首先,来到 [Forge 官方网站](https://files.minecraftforge.net/net/minecraftforge/forge/) +首先,来到 [Forge 官方网站](https://files.minecraftforge.net/net/minecraftforge/forge/) ![](_images/install/1.png) -在左边的 `Minecraft Version` 找到你需要的版本,然后下载下来 +在左边的 `Minecraft Version` 找到你需要的版本,然后下载下来 ![](_images/install/2.png) -请选择 `Installer` ,左边右边都无所谓,打开后,你会来到一个广告窗口,点击最上面的 `SKIP`(没有出现就等一会) +请选择 `Installer` ,左边右边都无所谓,打开后,你会来到一个广告窗口,点击最上面的 `SKIP`(没有出现就等一会) ![](_images/install/3.png) -然后你就成功下载了 Forge Installer,但还没有完!,继续 +然后你就成功下载了 Forge Installer,但还没有完!,继续 在浏览器中输入以下链接 @@ -39,21 +39,21 @@ https://bmclapi2.bangbang93.com/version/这里填你的MC版本/server 比如我 1.20.4 服务器应该是 `https://bmclapi2.bangbang93.com/version/1.20.4/server` -下载下来后,你需要将文件重命名为`minecraft_server.这里填你的MC版本.jar`,比如我1.20.4服务器应该是`minecraft_server.1.20.4.jar`,现在你的目录应该长这样 +下载下来后,你需要将文件重命名为`minecraft_server.这里填你的MC版本.jar`,比如我1.20.4服务器应该是`minecraft_server.1.20.4.jar`,现在你的目录应该长这样 ![](_images/install/4.png) -接着打开cmd,不会请查看[开启 cmd](launch-server.md#笨蛋脚本),输入以下命令 +接着打开cmd,不会请查看[开启 cmd](launch-server.md#笨蛋脚本),输入以下命令 ````shell java -jar forge-1.20.4-49.1.2-installer.jar(这里请改成你下载的文件名) --installServer ```` -然后静待一会,直到控制台输出 `The server installed successfully` 就完成了! +然后静待一会,直到控制台输出 `The server installed successfully` 就完成了! ## NeoForge -与Forge差不多,官网换[这个](https://neoforged.net/) +与Forge差不多,官网换[这个](https://neoforged.net/) ## Fabric @@ -61,20 +61,20 @@ java -jar forge-1.20.4-49.1.2-installer.jar(这里请改成你下载的文件名 然后点击中间那个蓝色的下载按钮 -Fabric 有两种下载方案,这里我们两个都讲 +Fabric 有两种下载方案,这里我们两个都讲 -进入新页面后点击中间的蓝色下载按钮,此时你会下载一个安装器 +进入新页面后点击中间的蓝色下载按钮,此时你会下载一个安装器 -点击 服务端 然后依次根据提示进行安装,注意选择空文件夹 +点击 服务端 然后依次根据提示进行安装,注意选择空文件夹 -全部选择完毕后点击安装,等待安装结束 +全部选择完毕后点击安装,等待安装结束 -结束后一定一定要点击 下载服务端 以便下载香草服务端(模组服务端都需要这玩意),如果你懒得配置启动脚本也可以点击 生成 按钮让它给你整一个临时的 +结束后一定一定要点击 下载服务端 以便下载香草服务端(模组服务端都需要这玩意),如果你懒得配置启动脚本也可以点击 生成 按钮让它给你整一个临时的 -如果你觉得这种方案太麻烦,回到刚才的网页去点击下方的 Minecraft Server +如果你觉得这种方案太麻烦,回到刚才的网页去点击下方的 Minecraft Server -依次根据提示进行安装,或者使用底下的安装命令进行快捷安装(限 Linux 用户) +依次根据提示进行安装,或者使用底下的安装命令进行快捷安装(限 Linux 用户) -下载完成后拖进空文件夹,随后新建脚本文件将启动命令复制到其中保存 +下载完成后拖进空文件夹,随后新建脚本文件将启动命令复制到其中保存 -启动服务器,等待后续安装,出现 Done 等语句后视为安装成功 +启动服务器,等待后续安装,出现 Done 等语句后视为安装成功 diff --git a/docs-java/start/launch-server.md b/docs-java/start/launch-server.md index fbe3bf38b..f3c11dc34 100644 --- a/docs-java/start/launch-server.md +++ b/docs-java/start/launch-server.md @@ -5,16 +5,16 @@ sidebar_position: 4 # 开启服务端 -你已经做好了准备工作,开始启动你的服务器了 +你已经做好了准备工作,开始启动你的服务器了 ## 笨蛋脚本 -下载此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/generate-script.exe),回答几个问题就可以为你自动生成启动脚本!! +下载此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/generate-script.exe),回答几个问题就可以为你自动生成启动脚本!!
直接在终端里敲命令来启动? -如果你第一次开服,或者你看不懂这个折叠里的内容,那就跳过,直接去看底下的编写启动脚本 +如果你第一次开服,或者你看不懂这个折叠里的内容,那就跳过,直接去看底下的编写启动脚本 ## 终端路径 @@ -22,9 +22,9 @@ sidebar_position: 4 ![](_images/文件资源管理器.jpg) -(估计有人不知道文件资源管理器是什么,所以放张图) +(估计有人不知道文件资源管理器是什么,所以放张图) -有路径一样,你的 cmd 也是有路径的(红框中为此 cmd 所在的路径) +有路径一样,你的 cmd 也是有路径的(红框中为此 cmd 所在的路径) [cmd 是什么](https://cn.bing.com/search?q=cmd%E6%98%AF%E4%BB%80%E4%B9%88) @@ -36,11 +36,11 @@ sidebar_position: 4 ![](_images/1.png) -点击地址栏,输入 cmd 然后回车,就会在这个路径下打开 cmd +点击地址栏,输入 cmd 然后回车,就会在这个路径下打开 cmd ![](_images/2.png) -或者用别的办法打开 cmd,然后用 cd 命令切换路径 +或者用别的办法打开 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) @@ -56,11 +56,11 @@ sidebar_position: 4 ![](_images/1.png) -在这个文件夹里创建一个 txt 文件,重命名为 bat 后缀的文件 如 `start.bat` +在这个文件夹里创建一个 txt 文件,重命名为 bat 后缀的文件 如 `start.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) -用你前面下的文本编辑器编辑这个文件,写入以下信息并保存,然后双击 `start.bat` +用你前面下的文本编辑器编辑这个文件,写入以下信息并保存,然后双击 `start.bat` ``` java -Xms2G -Xmx2G -jar 核心名.jar --nogui @@ -68,22 +68,22 @@ java -Xms2G -Xmx2G -jar 核心名.jar --nogui ## 最初的开启 -双击启动脚本后,大概率会卡在你会看到 Downloading mojang_x.x.x.jar,请耐心等待 +双击启动脚本后,大概率会卡在你会看到 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.txt` ,将里面的 `eula=false` 改为 `eula=true` -eula 就像是用户协议一样的东西,你想知道讲了啥,点 [这里](https://zhuanlan.zhihu.com/p/463084883) +eula 就像是用户协议一样的东西,你想知道讲了啥,点 [这里](https://zhuanlan.zhihu.com/p/463084883) -改好之后重新开启服务器,当出现以下字样说明服务器已经成功开启。 +改好之后重新开启服务器,当出现以下字样说明服务器已经成功开启。 ``` -Done (6.554s)! For help, type "help" +Done (6.554s)! For help, type "help" ``` :::tip @@ -120,20 +120,20 @@ Downloading mojang_x.x.x.jar ::: -请确定你的科学上网是可用的,不多赘述。 +请确定你的科学上网是可用的,不多赘述。 -在命令行界面(一般情况下,一个黑 / 蓝框框)中执行这两条 +在命令行界面(一般情况下,一个黑 / 蓝框框)中执行这两条 ```shell set http_proxy=http://127.0.0.1:7890 set https_proxy=http://127.0.0.1:7890 ``` -其中 `7980` 是你的科学上网软件设置的端口,若有不同,请替换。 +其中 `7980` 是你的科学上网软件设置的端口,若有不同,请替换。 -注:输入之后仅对这个命令行窗口有效,`开启新的 / 关闭它` 之后要重新输入。 +注:输入之后仅对这个命令行窗口有效,`开启新的 / 关闭它` 之后要重新输入。 -> 大佬们,浏览器能用不是 cmd 能用,不然你猜我为什么写这个。 +> 大佬们,浏览器能用不是 cmd 能用,不然你猜我为什么写这个。 ### 中文乱码 diff --git a/docs-java/start/server-core-choose.md b/docs-java/start/server-core-choose.md index fed1503b9..016192c9a 100644 --- a/docs-java/start/server-core-choose.md +++ b/docs-java/start/server-core-choose.md @@ -5,14 +5,14 @@ sidebar_position: 2 # 服务端核心选择 -> 目前有三类主流的选择: Mod,插件,混合(可以装 插件+mod) +> 目前有三类主流的选择: Mod,插件,混合(可以装 插件+mod) -> 核心只要是同版本的分支基本可以考虑后期再替换(如使用 Purpur 替换 Paper 或 Spigot等) -> 对于插件服,这类操作几乎无感 -> 对于混合服,这有待商榷,因为各个端兼容性差异较大 -> 对于 Mod 服,这几乎不可能,你基本没有可选择的核心 +> 核心只要是同版本的分支基本可以考虑后期再替换(如使用 Purpur 替换 Paper 或 Spigot等) +> 对于插件服,这类操作几乎无感 +> 对于混合服,这有待商榷,因为各个端兼容性差异较大 +> 对于 Mod 服,这几乎不可能,你基本没有可选择的核心 -Mod 服最开始就必须选好核心,也就是 Forge 还是 Fabric 的问题。 +Mod 服最开始就必须选好核心,也就是 Forge 还是 Fabric 的问题。 > 此处仅为部分开服核心 @@ -26,20 +26,20 @@ Mod 服最开始就必须选好核心,也就是 Forge 还是 Fabric 的问题 ## 笨蛋脚本 -帮你选择服务端,并自动下载! +帮你选择服务端,并自动下载! [下载](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/select-server.exe) ## Mod 服 -性能较差,某些 Mod 就不是想给多人游戏设计的;拓展性强,内存需求较大,游戏性可以做的很丰富,但客户端需要安装相同的 Mod 。纯 Mod 服主流只有 Forge 和 Fabric 两种, +性能较差,某些 Mod 就不是想给多人游戏设计的;拓展性强,内存需求较大,游戏性可以做的很丰富,但客户端需要安装相同的 Mod 。纯 Mod 服主流只有 Forge 和 Fabric 两种, -高版本一般推荐使用 Fabric ,因为 Fabric 优化 Mod 多效果比较好,但是最重要的还是:如果有什么 Mod 只有 Fabric / Forge 版本而你又非玩不可,只能选择相应的核心。 +高版本一般推荐使用 Fabric ,因为 Fabric 优化 Mod 多效果比较好,但是最重要的还是:如果有什么 Mod 只有 Fabric / Forge 版本而你又非玩不可,只能选择相应的核心。 ## 插件服 -性能较好,是初学者最适合开的服务器,拓展性较强,配置性强,但坏处就是有的插件需自行配置后使用,客户端无需安装 Mod 。我个人推荐插件服使用 Purpur, +性能较好,是初学者最适合开的服务器,拓展性较强,配置性强,但坏处就是有的插件需自行配置后使用,客户端无需安装 Mod 。我个人推荐插件服使用 Purpur, 是截止到 2024 年的稳定性和优化最好的选择 @@ -47,7 +47,7 @@ Mod 服最开始就必须选好核心,也就是 Forge 还是 Fabric 的问题 此类核心的存档结构有些不同 -如果你是从非 Bukkit 系核心或单人存档迁移,请查看[ Leaves 的迁移文档](https://docs.leavesmc.org/zh_Hans/leaves/guides/migration)(通用所有Bukkit插件端) +如果你是从非 Bukkit 系核心或单人存档迁移,请查看[ Leaves 的迁移文档](https://docs.leavesmc.org/zh_Hans/leaves/guides/migration)(通用所有Bukkit插件端) ::: @@ -102,7 +102,7 @@ import TabItem from '@theme/TabItem'; - 性能 - 在高版本逐渐比不过他的分支 - 特性 - 丧失不少原版特性 -总的来说,Paper 核心适合那些追究 *极端的* 稳定的人 +总的来说,Paper 核心适合那些追究 *极端的* 稳定的人 **下载**: @@ -116,9 +116,9 @@ import TabItem from '@theme/TabItem'; **优势**: -- 性能 - Purpur 的性能相比于 Paper 提升大约20%,在高版本表现尤为明显 -- 稳定 - Purpur 兼容 Paper 的全部插件,只要paper能跑,purpur就可以跑 -- 特性 - Purpur 还原了 Minecraft 的部分特性,用来开生存服务器更加适合(当然生电还是得 Leaves) +- 性能 - Purpur 的性能相比于 Paper 提升大约20%,在高版本表现尤为明显 +- 稳定 - Purpur 兼容 Paper 的全部插件,只要paper能跑,purpur就可以跑 +- 特性 - Purpur 还原了 Minecraft 的部分特性,用来开生存服务器更加适合(当然生电还是得 Leaves) - 兼容 - 很多插件会以此核心为标准之一进行兼容 **劣势**: @@ -126,7 +126,7 @@ import TabItem from '@theme/TabItem'; - 配置 - 配置文件比较脑瘫 - 支持 - 不给所有mc版本的构建 -综上所述,目前 Purpur 是综合最优选择 +综上所述,目前 Purpur 是综合最优选择 **下载**: @@ -139,7 +139,7 @@ import TabItem from '@theme/TabItem'; **优势**: -- 特性 - 为生电而生,专门的生电向特性支持 +- 特性 - 为生电而生,专门的生电向特性支持 - 兼容 - 支持paper能使用的几乎所有插件 - 支持 - 国人开发的核心 @@ -149,7 +149,7 @@ import TabItem from '@theme/TabItem'; 专为生电而生的核心。 -leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca,投影,共享原理图,minihud,bbor,ommc,xaero小地图,jade,appleskin等 +leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca,投影,共享原理图,minihud,bbor,ommc,xaero小地图,jade,appleskin等 **下载**: @@ -167,9 +167,9 @@ leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca, **劣势**: -- 兼容 - 有极少插件不兼容(可向核心作者反馈) +- 兼容 - 有极少插件不兼容(可向核心作者反馈) -总的来说,相比 purpur 会有更好的优化,极少不兼容的插件可以及时找作者反馈,所以非常推荐此核心 +总的来说,相比 purpur 会有更好的优化,极少不兼容的插件可以及时找作者反馈,所以非常推荐此核心 **下载**: @@ -187,7 +187,7 @@ leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca, **优势**: - 性能 - 拥有较好的性能 -- 维护 - 可用于开PVP服务器,含大量konckback配置选项 +- 维护 - 可用于开PVP服务器,含大量konckback配置选项 - 维护 - 专为1.8提供维护 **劣势**: @@ -205,7 +205,7 @@ leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca, **优势**: - 性能 - 拥有较好的性能 -- 维护 - 可用于开生存服务器,很多生存配置选项 +- 维护 - 可用于开生存服务器,很多生存配置选项 **劣势**: @@ -221,8 +221,8 @@ leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca, **优势**: -- 性能 - 1.12相比高版本本身吃资源就少,此核心提供更多优化 -- 维护 - 专为1.12提供维护,修复错误和改进 +- 性能 - 1.12相比高版本本身吃资源就少,此核心提供更多优化 +- 维护 - 专为1.12提供维护,修复错误和改进 **劣势**: @@ -239,18 +239,18 @@ leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca, :::danger -以下核心真的不推荐,除非你真的疯了,否则不要用 +以下核心真的不推荐,除非你真的疯了,否则不要用 ::: | 名称 | 介绍 | | --- | ----------- | -| [CraftBukkit](https://getbukkit.org/download/craftbukkit) | 插件端鼻祖核心,无优化 | -| [Spigot](https://getbukkit.org/download/spigot/) | CraftBukkit的分支,有一点优化,仍不推荐 | +| [CraftBukkit](https://getbukkit.org/download/craftbukkit) | 插件端鼻祖核心,无优化 | +| [Spigot](https://getbukkit.org/download/spigot/) | CraftBukkit的分支,有一点优化,仍不推荐 | :::danger -大部分付费所谓的高性能核心大概率是假的,如果你真的需要购买,你可以向大佬咨询 +大部分付费所谓的高性能核心大概率是假的,如果你真的需要购买,你可以向大佬咨询 ::: @@ -258,11 +258,11 @@ leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca, :::danger -部分性能不如 Mod 端,游戏性丰富,稳定性和报错非常玄学,建议开服到大神级别再接触这个领域 +部分性能不如 Mod 端,游戏性丰富,稳定性和报错非常玄学,建议开服到大神级别再接触这个领域 ::: -混合端常见的有Catserver;高版本推荐使用Mohist和Arclight,就目前来看,它们的本身稳定性良好,也比纯 Forge 有所优化(但 Mod /插件数量多了之后兼容性问题可能会莫名让人头疼) +混合端常见的有Catserver;高版本推荐使用Mohist和Arclight,就目前来看,它们的本身稳定性良好,也比纯 Forge 有所优化(但 Mod /插件数量多了之后兼容性问题可能会莫名让人头疼) 支持的MC版本自行官网查看 @@ -272,20 +272,20 @@ leaves基本完全支持客户端生电 Mod ,包括但不限于carpet,pca, | 名称 | 介绍 | 推荐与否 | 下载镜像 | 支持版本 | |---------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------|----------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------| -| [Crucible](https://github.com/CrucibleMC/Crucible) | Thermos的分支,目前还在积极维护,完全兼容Thermos | 推荐 | [McRes](https://www.123pan.com/s/HRhfjv-3ey8v.html),[青草云MC(推荐)](https://qcymc.cloud/f/gJRFG/Crucible-1.7.10-staging-0c25d250-server.jar)([library文件](https://github.moeyy.xyz/https://github.com/CrucibleMC/Crucible/releases/download/staging-0c25d25/libraries.zip)) | 1.7.10 | -| [CatServer](https://catmc.org/) | (推荐,但我真不喜欢核心内置广告)。既可以加入 Mod 又可以加入插件缺点:部分插件不支持,部分 Mod 不支持; Mod 和插件在一起运行难免出现一些七七八八的 bug。 | 推荐1.12.2 | [McRes](https://mcres.cn/downloads/catserver.html) [FastMirror](https://www.fastmirror.net/#/download/CatServer) | 1.12.2/1.16.5/1.18.2/ | -| [Mohist](https://mohistmc.com/software/mohist) | 兼容paper的一些插件支持,兼容 Mod 和插件;缺点:比较多插件不支持,部分 Mod 不支持; Mod 和插件在一起运行难免出现一些七七八八的 bug。 | 推荐高版本 | [McRes](https://mcres.cn/downloads/mohist.html) [FastMirror](https://www.fastmirror.net/#/download/Mohist) [原子云](https://res.nullatom.com/Minecraft/Server/Mohist/) | 1.12.2/1.16.5/1.18+ | +| [Crucible](https://github.com/CrucibleMC/Crucible) | Thermos的分支,目前还在积极维护,完全兼容Thermos | 推荐 | [McRes](https://www.123pan.com/s/HRhfjv-3ey8v.html),[青草云MC(推荐)](https://qcymc.cloud/f/gJRFG/Crucible-1.7.10-staging-0c25d250-server.jar)([library文件](https://github.moeyy.xyz/https://github.com/CrucibleMC/Crucible/releases/download/staging-0c25d25/libraries.zip)) | 1.7.10 | +| [CatServer](https://catmc.org/) | (推荐,但我真不喜欢核心内置广告)。既可以加入 Mod 又可以加入插件缺点:部分插件不支持,部分 Mod 不支持; Mod 和插件在一起运行难免出现一些七七八八的 bug。 | 推荐1.12.2 | [McRes](https://mcres.cn/downloads/catserver.html) [FastMirror](https://www.fastmirror.net/#/download/CatServer) | 1.12.2/1.16.5/1.18.2/ | +| [Mohist](https://mohistmc.com/software/mohist) | 兼容paper的一些插件支持,兼容 Mod 和插件;缺点:比较多插件不支持,部分 Mod 不支持; Mod 和插件在一起运行难免出现一些七七八八的 bug。 | 推荐高版本 | [McRes](https://mcres.cn/downloads/mohist.html) [FastMirror](https://www.fastmirror.net/#/download/Mohist) [原子云](https://res.nullatom.com/Minecraft/Server/Mohist/) | 1.12.2/1.16.5/1.18+ | | [Arclight-Forge](https://github.com/IzzelAliz/Arclight) | - | 推荐高版本 | [FastMirror](https://www.fastmirror.net/#/download/Arclight) [McRes](https://mcres.cn/downloads/arclight.html) | 1.16.5+ | -| [Magma](https://magmafoundation.org/) | - | - | [McRes](https://mcres.cn/downloads/magma.html) | 没用过,不知道 | -| [Sponge](https://spongepowered.org/]Sponge) | 可加入sponge插件,支持 Mod,优化极强,而且服务器兼容性更高,对于线程优化能力更强,负载更好。缺点:即使你用了很多办法也很难让bukkit插件稳定运行;sponge插件特别少;启动速度特别慢。操作特别难,与前面的完全不相同。 | 不推荐新手使用 | [McRes](https://mcres.cn/downloads/spongeforge.html) [FastMirror](https://www.fastmirror.net/#/download/SpongeForge) | 没用过,不知道 | +| [Magma](https://magmafoundation.org/) | - | - | [McRes](https://mcres.cn/downloads/magma.html) | 没用过,不知道 | +| [Sponge](https://spongepowered.org/]Sponge) | 可加入sponge插件,支持 Mod,优化极强,而且服务器兼容性更高,对于线程优化能力更强,负载更好。缺点:即使你用了很多办法也很难让bukkit插件稳定运行;sponge插件特别少;启动速度特别慢。操作特别难,与前面的完全不相同。 | 不推荐新手使用 | [McRes](https://mcres.cn/downloads/spongeforge.html) [FastMirror](https://www.fastmirror.net/#/download/SpongeForge) | 没用过,不知道 | #### Fabric 混合端 | 名称 | 介绍 | 推荐与否 | 下载镜像 | |----------------------------------------------------------|-----------------------------------------|------|----------------------------------------------------------------------------------------------------------------| -| [Banner](https://new.mohistmc.com/software/banner) | 并不是一款端,而是一个 Mod 需要安装在Fabric,安装后重启即可加载插件 | - | [McRes](https://mcres.cn/downloads/banner.html) | -| [Arclight-Fabric](https://github.com/IzzelAliz/Arclight) | 出现时间比banner晚,目前不太稳定 | - | [FastMirror](https://www.fastmirror.net/#/download/Arclight) [McRes](https://mcres.cn/downloads/arclight.html) | -| [Cardboard](https://cardboardpowered.org/) | 支持的版本较多,支持1.16.5-1.20.4 | - | [McRes](https://mcres.cn/downloads/carboard.html) | +| [Banner](https://new.mohistmc.com/software/banner) | 并不是一款端,而是一个 Mod 需要安装在Fabric,安装后重启即可加载插件 | - | [McRes](https://mcres.cn/downloads/banner.html) | +| [Arclight-Fabric](https://github.com/IzzelAliz/Arclight) | 出现时间比banner晚,目前不太稳定 | - | [FastMirror](https://www.fastmirror.net/#/download/Arclight) [McRes](https://mcres.cn/downloads/arclight.html) | +| [Cardboard](https://cardboardpowered.org/) | 支持的版本较多,支持1.16.5-1.20.4 | - | [McRes](https://mcres.cn/downloads/carboard.html) | ![](_images/那些服务端有后门吗.png) diff --git a/docs-java/start/start.md b/docs-java/start/start.md index 9b7afc477..adcb57206 100644 --- a/docs-java/start/start.md +++ b/docs-java/start/start.md @@ -6,7 +6,7 @@ sidebar_position: 3 # 开始阶段 -在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 +在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 import DocCardList from '@theme/DocCardList'; diff --git a/docs/advance/Linux/Connect-to-server.md b/docs/advance/Linux/Connect-to-server.md index 774dd7ab3..cac664c11 100644 --- a/docs/advance/Linux/Connect-to-server.md +++ b/docs/advance/Linux/Connect-to-server.md @@ -5,28 +5,28 @@ sidebar_position: 2 # 连接服务器 -Linux 系统上有一个工具被业界广泛使用,它就是 `ssh`。它虽然不能远程控制桌面,但是可以远程登录服务器的命令行,并让服务器执行一些命令。由于 `ssh` 非常常用,现在很多Linux发行版都已经默认集成了这个命令,目前使用最广的提供 ssh 命令的软件是 **OpenSSH**。 +Linux 系统上有一个工具被业界广泛使用,它就是 `ssh`。它虽然不能远程控制桌面,但是可以远程登录服务器的命令行,并让服务器执行一些命令。由于 `ssh` 非常常用,现在很多Linux发行版都已经默认集成了这个命令,目前使用最广的提供 ssh 命令的软件是 **OpenSSH**。 ## 开启ssh服务 -为了让客户能顺利连接服务器,云服务器的sshd服务一般默认开启。如果你使用的是家里云,或者云服务器的sshd服务确实没有开启(比如你是只能通过服务商提供的VNC或者第三方远控软件连接的服务器,无法使用ssh),那么你可能需要先开启sshd服务才能连接到服务器。在主流的使用 Systemd 的Linux发行版中,执行`systemctl start sshd`命令即可开启 sshd 服务,如果这些命令都报错,证明 sshd 服务存在问题,你可以把报错复制粘贴到搜索引擎上查询怎么修复这个问题。开启 sshd 服务后,你就可以连接到这台服务器了。 +为了让客户能顺利连接服务器,云服务器的sshd服务一般默认开启。如果你使用的是家里云,或者云服务器的sshd服务确实没有开启(比如你是只能通过服务商提供的VNC或者第三方远控软件连接的服务器,无法使用ssh),那么你可能需要先开启sshd服务才能连接到服务器。在主流的使用 Systemd 的Linux发行版中,执行`systemctl start sshd`命令即可开启 sshd 服务,如果这些命令都报错,证明 sshd 服务存在问题,你可以把报错复制粘贴到搜索引擎上查询怎么修复这个问题。开启 sshd 服务后,你就可以连接到这台服务器了。 -成功开启ssh服务后,如果要从公网连接,你还需要把ssh服务的端口`22`开放到公网。开放的方法与开放 Windows 的远程桌面端口的方式完全相同,但是协议只需要 TCP 即可。 +成功开启ssh服务后,如果要从公网连接,你还需要把ssh服务的端口`22`开放到公网。开放的方法与开放 Windows 的远程桌面端口的方式完全相同,但是协议只需要 TCP 即可。 ::: warn 为了安全请不要在服务器上允许 root 用户登录 ssh!如果 ssh 被暴力破解的话会产生非常严重的后果! -最好可以禁用密码登录,仅允许密钥登录 +最好可以禁用密码登录,仅允许密钥登录 -关于配置你服务器的 ssh 使其更安全,可以查看[Arch Linux Wiki 的这篇文章](https://wiki.archlinuxcn.org/wiki/OpenSSH#%E4%BF%9D%E6%8A%A4) +关于配置你服务器的 ssh 使其更安全,可以查看[Arch Linux Wiki 的这篇文章](https://wiki.archlinuxcn.org/wiki/OpenSSH#%E4%BF%9D%E6%8A%A4) ::: :::danger -配置直接在公网使用22端口连接服务器ssh**会导致严重的安全性问题**,详见[如何抵御网络攻击](../../process/maintenance/how-to-defend-against-cyber-attacks.md)。 +配置直接在公网使用22端口连接服务器ssh**会导致严重的安全性问题**,详见[如何抵御网络攻击](../../process/maintenance/how-to-defend-against-cyber-attacks.md)。 -另外除非有明确需求,不要随意配置 UDP 协议端口映射,包括上文中提到的**不需要UDP协议**的 ssh,否则可能导致你的服务器被 DDoS!详见[如何抵御网络攻击](../../process/maintenance/how-to-defend-against-cyber-attacks.md)。 +另外除非有明确需求,不要随意配置 UDP 协议端口映射,包括上文中提到的**不需要UDP协议**的 ssh,否则可能导致你的服务器被 DDoS!详见[如何抵御网络攻击](../../process/maintenance/how-to-defend-against-cyber-attacks.md)。 ::: @@ -34,29 +34,29 @@ Linux 系统上有一个工具被业界广泛使用,它就是 `ssh`。它虽 ### Linux的ssh命令 -就像 Windows 不用安装任何软件就能连接 Windows 的远程桌面一样, Linux 也内置了连接 ssh 的方式,直接执行 ssh 命令即可连接。它的语法如下: +就像 Windows 不用安装任何软件就能连接 Windows 的远程桌面一样, Linux 也内置了连接 ssh 的方式,直接执行 ssh 命令即可连接。它的语法如下: ```shell ssh @
[-p port] ``` -如何要指定端口,你需要指定端口参数。在一些操作系统上这个参数是`-p`,例如`ssh root@yizhan.wiki -p 48291`,有一些工具上则是直接在后面输入端口,例如 Xshell 是`ssh root@yizhan.wiki 48291`。你需要根据不同的工具的使用方式来确定ssh的命令格式。比如,你可以仅执行 `ssh` 命令(等价于 `ssh --help`),然后让 ssh 工具提示你如何使用当前工具的这个命令,如果需要更详细的说明可以输入命令 `man ssh` +如何要指定端口,你需要指定端口参数。在一些操作系统上这个参数是`-p`,例如`ssh root@yizhan.wiki -p 48291`,有一些工具上则是直接在后面输入端口,例如 Xshell 是`ssh root@yizhan.wiki 48291`。你需要根据不同的工具的使用方式来确定ssh的命令格式。比如,你可以仅执行 `ssh` 命令(等价于 `ssh --help`),然后让 ssh 工具提示你如何使用当前工具的这个命令,如果需要更详细的说明可以输入命令 `man ssh` -在输入完这行命令后,服务器通常会要求你输入该用户的密码。 +在输入完这行命令后,服务器通常会要求你输入该用户的密码。 -如果你不想手动输密码,可以使用**密钥登录**,这种方法更安全且通常更难以被破解,其步骤为: +如果你不想手动输密码,可以使用**密钥登录**,这种方法更安全且通常更难以被破解,其步骤为: 1. 使用 `ssh-keygen` 命令生成你的 ssh 密钥。 -2. 使用如 `cat .ssh/id_xxxx.pub` 命令来获取你生成的 ssh 公钥(此命令中`xxxx`的值通常取决于你生成密钥对时选择的算法) +2. 使用如 `cat .ssh/id_xxxx.pub` 命令来获取你生成的 ssh 公钥(此命令中`xxxx`的值通常取决于你生成密钥对时选择的算法) -3. 在服务器对应用户的家目录下创建 `./ssh/authorized_keys`,编辑它,将你的公钥粘贴进去,每个公钥独占一行 +3. 在服务器对应用户的家目录下创建 `./ssh/authorized_keys`,编辑它,将你的公钥粘贴进去,每个公钥独占一行 -4. 执行上面的命令,你会发现连接时不再需要密码而是直接弹出 shell +4. 执行上面的命令,你会发现连接时不再需要密码而是直接弹出 shell ### 使用工具连接 -其他操作系统也可以使用工具连接至服务器,在这里举出几个工具: +其他操作系统也可以使用工具连接至服务器,在这里举出几个工具: import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -68,11 +68,11 @@ import TabItem from '@theme/TabItem'; Windows 系统自带的 Powershell -按下 `Win + R` 输入 `powershell` 即可(如果安装了新版的 Powershell 那么你应该输入`pwsh`) +按下 `Win + R` 输入 `powershell` 即可(如果安装了新版的 Powershell 那么你应该输入`pwsh`) 随后在其中输入 `ssh -p @` 即可连接 Linux 服务器。 -此时会弹出是否保存服务器密钥,选择接受并保存,之后就不会再弹出。 +此时会弹出是否保存服务器密钥,选择接受并保存,之后就不会再弹出。 :::tip @@ -108,28 +108,28 @@ FinalShell是一体化的的服务器,网络管理软件,不仅是ssh客户端, 他称自己是 业界最强大的SSH客户机 - + -你需要安装 termux 这个软件。你可以去 Google Play 下载,也可以去[它的开源地址](https://github.com/termux/termux-app)下载。 +你需要安装 termux 这个软件。你可以去 Google Play 下载,也可以去[它的开源地址](https://github.com/termux/termux-app)下载。 -安装好之后,打开软件就是命令行,随后直接使用 ssh 命令即可连接。 +安装好之后,打开软件就是命令行,随后直接使用 ssh 命令即可连接。 ![termux终端](_images/Linux开服/连接服务器/termux_screenshot.jpg) - + -macOS 内置 ssh 命令,我们可以用终端来执行它。要打开macos上的终端,可以使用以下方式: +macOS 内置 ssh 命令,我们可以用终端来执行它。要打开macos上的终端,可以使用以下方式: -- (如果终端app没有被移动过)打开启动台,打开第一页的其他文件夹,点击终端。或者你也可以在应用文件夹(入口默认固定在访达侧边栏上)里找到它。 +- (如果终端app没有被移动过)打开启动台,打开第一页的其他文件夹,点击终端。或者你也可以在应用文件夹(入口默认固定在访达侧边栏上)里找到它。 -- 按下command+空格或键盘上的搜索键唤起 spotlight ,输入“终端”,然后它就会显示在下面。 +- 按下command+空格或键盘上的搜索键唤起 spotlight ,输入“终端”,然后它就会显示在下面。 ![macos终端](_images/Linux开服/连接服务器/macOS_terminal.png) -打开终端后,使用上文中提到的ssh命令即可连接到服务器。 +打开终端后,使用上文中提到的ssh命令即可连接到服务器。 - + diff --git a/docs/advance/Linux/Database-installation.MD b/docs/advance/Linux/Database-installation.MD index 59bf9c8e5..0b795436e 100644 --- a/docs/advance/Linux/Database-installation.MD +++ b/docs/advance/Linux/Database-installation.MD @@ -13,9 +13,9 @@ sidebar_position: 5 在[官方网站](https://dev.mysql.com/downloads/repo/apt/)页面下载 `mysql-apt-config_0.8.301_all.deb` -这个包是一个配置APT 的 MySQL 仓库。安装 mysql-apt-config 后,用户可以选择想要安装的 MySQL 版本。 +这个包是一个配置APT 的 MySQL 仓库。安装 mysql-apt-config 后,用户可以选择想要安装的 MySQL 版本。 -将文件传入服务器 `/opt` 目录下,输入以下指令安装: +将文件传入服务器 `/opt` 目录下,输入以下指令安装: ``` dpkg -i mysql-apt-config_0.8.30-1_all.deb @@ -29,7 +29,7 @@ dpkg -i mysql-apt-config_0.8.30-1_all.deb sudo apt update ``` -随后进行 MySQL server (即 MySQL 服务)的安装,输入以下指令安装 MySQL: +随后进行 MySQL server (即 MySQL 服务)的安装,输入以下指令安装 MySQL: ``` apt install mysql-community-server -y @@ -37,7 +37,7 @@ apt install mysql-community-server -y ![](_images/Linux开服/数据库安装/2.png) -MySQL 默认会自带随机密码,所以等待安装完成后需输入以下指令查看初始密码: +MySQL 默认会自带随机密码,所以等待安装完成后需输入以下指令查看初始密码: ``` mysqld --initialize –console @@ -45,14 +45,14 @@ mysqld --initialize –console ![](_images/Linux开服/数据库安装/3.png) -红框部分就是初始密码,安装已经完毕,接下来启动并 将 MySQL设为开机自启动,分别输入 +红框部分就是初始密码,安装已经完毕,接下来启动并 将 MySQL设为开机自启动,分别输入 ``` systemctl start mysql systemctl enable mysql ``` -启动 MySQL 服务后,输入以下指令进入 MySQL 指令行: +启动 MySQL 服务后,输入以下指令进入 MySQL 指令行: ``` mysql -uroot -p @@ -70,13 +70,13 @@ ALTER user 'root'@'localhost' IDENTIFIED BY 'NewPassword'; 将 NewPassword 修改为你自己设置的密码 -**至此,MySQL 安装已经完成** +**至此,MySQL 安装已经完成** ### 创建表 :::warning -以下的操作为 SQL 语句,在结尾处的 `;` 不能省略否则会报错。 +以下的操作为 SQL 语句,在结尾处的 `;` 不能省略否则会报错。 ::: @@ -100,19 +100,19 @@ GRANT ALL PRIVILEGES ON 数据库名称.* TO 'UserName'@'%'; :::tip -UserName 填写用户名, +UserName 填写用户名, -`%` 代表所有 IP 地址,如果 Minecraft 服务端和数据库处于同一个服务器,建议改成 localhost 以增加安全性, +`%` 代表所有 IP 地址,如果 Minecraft 服务端和数据库处于同一个服务器,建议改成 localhost 以增加安全性, -Password 填写用户的密码(由于安全性设置,密码必须有大小写长度8位以上,并且默认关闭远程访问) +Password 填写用户的密码(由于安全性设置,密码必须有大小写长度8位以上,并且默认关闭远程访问) -如果需要设置密码强度为低,开启远程访问等不安全的操作请自行百度,对于修改安全设置之后的数据库安全问题,本站概不负责 +如果需要设置密码强度为低,开启远程访问等不安全的操作请自行百度,对于修改安全设置之后的数据库安全问题,本站概不负责 ::: ## Redis -依次在终端输入以下指令,分别操作为安装依赖、下载 Redis、将安装包放在安装路径。更新软件包,安装下载好的 Redis +依次在终端输入以下指令,分别操作为安装依赖、下载 Redis、将安装包放在安装路径。更新软件包,安装下载好的 Redis ``` apt install lsb-release curl gpg @@ -126,7 +126,7 @@ apt install redis -y ![](_images/Linux开服/数据库安装/5.png) -至此安装完成,输入 `redis-cli` 即可进入命令行管理 +至此安装完成,输入 `redis-cli` 即可进入命令行管理 ![](_images/Linux开服/数据库安装/6.png) diff --git a/docs/advance/Linux/Linux.md b/docs/advance/Linux/Linux.md index 3aa9aa8a2..836b7dca7 100644 --- a/docs/advance/Linux/Linux.md +++ b/docs/advance/Linux/Linux.md @@ -8,26 +8,26 @@ sidebar_position: 1 ## 为什么选择 Linux 开服 -1. 更快的发包速度和接收速度,接入服务器速度将提升数十毫秒起,当面对假人攻击/ DDOS 攻击时会更加稳定; -2. 更好的性能,根据测试 TPS 能提升 8-15 %; -3. 更低的内存占用,对于 Windows 服务器一般开机会占用 1-2 GB 内存,而一般的 Linux 系统开机后占用往往不到 0.5 GB; +1. 更快的发包速度和接收速度,接入服务器速度将提升数十毫秒起,当面对假人攻击/ DDOS 攻击时会更加稳定; +2. 更好的性能,根据测试 TPS 能提升 8-15 %; +3. 更低的内存占用,对于 Windows 服务器一般开机会占用 1-2 GB 内存,而一般的 Linux 系统开机后占用往往不到 0.5 GB; 4. Linux 的稳定性是 Windows 无论如何也无法比拟的; -5. Linux 安全性更高,开源系统,有社区的支持; -6. Linux 支持文件占用直接删除(也就是说可以自动更新插件,不像 Windows 那样提示文件被占用) +5. Linux 安全性更高,开源系统,有社区的支持; +6. Linux 支持文件占用直接删除(也就是说可以自动更新插件,不像 Windows 那样提示文件被占用) :::info -可能会有小伙伴说:" Linux 太难操作了,根本不会用。" 其实大多数开 Linux 服务器的服主也不是纯纯使用 Linux 编辑插件配置,那么好,我们为小白推荐三个面板辅助我们开服。 +可能会有小伙伴说:" Linux 太难操作了,根本不会用。" 其实大多数开 Linux 服务器的服主也不是纯纯使用 Linux 编辑插件配置,那么好,我们为小白推荐三个面板辅助我们开服。 -1. [MCSM](https://docs.mcsmanager.com/zh_cn/) 全名 MCSManager 是一款开源,分布式,一键部署,支持 Minecraft 和 Steam 游戏服务器 的控制面板。 -2. [1Panel](https://1panel.cn/) 是新一代的 Linux 服务器运维管理面板,支持 Web 图形界面管理、快速建站、应用商店、安全可靠、一键备份等功能。 -3. [宝塔面板](https://www.bt.cn/) 是一款支持 Linux 和 Windows 系统的服务器运维管理工具,提供资源监控、文件管理、软件安装等功能。 +1. [MCSM](https://docs.mcsmanager.com/zh_cn/) 全名 MCSManager 是一款开源,分布式,一键部署,支持 Minecraft 和 Steam 游戏服务器 的控制面板。 +2. [1Panel](https://1panel.cn/) 是新一代的 Linux 服务器运维管理面板,支持 Web 图形界面管理、快速建站、应用商店、安全可靠、一键备份等功能。 +3. [宝塔面板](https://www.bt.cn/) 是一款支持 Linux 和 Windows 系统的服务器运维管理工具,提供资源监控、文件管理、软件安装等功能。 ::: ## 基础指令 -在开始开服之前,你需要掌握的 Linux 常用指令 +在开始开服之前,你需要掌握的 Linux 常用指令 [菜鸟教程 | Linux 需要掌握的一些命令](https://www.runoob.com/w3cnote/linux-useful-command.html) @@ -37,4 +37,4 @@ sidebar_position: 1 ## 另外 -“笨蛋脚本”仅支持 Windows 系统,我们暂时没有移植到 Linux 的计划。 +“笨蛋脚本”仅支持 Windows 系统,我们暂时没有移植到 Linux 的计划。 diff --git a/docs/advance/Linux/backup.md b/docs/advance/Linux/backup.md index e69a88d01..540f86db2 100644 --- a/docs/advance/Linux/backup.md +++ b/docs/advance/Linux/backup.md @@ -11,7 +11,7 @@ sidebar_position: 8 sudo vim /root/backup.sh ``` -然后将以下内容粘贴到文件中,按实际情况与需要修改(如果你是Linux新手请不要修改): +然后将以下内容粘贴到文件中,按实际情况与需要修改(如果你是Linux新手请不要修改): ```bash #!/bin/bash @@ -20,8 +20,8 @@ usage() { echo "用法: $0 --server-dir <存档路径> --backup-dir <备份文件保存目录> [--max-backups <最大备份文件数>]" echo "参数:" echo " --server-dir, -s: 服务器目录(绝对路径)" - echo " --backup-dir, -b: 备份文件保存目录(绝对路径)" - echo " --max-backups, -m: 最大备份文件数,选填(默认: 5)" + echo " --backup-dir, -b: 备份文件保存目录(绝对路径)" + echo " --max-backups, -m: 最大备份文件数,选填(默认: 5)" exit 1 } @@ -69,7 +69,7 @@ fi # 检查备份文件保存目录是否存在 if [ ! -d "$BACKUP_DIR" ]; then - echo "备份文件保存目录 $BACKUP_DIR 不存在,自动创建" + echo "备份文件保存目录 $BACKUP_DIR 不存在,自动创建" mkdir -p $BACKUP_DIR || exit 1 fi @@ -97,7 +97,7 @@ if [ ${#tar_gz_files[@]} -gt $MAX_BACKUPS ]; then fi ``` -按 `Esc` 键,切换到英文输入法输入 `:wq` 保存并退出。 +按 `Esc` 键,切换到英文输入法输入 `:wq` 保存并退出。 # 将备份脚本添加到定时任务 @@ -111,7 +111,7 @@ crontab -e ```bash 0 3 * * * /bin/bash /root/backup.sh -s /path/to/server -b /path/to/backup -m 5 -# 如果你有多台服务器,可以添加多个备份任务 +# 如果你有多台服务器,可以添加多个备份任务 # 0 3 * * * /bin/bash /root/backup.sh -s /path/to/server2 -b /path/to/backup2 -m 5 # 0 3 * * * /bin/bash /root/backup.sh -s /path/to/server3 -b /path/to/backup3 -m 5 # 以此类推... @@ -125,7 +125,7 @@ crontab -e > 如何获得服务器目录的绝对路径?对应目录下执行 `pwd` 命令即可获得当前目录的绝对路径。 -上面这个例子表示每天凌晨 3 点执行备份脚本,这里的 `0 3 * * *` 是 cron 表达式。有关 cron 表达式的更多信息,请参阅 [Linux crontab 命令](https://www.runoob.com/linux/linux-comm-crontab.html)。 +上面这个例子表示每天凌晨 3 点执行备份脚本,这里的 `0 3 * * *` 是 cron 表达式。有关 cron 表达式的更多信息,请参阅 [Linux crontab 命令](https://www.runoob.com/linux/linux-comm-crontab.html)。 我在这里提供几个常用的 cron 表达式: @@ -145,5 +145,5 @@ crontab -e > 如果你恢复存档后启动服务器报错: > `[main/FATAL]: Failed to start the minecraft server net.minecraft.util.SessionLock$ExceptionWorldConfict: /home/minecraft/lobby/./world/session.lock: already locked (possibly by other Minecraft instance?)` -> 请检查 `world` 存档下是否存在 `session.lock` 文件,如果存在请删除,然后重启服务器。 +> 请检查 `world` 存档下是否存在 `session.lock` 文件,如果存在请删除,然后重启服务器。 diff --git a/docs/advance/Linux/frp.md b/docs/advance/Linux/frp.md index d6d32ae9c..9974daeff 100644 --- a/docs/advance/Linux/frp.md +++ b/docs/advance/Linux/frp.md @@ -1,34 +1,34 @@ --- -title: 搭建内网穿透(Frp) +title: 搭建内网穿透(Frp) sidebar_position: 7 --- -# 搭建内网穿透(Frp) +# 搭建内网穿透(Frp) ## 使用现成的内网穿透提供商 -笔者无法在这里推荐运营商,因为目前在开服方面还没有受到广泛认可的内网穿透运营商。不同的运营商收费不同,限量不同,节点也不同。上网搜索“内网穿透”就能找到大量内网穿透的运营商,但是在选购的时候非常建议多家对比,找到最适合自己使用的运营商。下面是选择过程中除了价格外尤其需要注意的地方: -1. 正规性:最好能在运营商的官网最下面看到网站备案信息,并且运营商也介绍了自己的公司名称,公司名称上网也能查得到。 -2. 流量:小服务器每月只能用掉几G,但是大服务器每月能用掉几百G甚至几T的流量。你需要确定对流量的收费是否适合自己。如果不确定多少流量适合自己,你可以先找一家运营商用一个月,看看自己要花掉乐多少流量。 -3. 带宽:一些内网穿透运营商只会给每个服务器几M的带宽,对于大型服务器完全不够用。注意,一般不限流量的内网穿透运营商带宽都很低。 -4. 隧道数:内网穿透每映射一个端口出去就叫一条隧道。每个服务端都可能需要占用一条隧道,你还需要一些隧道用来管理服务器等。一般新手有一个隧道就够,但是后面你可能需要远程桌面等要用到更多隧道。 -5. 节点:由于内网穿透是客户端向节点发送数据后节点再向服务器发送数据,和客户端与服务器直接通信相比,数据需要在节点上绕一下,这样一来延迟到来到了客户端到节点的延迟和服务端到节点延迟的总和。 +笔者无法在这里推荐运营商,因为目前在开服方面还没有受到广泛认可的内网穿透运营商。不同的运营商收费不同,限量不同,节点也不同。上网搜索“内网穿透”就能找到大量内网穿透的运营商,但是在选购的时候非常建议多家对比,找到最适合自己使用的运营商。下面是选择过程中除了价格外尤其需要注意的地方: +1. 正规性:最好能在运营商的官网最下面看到网站备案信息,并且运营商也介绍了自己的公司名称,公司名称上网也能查得到。 +2. 流量:小服务器每月只能用掉几G,但是大服务器每月能用掉几百G甚至几T的流量。你需要确定对流量的收费是否适合自己。如果不确定多少流量适合自己,你可以先找一家运营商用一个月,看看自己要花掉乐多少流量。 +3. 带宽:一些内网穿透运营商只会给每个服务器几M的带宽,对于大型服务器完全不够用。注意,一般不限流量的内网穿透运营商带宽都很低。 +4. 隧道数:内网穿透每映射一个端口出去就叫一条隧道。每个服务端都可能需要占用一条隧道,你还需要一些隧道用来管理服务器等。一般新手有一个隧道就够,但是后面你可能需要远程桌面等要用到更多隧道。 +5. 节点:由于内网穿透是客户端向节点发送数据后节点再向服务器发送数据,和客户端与服务器直接通信相比,数据需要在节点上绕一下,这样一来延迟到来到了客户端到节点的延迟和服务端到节点延迟的总和。
如何选择合适的节点? -根据三角形两边之和大于第三边的定理,节点距离客户端或服务端越近,游戏延迟就越小。然而你无法确定客户端的地理位置,毕竟玩家来自大江南北。那么只有缩短节点与服务器之间的距离,才能保证所有玩家的延迟都最低。例如服务器位于河北,有两个节点分别位于山东枣庄和江苏宿迁,有两个玩家分别位于广东和辽宁,那么当选择离服务器更近的枣庄节点时,假设辽宁玩家到节点为20ms,广东玩家到节点为50ms,服务器到节点为10ms,那么辽宁玩家的游戏延迟就是20+10=30ms,广东玩家的游戏延迟就是50ms+10ms=60ms。当选择离服务器更远的宿迁节点时,假设辽宁玩家到节点为40ms,广东玩家到节点为30ms,服务器到节点为30ms,那么辽宁玩家的游戏延迟就是50+30=70ms,广东玩家的游戏延迟就是40+30=60ms。选择宿迁节点时虽然广东玩家的延迟不变,但是辽宁玩家连接服务器时,数据从更远的宿迁绕了一圈再回来,延迟高了很多。因此选择运营商时,优先选择拥有离自己近的节点的运营商。 +根据三角形两边之和大于第三边的定理,节点距离客户端或服务端越近,游戏延迟就越小。然而你无法确定客户端的地理位置,毕竟玩家来自大江南北。那么只有缩短节点与服务器之间的距离,才能保证所有玩家的延迟都最低。例如服务器位于河北,有两个节点分别位于山东枣庄和江苏宿迁,有两个玩家分别位于广东和辽宁,那么当选择离服务器更近的枣庄节点时,假设辽宁玩家到节点为20ms,广东玩家到节点为50ms,服务器到节点为10ms,那么辽宁玩家的游戏延迟就是20+10=30ms,广东玩家的游戏延迟就是50ms+10ms=60ms。当选择离服务器更远的宿迁节点时,假设辽宁玩家到节点为40ms,广东玩家到节点为30ms,服务器到节点为30ms,那么辽宁玩家的游戏延迟就是50+30=70ms,广东玩家的游戏延迟就是40+30=60ms。选择宿迁节点时虽然广东玩家的延迟不变,但是辽宁玩家连接服务器时,数据从更远的宿迁绕了一圈再回来,延迟高了很多。因此选择运营商时,优先选择拥有离自己近的节点的运营商。
-6. 实名认证:为了在意外事故中更好地规划责任,很多内网穿透运营商都要求实名认证才能开始使用,或者部分节点需要实名认证。还有一些实名认证时还要求用户必须成年(年满18岁)。况且实名认证服务提供方收费,内网穿透运营商可能会让你自行承担费用,目前价格通常在1元。所以在选择运营商时,如果你未成年,或者没有在线支付的能力,那么在一些运营商处可能会受到限制。 +6. 实名认证:为了在意外事故中更好地规划责任,很多内网穿透运营商都要求实名认证才能开始使用,或者部分节点需要实名认证。还有一些实名认证时还要求用户必须成年(年满18岁)。况且实名认证服务提供方收费,内网穿透运营商可能会让你自行承担费用,目前价格通常在1元。所以在选择运营商时,如果你未成年,或者没有在线支付的能力,那么在一些运营商处可能会受到限制。 ## 自建 Frp -首先你得确保你有一台有公网 IP 的机器,最好是**Linux**的。 +首先你得确保你有一台有公网 IP 的机器,最好是**Linux**的。 -如果你的朋友愿意把他的服务器作为节点提供给你,你还需要注意配置方法包括了需要在他的服务器上进行的操作,你可能需要他交给你服务器的控制权,或者请求他的帮助。 +如果你的朋友愿意把他的服务器作为节点提供给你,你还需要注意配置方法包括了需要在他的服务器上进行的操作,你可能需要他交给你服务器的控制权,或者请求他的帮助。 -这里假定你有一台符合条件的 Linux 服务器,并且你已经可以连上你服务器的**SSH**。 +这里假定你有一台符合条件的 Linux 服务器,并且你已经可以连上你服务器的**SSH**。 import Tabs from '@theme/Tabs'; import TabItem from '@theme/TabItem'; @@ -101,7 +101,7 @@ import TabItem from '@theme/TabItem'; 在 Arch Linux 下可以直接用aur助手通过包管理器安装frp ```bash - # 使用你的aur助手,这里列举了paru的 + # 使用你的aur助手,这里列举了paru的 paru -Sy frps # 服务器上运行这个 paru -Sy frpc # 客户机上运行这个 ``` @@ -123,11 +123,11 @@ import TabItem from '@theme/TabItem'; ```toml bindPort = 7000 # frps监听的端口 - log.to = "/var/log/frps.log" # 日志存放路径,一般不用改 - log.level = "info" # 日志等级,不用改 + log.to = "/var/log/frps.log" # 日志存放路径,一般不用改 + log.level = "info" # 日志等级,不用改 log.maxDays = 3 - auth.token = "example" # 身份验证令牌,frpc要与frps一致 + auth.token = "example" # 身份验证令牌,frpc要与frps一致 ```
@@ -141,23 +141,23 @@ import TabItem from '@theme/TabItem'; serverAddr = "x.x.x.x" # 你frps服务器的ip地址 serverPort = 7000 # 你frps服务开在的端口 - log.to = "/var/log/frps.log" # 日志存放路径,一般不用改 - log.level = "info" # 日志等级,不用改 + log.to = "/var/log/frps.log" # 日志存放路径,一般不用改 + log.level = "info" # 日志等级,不用改 log.maxDays = 3 - auth.token = "example" # 令牌,与公网服务端保持一致 + auth.token = "example" # 令牌,与公网服务端保持一致 [[proxies]] name = "mc je" - type = "tcp" # java版使用tcp协议通信,不可更改 + type = "tcp" # java版使用tcp协议通信,不可更改 localIP = "127.0.0.1" # 默认不用改 localPort = 25565 # mc服务端开在哪个端口? remotePort = 25565 # 暴露服务的公网入口 - # 如果你开了互通,要基岩支持 + # 如果你开了互通,要基岩支持 [[proxies]] name = "mc be" - type = "udp" # 基岩版使用udp协议通信,不可更改 + type = "udp" # 基岩版使用udp协议通信,不可更改 localIP = "127.0.0.1" localPort = 19132 remotePort = 19132 @@ -168,16 +168,16 @@ import TabItem from '@theme/TabItem'; ### 开启 Frp: -为了保证 frp 在后台运行,这里有两种方法: +为了保证 frp 在后台运行,这里有两种方法: 1. screen 方便快捷 -2. systemd 省心,有点复杂 +2. systemd 省心,有点复杂 - 确保你的系统上有`screen`包,没有的话安装它们: + 确保你的系统上有`screen`包,没有的话安装它们: @@ -207,7 +207,7 @@ import TabItem from '@theme/TabItem'; - 在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。 + 在 Linux 系统下,使用 systemd 可以方便地控制 frps 服务端的启动、停止、配置后台运行以及开机自启动。 @@ -219,7 +219,7 @@ import TabItem from '@theme/TabItem'; ``` [Unit] - # 服务名称,可自定义 + # 服务名称,可自定义 Description = frp server After = network.target syslog.target Wants = network.target @@ -260,7 +260,7 @@ import TabItem from '@theme/TabItem'; ``` [Unit] - # 服务名称,可自定义 + # 服务名称,可自定义 Description = frp client After = network.target syslog.target Wants = network.target @@ -298,11 +298,11 @@ import TabItem from '@theme/TabItem'; ### 配置proxy protocol -如果你使用的是现成的内网穿透运营商提供的内网穿透,**一定要根据运营商提供的教程操作**。以下是两个最有名的内网穿透运营商的 proxy protocol 开启方法。 +如果你使用的是现成的内网穿透运营商提供的内网穿透,**一定要根据运营商提供的教程操作**。以下是两个最有名的内网穿透运营商的 proxy protocol 开启方法。 [SakuraFrp](https://doc.natfrp.com/bestpractice/realip.html#proxy-protocol) [OpenFrp](https://openfrp.wiki/use/proxy-protocol.html#%E8%8E%B7%E5%8F%96%E8%AE%BF%E9%97%AE%E8%80%85%E7%9A%84%E7%9C%9F%E5%AE%9E-ip) -如果是自建内网穿透,那么如果是 ini 配置文件,就在frpc隧道对应的配置(位于frpc.ini中)中加入一行`proxy_protocol_version = `,如果是协议 v1 就写等于 v1 , v2 就写等于 v2 。例如: +如果是自建内网穿透,那么如果是 ini 配置文件,就在frpc隧道对应的配置(位于frpc.ini中)中加入一行`proxy_protocol_version = `,如果是协议 v1 就写等于 v1 , v2 就写等于 v2 。例如: ```ini [mc] type = tcp @@ -310,7 +310,7 @@ local_port = 25565 # 目前支持 v1 和 v2 两个版本的 proxy protocol 协议。 proxy_protocol_version = v2 ``` -如果是 toml 配置文件,就在 frpc 隧道对应的配置(位于 frpc.toml 中)中加入一行`transport.proxyProtocolVersion = `,如果是协议v1就写等于v1,v2就写等于v2。例如: +如果是 toml 配置文件,就在 frpc 隧道对应的配置(位于 frpc.toml 中)中加入一行`transport.proxyProtocolVersion = `,如果是协议v1就写等于v1,v2就写等于v2。例如: ```toml [[proxies]] name = "mc" @@ -320,4 +320,4 @@ transport.proxyProtocolVersion = "v2" ``` **frps的frps.ini或frps.toml不用动。** -至于如何选择 v1 和 v2 ,你需要根据对应服务器对 proxy protocol 的支持情况进行选择。例如 Paper 服务端目前只支持 v2。 +至于如何选择 v1 和 v2 ,你需要根据对应服务器对 proxy protocol 的支持情况进行选择。例如 Paper 服务端目前只支持 v2。 diff --git a/docs/advance/Linux/keep-running.md b/docs/advance/Linux/keep-running.md index c32cddf1b..38774776a 100644 --- a/docs/advance/Linux/keep-running.md +++ b/docs/advance/Linux/keep-running.md @@ -8,13 +8,13 @@ import TabItem from '@theme/TabItem'; # 如何保持服务器在 Linux 服务器中后台运行 -由于Linux的会话机制,在ssh断开连接之后手动启动的服务端会停止运行,而我们需要服务端保持后台运行。 +由于Linux的会话机制,在ssh断开连接之后手动启动的服务端会停止运行,而我们需要服务端保持后台运行。 ## 方法一 screen(推荐) -使用screen创建一个虚拟的窗口运行服务端,首先安装screen,在终端输入: +使用screen创建一个虚拟的窗口运行服务端,首先安装screen,在终端输入: -确保你的系统上有`screen`包,没有的话安装它们: +确保你的系统上有`screen`包,没有的话安装它们: @@ -38,23 +38,23 @@ screen 的基础指令: ``` screen -ls # 列出所有的 screen -screen -S xxx # 创建一个名叫 xxx 的虚拟窗口(推荐以每个子服务器命名) -screen -r xxx # 进入 xxx 虚拟窗口(只能进入已创建且无人使用的 screen) +screen -S xxx # 创建一个名叫 xxx 的虚拟窗口(推荐以每个子服务器命名) +screen -r xxx # 进入 xxx 虚拟窗口(只能进入已创建且无人使用的 screen) screen -D xxx # 踢出正在使用 xxx 窗口的用户 -screen -S xxx -X quit # 删除 xxx 窗口(在 screen 中输入 exit 也可以删除) +screen -S xxx -X quit # 删除 xxx 窗口(在 screen 中输入 exit 也可以删除) ``` :::info -重新连接到screen时可以使用 `screen -Dr xxx`指令,意为踢出正在使用 xxx 窗口的用户并回到 xxx 窗口 +重新连接到screen时可以使用 `screen -Dr xxx`指令,意为踢出正在使用 xxx 窗口的用户并回到 xxx 窗口 ::: -在 screen 中启动服务端,在 screen 中时,按快捷键 `Ctrl + A + D` 即可返回原窗口。 +在 screen 中启动服务端,在 screen 中时,按快捷键 `Ctrl + A + D` 即可返回原窗口。 -推荐原因:后台运行的同时还可以在服务端控制台中查看日志,打指令 +推荐原因:后台运行的同时还可以在服务端控制台中查看日志,打指令 ## 方法二 面板(推荐) -例如 mcsm,简单无脑可视化 +例如 mcsm,简单无脑可视化 ## 方法三 Systemd @@ -87,7 +87,7 @@ WantedBy=multi-user.target systemctl daemon-reload ``` -然后启动服务器并设置开机启动,先后输入: +然后启动服务器并设置开机启动,先后输入: ```bash systemctl --user start mc.service @@ -100,7 +100,7 @@ _可以通过`systemctl --user status mc.service`查看服务运行状态。_ [Arch wiki 上的教程](https://wiki.archlinuxcn.org/wiki/Systemd#%E7%BC%96%E5%86%99%E5%8D%95%E5%85%83%E6%96%87%E4%BB%B6) -优点:可以实现自动重启,开机自启等操作 +优点:可以实现自动重启,开机自启等操作 缺点:无法进入控制台打指令 @@ -122,9 +122,9 @@ Start.sh: 你需要后台运行的程序 >: 日志文件追加到文件中 -run.log: 运行的日志,或你的文件的输出内容 +run.log: 运行的日志,或你的文件的输出内容 -& 是一个描述符,如果1或2前不加&,会被当成一个普通文件。 +& 是一个描述符,如果1或2前不加&,会被当成一个普通文件。 1>&2 意思是把标准输出重定向到标准错误. diff --git a/docs/advance/Linux/start.md b/docs/advance/Linux/start.md index 8bbc48cb2..7667e7491 100644 --- a/docs/advance/Linux/start.md +++ b/docs/advance/Linux/start.md @@ -8,11 +8,11 @@ import TabItem from '@theme/TabItem'; # 开服 -开服之前,请检查服务器是否安装了 Java,在终端输入 +开服之前,请检查服务器是否安装了 Java,在终端输入 `java -ver` -如果你看到类似以下的输出,那么服务器中已经安装了 Java +如果你看到类似以下的输出,那么服务器中已经安装了 Java ``` openjdk version "21.0.2" 2024-01-16 LTS @@ -22,7 +22,7 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari ## Java 安装 -如果已经安装了 Java,可以忽略掉这一部分。如果环境未安装 Java 可以参考: +如果已经安装了 Java,可以忽略掉这一部分。如果环境未安装 Java 可以参考: ### 软件包管理器安装 @@ -49,7 +49,7 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari
点击查看 -一般来说,在 Linux 中进行软件安装部署会放在 `/opt` 目录下,我们也遵循这个规则,当然你也可以不遵循 +一般来说,在 Linux 中进行软件安装部署会放在 `/opt` 目录下,我们也遵循这个规则,当然你也可以不遵循 使用cd切换到/opt目录 @@ -59,7 +59,7 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari #### SFTP 文件传输 -不熟悉 wget 时,先使用 Windows 前往[zulu下载](https://www.azul.com/downloads/?package=jdk#zulu),下载再使用 SFTP 软件上传到服务器 `/opt` 目录下。 +不熟悉 wget 时,先使用 Windows 前往[zulu下载](https://www.azul.com/downloads/?package=jdk#zulu),下载再使用 SFTP 软件上传到服务器 `/opt` 目录下。 ![](_images/Linux开服/开服/1.png) @@ -81,13 +81,13 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari ![](_images/Linux开服/开服/4.png) -这样就算是安装好了(PS:这里的操作仅适用于开服使用,若需要其他需要jdk的操作请使用包管理器安装openjdk) +这样就算是安装好了(PS:这里的操作仅适用于开服使用,若需要其他需要jdk的操作请使用包管理器安装openjdk)
## 多版本 Java 共存 -方法很多,这里举出两种 +方法很多,这里举出两种 ## 方法一 @@ -103,13 +103,13 @@ OpenJDK 64-Bit Server VM Zulu21.32+17-CA (build 21.0.2+13-LTS, mixed mode, shari archlinux-java set jdk-vesion
-然后选择你想使用的 Java ,接着 `java -version` 验证版本 +然后选择你想使用的 Java ,接着 `java -version` 验证版本 ## 方法二 设置别名 -确定你所使用的终端,此处以 `bash` 和 `zulu Java` 为例 +确定你所使用的终端,此处以 `bash` 和 `zulu Java` 为例 `vim ~/.bashrc` 在这个文件末尾追加 @@ -141,7 +141,7 @@ TODO - 完善和排版 ![](_images/Linux开服/开服/5.png) -将核心放入服务器内,并编写简单的开服脚本 +将核心放入服务器内,并编写简单的开服脚本 使用 chmod 命令给脚本增加运行权限 diff --git a/docs/advance/bot/bot.md b/docs/advance/bot/bot.md index edbe7fcbb..3fbb7d4e5 100644 --- a/docs/advance/bot/bot.md +++ b/docs/advance/bot/bot.md @@ -6,14 +6,14 @@ sidebar_position: 6 # 群机器人 -搭建机器人能够让你实现群服消息互通、查询服务器状态、通过聊天即可管理服务器等功能,让你的玩家交流群与服务器连接起来。 +搭建机器人能够让你实现群服消息互通、查询服务器状态、通过聊天即可管理服务器等功能,让你的玩家交流群与服务器连接起来。 -机器人通常分为两个部分,这两个部分分别负责控制QQ号和对社交帐号执行程序。其中控制QQ号的部分叫 [框架](framework.md)。机器人程序必须要通过网络或插件等方式与机器人框架连接,然后才能开始控制QQ号实现对应功能。 +机器人通常分为两个部分,这两个部分分别负责控制QQ号和对社交帐号执行程序。其中控制QQ号的部分叫 [框架](framework.md)。机器人程序必须要通过网络或插件等方式与机器人框架连接,然后才能开始控制QQ号实现对应功能。 -连接的方式目前主流的有 HTTP 协议和 Websocket(ws)协议。每个协议又分为正向和反向,其中正向要求机器人框架本身作为服务器将端口开放给机器人软件进行连接,而反向则要求机器人软件开放端口给框架连接。 +连接的方式目前主流的有 HTTP 协议和 Websocket(ws)协议。每个协议又分为正向和反向,其中正向要求机器人框架本身作为服务器将端口开放给机器人软件进行连接,而反向则要求机器人软件开放端口给框架连接。 -本篇仅列出常见的实现方法,不对具体实现过程描述,请自行查阅相关文档。 +本篇仅列出常见的实现方法,不对具体实现过程描述,请自行查阅相关文档。 ## OneBot 标准 -[OneBot](https://onebot.dev/) 是**统一的聊天机器人应用接口标准**。它适用于各种各样的即时通讯软件,QQ 是其应用场景之一。如果机器人框架和机器人都支持 OneBot,那它们便可以配合使用。 +[OneBot](https://onebot.dev/) 是**统一的聊天机器人应用接口标准**。它适用于各种各样的即时通讯软件,QQ 是其应用场景之一。如果机器人框架和机器人都支持 OneBot,那它们便可以配合使用。 diff --git a/docs/advance/bot/framework.md b/docs/advance/bot/framework.md index f4b01d035..94a2fb366 100644 --- a/docs/advance/bot/framework.md +++ b/docs/advance/bot/framework.md @@ -9,38 +9,38 @@ sidebar_position: 1 :::danger -请一定要使用小号来搭建 QQ 机器人,否则如果登录不成功或是成功后被检测,将有大概率导致封号。 +请一定要使用小号来搭建 QQ 机器人,否则如果登录不成功或是成功后被检测,将有大概率导致封号。 -使用如 go-cqhttp 的 [签名服务](https://mirai.mamoe.net/topic/2373/%E5%85%B3%E4%BA%8E%E7%AD%BE%E5%90%8D%E6%9C%8D%E5%8A%A1) 不稳定并且非常容易导致封号,推荐使用 LLOneBot 这类通过 hook 官方客户端而跳过使用签名服务登录的方案。 +使用如 go-cqhttp 的 [签名服务](https://mirai.mamoe.net/topic/2373/%E5%85%B3%E4%BA%8E%E7%AD%BE%E5%90%8D%E6%9C%8D%E5%8A%A1) 不稳定并且非常容易导致封号,推荐使用 LLOneBot 这类通过 hook 官方客户端而跳过使用签名服务登录的方案。 ::: -控制 QQ 号的部分叫就是框架,可分为三种原理: +控制 QQ 号的部分叫就是框架,可分为三种原理: -1. **接入 QQ 官方的机器人框架**,这需要每个使用这样框架的用户都必须在QQ官方申请机器人并进行审核,而且功能存在限制 -2. **破解 QQ 客户端** 来实现操作 QQ 号,这种方式目前最为稳定,也是最推荐的,唯一的缺点就是占用的系统资源较多 -3. 直接编写软件伪装成 QQ 客户端直接连接 QQ 官方服务器,又叫 **协议库**。这样的软件占用资源很低,但是目前由于被腾讯官方针对处理,导致非常不稳定。 +1. **接入 QQ 官方的机器人框架**,这需要每个使用这样框架的用户都必须在QQ官方申请机器人并进行审核,而且功能存在限制 +2. **破解 QQ 客户端** 来实现操作 QQ 号,这种方式目前最为稳定,也是最推荐的,唯一的缺点就是占用的系统资源较多 +3. 直接编写软件伪装成 QQ 客户端直接连接 QQ 官方服务器,又叫 **协议库**。这样的软件占用资源很低,但是目前由于被腾讯官方针对处理,导致非常不稳定。 ### LiteLoaderQQNT + LLOneBot |原理|破解 QQ 客户端| |---|:---| -LiteLoaderQQNT 是 [利用 NTQQ 特性](https://github.com/Mrs4s/go-cqhttp/issues/2471) 实现的 QQ **插件加载器**。它本身并不具备QQ机器人功能,你需要**为其安装 LLOneBot 插件**才能开始使用 QQ 机器人功能。 +LiteLoaderQQNT 是 [利用 NTQQ 特性](https://github.com/Mrs4s/go-cqhttp/issues/2471) 实现的 QQ **插件加载器**。它本身并不具备QQ机器人功能,你需要**为其安装 LLOneBot 插件**才能开始使用 QQ 机器人功能。 :::warning -根据先前其他该领域开发者的经历,该软件开发者不建议任何人公开宣传此软件。如果你使用了 LLOneBot,请勿在任何群聊发送可以看出你使用了非官方 QQ 的截图。 +根据先前其他该领域开发者的经历,该软件开发者不建议任何人公开宣传此软件。如果你使用了 LLOneBot,请勿在任何群聊发送可以看出你使用了非官方 QQ 的截图。 ::: -前往 [LiteLoaderQQNT官网](https://liteloaderqqnt.github.io/) ,根据其教程下载安装该框架。 +前往 [LiteLoaderQQNT官网](https://liteloaderqqnt.github.io/) ,根据其教程下载安装该框架。 -安装完成后,根据 [LiteLoaderQQNT 文档安装插件方法](https://liteloaderqqnt.github.io/guide/plugins.html) 为框架安装插件:[LLOneBot](https://github.com/LLOneBot/LLOneBot/tree/main)。如果你已经在使用该框架并且已安装了 [插件列表查看](https://github.com/ltxhhz/LL-plugin-list-viewer/tree/main) 插件,也可以直接使用该插件进行安装。 +安装完成后,根据 [LiteLoaderQQNT 文档安装插件方法](https://liteloaderqqnt.github.io/guide/plugins.html) 为框架安装插件:[LLOneBot](https://github.com/LLOneBot/LLOneBot/tree/main)。如果你已经在使用该框架并且已安装了 [插件列表查看](https://github.com/ltxhhz/LL-plugin-list-viewer/tree/main) 插件,也可以直接使用该插件进行安装。 -安装完成后,进入 QQ 设置,在侧边栏中找到 LLOneBot 点击切换到其设置页,然后 **根据机器人给出的文档** 进行配置。 +安装完成后,进入 QQ 设置,在侧边栏中找到 LLOneBot 点击切换到其设置页,然后 **根据机器人给出的文档** 进行配置。 -### Lagrange(拉格朗日) +### Lagrange(拉格朗日) |原理|协议库| |---|:---| @@ -52,11 +52,11 @@ LiteLoaderQQNT 是 [利用 NTQQ 特性](https://github.com/Mrs4s/go-cqhttp/issue |原理|官方 API| |---|:---| -此框架由于是接入 QQ 官方频道机器人 API,使用稳定且有腾讯官方的支持。 +此框架由于是接入 QQ 官方频道机器人 API,使用稳定且有腾讯官方的支持。 :::warning -由于官方限制,频道机器人无法主动发送消息,在被 **不是机器人的普通用户** @后可自由发送消息,持续 5 分钟。当超过 5 分钟时,机器人会提示"回复时间结束"。 +由于官方限制,频道机器人无法主动发送消息,在被 **不是机器人的普通用户** @后可自由发送消息,持续 5 分钟。当超过 5 分钟时,机器人会提示"回复时间结束"。 ::: @@ -65,9 +65,9 @@ LiteLoaderQQNT 是 [利用 NTQQ 特性](https://github.com/Mrs4s/go-cqhttp/issue |原理|破解 QQ 客户端| |---|:---| -OpenShamrock 是运行在安卓手机 QQ 上的 OneBot 框架,相当于安卓版的 LiteLoaderQQNT + LLOneBot。 +OpenShamrock 是运行在安卓手机 QQ 上的 OneBot 框架,相当于安卓版的 LiteLoaderQQNT + LLOneBot。 -也就是说,你必须已经拥有一台 **和服务器连接到同一局域网下** 的安卓手机。有两种方式来部署一台这样的安卓手机: +也就是说,你必须已经拥有一台 **和服务器连接到同一局域网下** 的安卓手机。有两种方式来部署一台这样的安卓手机: 1. 使用闲置的旧手机 2. 服务器内存足够的情况下部署安卓模拟器 @@ -82,15 +82,15 @@ OpenShamrock的搭建教程待补充 :::danger -Mirai 原生由于本身为协议库原理,近期因不可抗力导致难以登录并且99%封号冻结。推荐配合下文的 Overflow 使用。 +Mirai 原生由于本身为协议库原理,近期因不可抗力导致难以登录并且99%封号冻结。推荐配合下文的 Overflow 使用。 ::: -如果发现 Mirai 的 **帐号登录** 对于你的服务器来说难以使用和维护,可以使用 [Overflow(OneBot)](https://github.com/MrXiaoM/Overflow) 将 Mirai 接入其他 OneBot 框架,而不是直接通过 Mirai 登录。 +如果发现 Mirai 的 **帐号登录** 对于你的服务器来说难以使用和维护,可以使用 [Overflow(OneBot)](https://github.com/MrXiaoM/Overflow) 将 Mirai 接入其他 OneBot 框架,而不是直接通过 Mirai 登录。 **[Overflow 使用方法](https://github.com/MrXiaoM/Overflow/blob/main/docs/UserManual.md)** -配置 Websocket 链接时,在正向 ws 和反向 ws 之间选择一种即可。 +配置 Websocket 链接时,在正向 ws 和反向 ws 之间选择一种即可。 :::info diff --git a/docs/advance/bot/general.md b/docs/advance/bot/general.md index 13ff4ef21..aac106860 100644 --- a/docs/advance/bot/general.md +++ b/docs/advance/bot/general.md @@ -5,7 +5,7 @@ sidebar_position: 2 # 通用机器人 -指 Serein 这类不依赖插件模组加载器的独立软件,通常是通过读取控制台和执行控制台命令实现 +指 Serein 这类不依赖插件模组加载器的独立软件,通常是通过读取控制台和执行控制台命令实现 ### Serein @@ -13,6 +13,6 @@ sidebar_position: 2 ### DLS -类似 Serein 的自动管理控制台的一站式解决方案,几乎全部功能均依赖正则表达式匹配控制台输出的原理。目前已经适配大多数主流服务器的控制台,支持 OneBot 协议。 +类似 Serein 的自动管理控制台的一站式解决方案,几乎全部功能均依赖正则表达式匹配控制台输出的原理。目前已经适配大多数主流服务器的控制台,支持 OneBot 协议。 可以阅读其 [Wiki](https://gitee.com/dlcn/dlscq/wikis/) 进行安装配置。 diff --git a/docs/advance/database/backup.md b/docs/advance/database/backup.md index 7f66ac00d..c81e547cd 100644 --- a/docs/advance/database/backup.md +++ b/docs/advance/database/backup.md @@ -12,7 +12,7 @@ TODO ### 使用 Navicat 备份 -展开你想要备份的数据库,点击备份,再点击新建备份 +展开你想要备份的数据库,点击备份,再点击新建备份 ![](_images/35.png) @@ -28,43 +28,43 @@ TODO 当然可以! -右键你的连接,点击编辑连接 +右键你的连接,点击编辑连接 ![](_images/38.png) -点击数据库,修改这里的设置位置即可让 Navicat 将你的数据库备份到你想要到的地方了 +点击数据库,修改这里的设置位置即可让 Navicat 将你的数据库备份到你想要到的地方了 ![](_images/39.png) **如何使用备份?** -右键你想要使用的备份,然后点击还原备份 +右键你想要使用的备份,然后点击还原备份 ![](_images/40.png) -然后在弹出的界面中点击还原,当命令行出现这句话的时候,数据库就还原成功了 +然后在弹出的界面中点击还原,当命令行出现这句话的时候,数据库就还原成功了 ![](_images/41.png) -**对于数据量非常大的数据库,备份起来很慢,还容易出错,怎么办?** +**对于数据量非常大的数据库,备份起来很慢,还容易出错,怎么办?** -遇到这种情况,不用慌张,我们这个时候转储 SQL 文件即可 +遇到这种情况,不用慌张,我们这个时候转储 SQL 文件即可 -转储 SQL 文件,能够极大降低还原备份时出错、数据缺失的问题 +转储 SQL 文件,能够极大降低还原备份时出错、数据缺失的问题 -我们右键想要转储为 SQL 文件的数据库,点击转储 SQL 文件,点击结构和数据 +我们右键想要转储为 SQL 文件的数据库,点击转储 SQL 文件,点击结构和数据 ![](_images/42.png) 之后我们选择一下 SQL 文件的转出位置 -当命令行出现这句话的时候,即已完成转储 +当命令行出现这句话的时候,即已完成转储 -之后当我们需要使用备份的时候,我们再次右键那个数据库,点击运行 SQL 文件 +之后当我们需要使用备份的时候,我们再次右键那个数据库,点击运行 SQL 文件 ![](_images/44.png) -然后找到你之前转储的后缀为 `.sql` 的文件,选中并确定后点击开始。当命令行出现这句话的时候,数据库就还原成功了 +然后找到你之前转储的后缀为 `.sql` 的文件,选中并确定后点击开始。当命令行出现这句话的时候,数据库就还原成功了 ![](_images/45.png) @@ -86,7 +86,7 @@ TODO ![](_images/31.png) -点击自动运行,然后点击新建批处理作业 +点击自动运行,然后点击新建批处理作业 ![](_images/32.png) @@ -96,10 +96,10 @@ TODO ![](_images/33.png) -完成这些步骤后点击保存,设置完任务名称后点击设置计划任务 +完成这些步骤后点击保存,设置完任务名称后点击设置计划任务 ![](_images/34.png) -点击触发器,新建触发器,然后自行设置备份任务时间 +点击触发器,新建触发器,然后自行设置备份任务时间 最后保存计划任务就大功告成啦 \ No newline at end of file diff --git a/docs/advance/database/configure.md b/docs/advance/database/configure.md index 6b36154d8..5879b2c71 100644 --- a/docs/advance/database/configure.md +++ b/docs/advance/database/configure.md @@ -8,9 +8,9 @@ sidebar_position: 3 ### MySQL -MySQL 的配置文件在 Windows 中,是 `my.ini` ,默认在 `C:\Program Files\MySQL\MySQL Server X.X` 文件夹中 +MySQL 的配置文件在 Windows 中,是 `my.ini` ,默认在 `C:\Program Files\MySQL\MySQL Server X.X` 文件夹中 -而 Linux 中,是 `my.cnf` ,默认路径为 `/etc/my.cnf` +而 Linux 中,是 `my.cnf` ,默认路径为 `/etc/my.cnf`
示例配置文件 @@ -32,11 +32,11 @@ port = 3306 socket = /tmp/mysql.sock -#设置mysql的安装目录,别动 +#设置mysql的安装目录,别动 basedir=F:\\Hzq Soft\\MySql Server 51GA -#设置mysql数据库的数据的存放目录,如果你觉得原来存放数据库的地方不够用了可以迁到其他地方去 +#设置mysql数据库的数据的存放目录,如果你觉得原来存放数据库的地方不够用了可以迁到其他地方去 #但是要注意把原来的存放目录里面的东西迁移到那个地方去 @@ -46,25 +46,25 @@ datadir=F:\\Hzq Soft\\MySql Server 51GA\\data #innodb_log_group_home_dir 默认datadir -#设置mysql服务器的字符集,默认编码 +#设置mysql服务器的字符集,默认编码 default-character-set=utf8 -#连接数的操作系统监听队列数量,如果经常出现“拒绝连接”错误可适当增加此值 +#连接数的操作系统监听队列数量,如果经常出现“拒绝连接”错误可适当增加此值 back_log = 50 -#不使用接听TCP / IP端口方法,mysqld通过命名管道连接 +#不使用接听TCP / IP端口方法,mysqld通过命名管道连接 #skip-networking #最大连接数量 -#有时候插件会因为这个值太小而报错,建议设置大一点,比如 65536 ,甚至有时候这都不够 +#有时候插件会因为这个值太小而报错,建议设置大一点,比如 65536 ,甚至有时候这都不够 max_connections = 90 -#打开表的线程数量限定,最大4096,除非用mysqld_safe打开限制 +#打开表的线程数量限定,最大4096,除非用mysqld_safe打开限制 table_open_cache = 2048 @@ -72,7 +72,7 @@ table_open_cache = 2048 max_allowed_packet = 16M -#作用于SQL查询单笔处理使用的内存缓存,如果一笔操作的二进制数据超过了限定大小,将会在磁盘上开辟空间处理,一般设为 1-2M即可,默认1M +#作用于SQL查询单笔处理使用的内存缓存,如果一笔操作的二进制数据超过了限定大小,将会在磁盘上开辟空间处理,一般设为 1-2M即可,默认1M binlog_cache_size = 2M @@ -84,7 +84,7 @@ max_heap_table_size = 64M sort_buffer_size = 8M -#join 连表操作的缓冲大小,根据实际业务来设置,默认8M +#join 连表操作的缓冲大小,根据实际业务来设置,默认8M join_buffer_size = 32M @@ -92,15 +92,15 @@ join_buffer_size = 32M thread_cache_size = 8 -#并发线程数量,默认为8,可适当增加到2倍以内。如果有多个CPU可以乘 上CPU的数量。双核CPU可以乘 上当前最核数再乘 上70%-85% +#并发线程数量,默认为8,可适当增加到2倍以内。如果有多个CPU可以乘 上CPU的数量。双核CPU可以乘 上当前最核数再乘 上70%-85% thread_concurrency = 16 -#专用于具体SQL的缓存,如果提交的查询与几次中的某查询相同,并且在query缓存中存在,则直接返回缓存中的结果。 +#专用于具体SQL的缓存,如果提交的查询与几次中的某查询相同,并且在query缓存中存在,则直接返回缓存中的结果。 query_cache_size = 64M -#对应上一条设置,当查询的结果超过下面设置的大小时,将不会趣入到上面设置的缓存区中,避免了一个大的结果占据大量缓存。 +#对应上一条设置,当查询的结果超过下面设置的大小时,将不会趣入到上面设置的缓存区中,避免了一个大的结果占据大量缓存。 query_cache_limit = 2M @@ -108,63 +108,63 @@ query_cache_limit = 2M #ft_min_word_len = 4 -#CREATE TABLE 语句的默认表类型,如果不自己指定类型,则使用下行的类型 +#CREATE TABLE 语句的默认表类型,如果不自己指定类型,则使用下行的类型 default-storage-engine = InnoDB -#线程堆栈大小,mysql说它自己用的堆栈大小不超过64K。这个值可适当设高一点(在RCA的项目中都是共用同一个数据库连接的),默认192K +#线程堆栈大小,mysql说它自己用的堆栈大小不超过64K。这个值可适当设高一点(在RCA的项目中都是共用同一个数据库连接的),默认192K thread_stack = 800K -#设置事务处理的级别,默认 REPEATABLE-READ,一般用它就即可,以下二行按顺序对应, +#设置事务处理的级别,默认 REPEATABLE-READ,一般用它就即可,以下二行按顺序对应, -#可读写未提交的数据,创建未提交的数据副本读写,未提交之前可读不可写,只允许串行序列招行事务。 +#可读写未提交的数据,创建未提交的数据副本读写,未提交之前可读不可写,只允许串行序列招行事务。 # READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE transaction_isolation = REPEATABLE-READ -#单一内存临时表在内存中的大小,超过此值自动转换到磁盘操作 +#单一内存临时表在内存中的大小,超过此值自动转换到磁盘操作 tmp_table_size = 64M -#启动二进制日志功能,可通过它实现时间点恢复最新的备份 +#启动二进制日志功能,可通过它实现时间点恢复最新的备份 #log-bin=mysql-bin -#二进制日志格式,对就上一条,-建议混合格式 +#二进制日志格式,对就上一条,-建议混合格式 #binlog_format=mixed -#对应上一条,如果一个查询超过了下条设定的时间则执行上一条。 +#对应上一条,如果一个查询超过了下条设定的时间则执行上一条。 long_query_time = 2 -#自定义主机ID识别符,用于主从或多服务器之间识别,为 一个 int 类型 +#自定义主机ID识别符,用于主从或多服务器之间识别,为 一个 int 类型 server-id = 1 -#一般用来缓存MyISAM表的主键,也用于临时的磁盘表缓存主键,上面多次出现临时磁盘表,所以就算不用MyISAM也最好为其设置一个不小的值,默认32M +#一般用来缓存MyISAM表的主键,也用于临时的磁盘表缓存主键,上面多次出现临时磁盘表,所以就算不用MyISAM也最好为其设置一个不小的值,默认32M key_buffer_size = 56M -#全表扫描MyISAM表时的缓存,每个线程拥有下行的大小。 +#全表扫描MyISAM表时的缓存,每个线程拥有下行的大小。 read_buffer_size = 2M -#排序操作时与磁盘之间的缓存,分到每个线程,默认16M +#排序操作时与磁盘之间的缓存,分到每个线程,默认16M read_rnd_buffer_size = 16M -#MyISAM使用特殊树形进行批量插入时的缓存,如insert ... values(..)(..)(..) +#MyISAM使用特殊树形进行批量插入时的缓存,如insert ... values(..)(..)(..) bulk_insert_buffer_size = 64M -#MyISAM索引文件的最大限定, +#MyISAM索引文件的最大限定, myisam_max_sort_file_size = 12G -#如果一个myisam表有一个以上的索引, MyISAM可以使用一个以上线程来排序并行它们。较耗硬件资源,如果你的环境不错,可以增加此值。 +#如果一个myisam表有一个以上的索引, MyISAM可以使用一个以上线程来排序并行它们。较耗硬件资源,如果你的环境不错,可以增加此值。 myisam_repair_threads = 2 @@ -178,11 +178,11 @@ myisam_recover #skip-innodb -#一般不用设置或者说设了也没多大用,InnoDB会自己与操作系统交互管理其附加内存池所使用InnoDB的存储数据的大小 +#一般不用设置或者说设了也没多大用,InnoDB会自己与操作系统交互管理其附加内存池所使用InnoDB的存储数据的大小 innodb_additional_mem_pool_size = 16M -#innodb整体缓冲池大小,不宜过大,设为本地内存的 50%-75% 比较合适,在本机开发过程中可以设得较小一点如 64M,256M +#innodb整体缓冲池大小,不宜过大,设为本地内存的 50%-75% 比较合适,在本机开发过程中可以设得较小一点如 64M,256M innodb_buffer_pool_size = 256M @@ -190,7 +190,7 @@ innodb_buffer_pool_size = 256M innodb_data_file_path = ibdata1:10M:autoextend -#用于异步IO操作的线程数量,默认为 4 ,可适当提高 +#用于异步IO操作的线程数量,默认为 4 ,可适当提高 innodb_file_io_threads = 8 @@ -198,7 +198,7 @@ innodb_file_io_threads = 8 innodb_thread_concurrency = 14 -#InnoDB的事务日志快存行为,默认为 1,为0可减轻磁盘I/0操作,还有以为2 +#InnoDB的事务日志快存行为,默认为 1,为0可减轻磁盘I/0操作,还有以为2 innodb_flush_log_at_trx_commit = 1 @@ -206,11 +206,11 @@ innodb_flush_log_at_trx_commit = 1 innodb_log_buffer_size = 16M -#日志文件,可设置为25%-90%的总体缓存大小,默认 256M. 修改此项要先删除datadir\ib_logfileXXX +#日志文件,可设置为25%-90%的总体缓存大小,默认 256M. 修改此项要先删除datadir\ib_logfileXXX innodb_log_file_size = 256M -#日志组数量,默认为3 +#日志组数量,默认为3 innodb_log_files_in_group = 3 @@ -218,7 +218,7 @@ innodb_log_files_in_group = 3 #innodb_log_group_home_dir -#InnoDB最大允许的脏页缓冲池的百分比,默认90 +#InnoDB最大允许的脏页缓冲池的百分比,默认90 innodb_max_dirty_pages_pct = 90 @@ -236,20 +236,20 @@ innodb_lock_wait_timeout = 120 否则有可能会导致数据库无法启动 -正确的做法是看完注释之后根据自己的需要,自行去修改配置文件,然后重启或重载 MySQL 服务 +正确的做法是看完注释之后根据自己的需要,自行去修改配置文件,然后重启或重载 MySQL 服务 ::: -此外,还有一些十分重要的配置项,建议修改,没有的配置项可以自行在配置文件中添加 +此外,还有一些十分重要的配置项,建议修改,没有的配置项可以自行在配置文件中添加 :::info |配置名称 | 作用 | 默认值 | 推荐值 | |---------------|----------------|-----------------|------------| -|`wait_timeout` | 此项设置 MySQL 在关闭一个非交互的连接之前所要等待的秒数,也就是一项连接如果空闲时间超过设置的值,连接就会被自动关闭,这时候你的插件就会疯狂报错烦死你,建议调大一点。但是太大也不行,否则会严重拖累性能 | `wait_timeout=28800` | 86400 -|`interactive_timeout` | 此项设置 MySQL 关闭一个交互的连接之前所要等待的秒数,需要注意的是, `wait_timeout` 和 `interactive_timeout` 需要同时设置,否则不会生效 | `interactive_timeout=28800`| 86400 | -|`max_allowed_packet` | 有时候你的插件会告诉你 `Package for query is too large` 那么这个时候你就需要调大这个值了,这一项规定了 MySQL 传输过程中最大允许的包的大小 | `max_allowed_packet=1M` | 看情况 | -|`max_connections` | 这一项设置 MySQL 的最大连接数,如果连接数到达这个数值,就无法创建新的连接,这个时候你的插件通常会报错,告诉你 `max_connections` 满了 | `max_connections=90` | 32768 | +|`wait_timeout` | 此项设置 MySQL 在关闭一个非交互的连接之前所要等待的秒数,也就是一项连接如果空闲时间超过设置的值,连接就会被自动关闭,这时候你的插件就会疯狂报错烦死你,建议调大一点。但是太大也不行,否则会严重拖累性能 | `wait_timeout=28800` | 86400 +|`interactive_timeout` | 此项设置 MySQL 关闭一个交互的连接之前所要等待的秒数,需要注意的是, `wait_timeout` 和 `interactive_timeout` 需要同时设置,否则不会生效 | `interactive_timeout=28800`| 86400 | +|`max_allowed_packet` | 有时候你的插件会告诉你 `Package for query is too large` 那么这个时候你就需要调大这个值了,这一项规定了 MySQL 传输过程中最大允许的包的大小 | `max_allowed_packet=1M` | 看情况 | +|`max_connections` | 这一项设置 MySQL 的最大连接数,如果连接数到达这个数值,就无法创建新的连接,这个时候你的插件通常会报错,告诉你 `max_connections` 满了 | `max_connections=90` | 32768 | ::: diff --git a/docs/advance/database/database.md b/docs/advance/database/database.md index 0a466364d..fd78ba776 100644 --- a/docs/advance/database/database.md +++ b/docs/advance/database/database.md @@ -12,23 +12,23 @@ sidebar_position: 3 1. 数据库的备份维护等所占用的时间远比将整个服务器停止后打包压缩备份快得多; -2. 同样的数据量, MySQL 比 yml/txt/sqlite 等占用也小得多.特别是对于数据量大的插件(30Gb 的 dynmap 文件使用 MySQL 后整个数据库将压缩到 15Gb); +2. 同样的数据量, MySQL 比 yml/txt/sqlite 等占用也小得多.特别是对于数据量大的插件(30Gb 的 dynmap 文件使用 MySQL 后整个数据库将压缩到 15Gb); -3. 读取速度快, 某些插件使用 yml 储存数据时启动一个插件甚至需要 10s+, 换用 mysql 后服务器启动速度快; +3. 读取速度快, 某些插件使用 yml 储存数据时启动一个插件甚至需要 10s+, 换用 mysql 后服务器启动速度快; 4. Redis/MySQL 等数据库配合可轻松完成玩家数据同步等; -5. 在数据量较大时候相较 sqlite 有更好的性能, 查询时需要的时间短, 特别是某些经济插件付款时避免卡顿. +5. 在数据量较大时候相较 sqlite 有更好的性能, 查询时需要的时间短, 特别是某些经济插件付款时避免卡顿. ::: ### MySQL / MariaDB -MariaDB 是著名的 MySQL 分叉,只是服务器腐竹的话,你只需要知道这两个东西差不多就好了 +MariaDB 是著名的 MySQL 分叉,只是服务器腐竹的话,你只需要知道这两个东西差不多就好了 :::info -当 MariaDB Server 的前身 MySQL 于 2009 年被 Oracle 收购时,MySQL 创始人 Michael “Monty” Widenius 出于对 Oracle 管理权的担忧而分叉了该项目,并将新项目命名为 MariaDB。 +当 MariaDB Server 的前身 MySQL 于 2009 年被 Oracle 收购时,MySQL 创始人 Michael “Monty” Widenius 出于对 Oracle 管理权的担忧而分叉了该项目,并将新项目命名为 MariaDB。 > 来自 https://mariadb.org/zh/ diff --git a/docs/advance/database/install.md b/docs/advance/database/install.md index 71577d703..d1c19ab5c 100644 --- a/docs/advance/database/install.md +++ b/docs/advance/database/install.md @@ -8,7 +8,7 @@ sidebar_position: 1 ### 直接安装 -你可以选择直接下载安装包来安装,如果觉得麻烦,请看下面的**使用工具安装** +你可以选择直接下载安装包来安装,如果觉得麻烦,请看下面的**使用工具安装** :::tip @@ -18,11 +18,11 @@ sidebar_position: 1 ::: -对于 Windows 用户,请下载 `.msi` 或 `zip` 的包,其中 `.msi` 是安装包,`.zip` 是绿色版,推荐下载 `.msi` 版本来安装 +对于 Windows 用户,请下载 `.msi` 或 `zip` 的包,其中 `.msi` 是安装包,`.zip` 是绿色版,推荐下载 `.msi` 版本来安装 -对于 MySQL 安装,请看这篇文章: [2024 年 MySQL 8.0 安装 配置 教程 最简易(保姆级)](https://blog.csdn.net/m0_52559040/article/details/121843945) +对于 MySQL 安装,请看这篇文章: [2024 年 MySQL 8.0 安装 配置 教程 最简易(保姆级)](https://blog.csdn.net/m0_52559040/article/details/121843945) -而标着 `ubuntu` 或 `debian` 是 linux 版本的安装包,linux 用户请下载这个 +而标着 `ubuntu` 或 `debian` 是 linux 版本的安装包,linux 用户请下载这个 在下载的时候请务必注意自己的系统、架构等是否与安装包上标的匹配 @@ -52,7 +52,7 @@ sidebar_position: 1
卸载MySQL5和安装MySQL8 -MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够用了 +MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够用了 ![](_images/7.png) @@ -73,7 +73,7 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够 不要设置过于简单的密码! -尤其是你打算把数据库开到公网,**绝对不要**设置过于简单的密码! +尤其是你打算把数据库开到公网,**绝对不要**设置过于简单的密码! **这真的很严重** @@ -83,7 +83,7 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够 ![](_images/11.png) -然后你就可以建数据库了,建好之后把你填这里的信息填到插件的配置文件里 +然后你就可以建数据库了,建好之后把你填这里的信息填到插件的配置文件里
@@ -114,7 +114,7 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够 ![](_images/20.png) -全 x 掉,一个都不需要装 +全 x 掉,一个都不需要装 ![](_images/21.png) diff --git a/docs/advance/database/uninstall.md b/docs/advance/database/uninstall.md index 2e5dae3df..1c1a92ebf 100644 --- a/docs/advance/database/uninstall.md +++ b/docs/advance/database/uninstall.md @@ -6,7 +6,7 @@ sidebar_position: 5 ## 数据库卸载 -当你乱捣鼓一通,然后给你数据库整炸了,还不会修,那除了花钱请大佬最好的办法就是删掉重新安装 +当你乱捣鼓一通,然后给你数据库整炸了,还不会修,那除了花钱请大佬最好的办法就是删掉重新安装 ### 宝塔面板 @@ -22,7 +22,7 @@ TODO ### 暴力删除 -也许我们会遇到:用温和的方式弄不干净数据库的尸体,这尸体又影响我重新安装数据库了 +也许我们会遇到:用温和的方式弄不干净数据库的尸体,这尸体又影响我重新安装数据库了 那就暴力的删干净吧 diff --git a/docs/advance/database/use.md b/docs/advance/database/use.md index fb9a73c4e..6e2e51a90 100644 --- a/docs/advance/database/use.md +++ b/docs/advance/database/use.md @@ -8,15 +8,15 @@ sidebar_position: 2 ## 使用数据库管理软件管理 -你要知道,在 数据库安装 那一栏。虽然有两种截然不同的方式安装数据库 +你要知道,在 数据库安装 那一栏。虽然有两种截然不同的方式安装数据库 -但是你安装的数据库,实质上都安装的是同一个东西,只不过管理工具不同 +但是你安装的数据库,实质上都安装的是同一个东西,只不过管理工具不同 什么是 **管理工具** ?就是帮助你方便管理你的数据库一类工具软件 -像宝塔这种运维面板、Navicat 这种数据库管理软件给数据库提供了 创建,删除,备份 等基础操作(有图形界面),让你无需学会数据库指令操作,就可以管理你的数据库 +像宝塔这种运维面板、Navicat 这种数据库管理软件给数据库提供了 创建,删除,备份 等基础操作(有图形界面),让你无需学会数据库指令操作,就可以管理你的数据库 -当然,这并不是说你只能用这些工具管理数据库了,你仍然可以使用指令控制你的数据库(无图形界面) +当然,这并不是说你只能用这些工具管理数据库了,你仍然可以使用指令控制你的数据库(无图形界面) ### Navicat @@ -30,42 +30,42 @@ sidebar_position: 2 **优势** -- 简单易用,并且功能齐全 +- 简单易用,并且功能齐全 - 界面美观 -- premium 版本支持多种数据库的管理,如 MySQL 、 MangoDB 等 +- premium 版本支持多种数据库的管理,如 MySQL 、 MangoDB 等 **劣势** -- 收费,而且不便宜 +- 收费,而且不便宜 **教程**
连接数据库 -点击连接,并选择你想要连接的数据库的类型 +点击连接,并选择你想要连接的数据库的类型 ![](_images/25.png) 然后分别填写: -- 连接名: 你想让他在 Navicat 中显示的名字,方便你辨认 +- 连接名: 你想让他在 Navicat 中显示的名字,方便你辨认 -- 主机: 填写主机 ip 地址,如果数据库就在本地,那就填写 localhost +- 主机: 填写主机 ip 地址,如果数据库就在本地,那就填写 localhost -- 端口: 数据库使用的远程端口,默认是 3306 +- 端口: 数据库使用的远程端口,默认是 3306 -- 用户名: 使用某个用户登录数据库,默认是 root +- 用户名: 使用某个用户登录数据库,默认是 root -- 密码: 即登录数据库的密码,你在安装数据库的时候就已经设置过了,自己要记好! +- 密码: 即登录数据库的密码,你在安装数据库的时候就已经设置过了,自己要记好! ![](_images/26.png) 填写完毕后点击确定即可 -顺利的话,点开数据库后会显示一个绿色图标的海豚,并列出内部的数据库 +顺利的话,点开数据库后会显示一个绿色图标的海豚,并列出内部的数据库 ![](_images/27.png) @@ -77,7 +77,7 @@ sidebar_position: 2 - 用户名、密码不正确 -- 数据库未开启远程连接,而且数据库不在本地 +- 数据库未开启远程连接,而且数据库不在本地 - 数据库没开或者炸了 @@ -88,13 +88,13 @@ sidebar_position: 2
创建数据库 -右键数据库图标,点击新建数据库 +右键数据库图标,点击新建数据库 ![](_images/28.png) 然后分别填写: -- 数据库名: 你自己想一个,之后要给插件认的,同时也方便你辨别 +- 数据库名: 你自己想一个,之后要给插件认的,同时也方便你辨别 - 字符集: 请选择 `UTF8mb4` @@ -120,11 +120,11 @@ GitHub https://github.com/HeidiSQL/HeidiSQL **优势** -- 简单好用,基本功能齐全 +- 简单好用,基本功能齐全 - 界面简洁 -- 支持多种数据库的管理,如 MySQL 、 MangoDB 等 +- 支持多种数据库的管理,如 MySQL 、 MangoDB 等 **劣势** @@ -147,7 +147,7 @@ TODO ### 宝塔面板 -宝塔面板实际上是一种 Linux 运维管理面板,同时兼有数据库管理功能 +宝塔面板实际上是一种 Linux 运维管理面板,同时兼有数据库管理功能 推荐 Linux 用户使用 @@ -172,7 +172,7 @@ PS: 这年头谁还用指令管理数据库啊 CREATE DATABASE <数据库名称> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ``` -解释: `CHARACTER SET utf8mb4` 将数据库字符集设置为 utf8mb4, 能够存储包括表情符号在内的所有 Unicode 字符。 `utf8mb4_general_ci` 是一种不区分大小写(case-insensitive)的排序规则,如果你想区分大小写,可以改为 `utf8mb4_bin`,`_bin` 意为以二进制方式比较字符。 +解释: `CHARACTER SET utf8mb4` 将数据库字符集设置为 utf8mb4, 能够存储包括表情符号在内的所有 Unicode 字符。 `utf8mb4_general_ci` 是一种不区分大小写(case-insensitive)的排序规则,如果你想区分大小写,可以改为 `utf8mb4_bin`,`_bin` 意为以二进制方式比较字符。 ::: @@ -180,7 +180,7 @@ TODO ## 插件连接数据库 -下面,我们来演示一下怎么让插件连接上数据库 +下面,我们来演示一下怎么让插件连接上数据库 我们以 MySQL 为例: @@ -190,25 +190,25 @@ TODO 我们来一一介绍他们的用途 -- enabled: 是否启用 MySQL 存储数据?如果是请填 true ,否则填 false ,默认是 false ,而且有些插件是直接让你填写数据库类型的,默认是 SQLite ,对于这种配置文件,请把 SQLite 改成 MySQL 或者其他你使用的数据库名 +- enabled: 是否启用 MySQL 存储数据?如果是请填 true ,否则填 false ,默认是 false ,而且有些插件是直接让你填写数据库类型的,默认是 SQLite ,对于这种配置文件,请把 SQLite 改成 MySQL 或者其他你使用的数据库名 -- host: 也就是主机地址,如果数据库在本地,请填 localhost +- host: 也就是主机地址,如果数据库在本地,请填 localhost -- port: 数据库端口,默认是 3306 +- port: 数据库端口,默认是 3306 -- database: 数据库名,也就是你在数据库下创建的数据库你为他设置的名字 +- database: 数据库名,也就是你在数据库下创建的数据库你为他设置的名字 -- table-prefix: 数据库表的前缀,可以不管他 +- table-prefix: 数据库表的前缀,可以不管他 - username: 使用哪个用户来连接数据库?切记一般别用 root 否则连接数满的时候有你好受的 - password: 也就是上面那个 username 里面填的那个用户的登录密码 -后面的就不做解释了,一般用不着 +后面的就不做解释了,一般用不着 -更改完后保存配置,然后重启服务器,如果连接成功,那么你在数据库管理软件上会看见那个插件的数据库下面已经自动生成表了 +更改完后保存配置,然后重启服务器,如果连接成功,那么你在数据库管理软件上会看见那个插件的数据库下面已经自动生成表了 -如果连接不上,插件在启动的时候就会报错,一般导致连接不上的原因有: +如果连接不上,插件在启动的时候就会报错,一般导致连接不上的原因有: 一般有这几种情况导致连接不上: diff --git a/docs/advance/domain-application-and-dns-resolution.md b/docs/advance/domain-application-and-dns-resolution.md index 1e00f05e3..61ee461ba 100644 --- a/docs/advance/domain-application-and-dns-resolution.md +++ b/docs/advance/domain-application-and-dns-resolution.md @@ -5,11 +5,11 @@ sidebar_position: 5 # 申请域名 -域名不但是服务器的招牌,也是老玩家重新找回的一个重要渠道,一个好的域名应该够短(太长了没人记得住)、有记忆点(最好是和 Minecraft 或玩法相关),那么准备好一点小钱钱和待选的名字开始吧。 +域名不但是服务器的招牌,也是老玩家重新找回的一个重要渠道,一个好的域名应该够短(太长了没人记得住)、有记忆点(最好是和 Minecraft 或玩法相关),那么准备好一点小钱钱和待选的名字开始吧。 ## 什么是域名 -简单来说,域名就是将计算机之间识别网络地址的 IP ,变成人类能够读懂、方便记忆的一串 **用点分隔的字符串** +简单来说,域名就是将计算机之间识别网络地址的 IP ,变成人类能够读懂、方便记忆的一串 **用点分隔的字符串** 例如: @@ -18,17 +18,17 @@ sidebar_position: 5 * live.bilibili.com * example.mc.12345.org -这些字符串和 IP 的对应关系被储存在 DNS 服务器上,当访问域名时候会查询 DNS 从而解析到 IP, +这些字符串和 IP 的对应关系被储存在 DNS 服务器上,当访问域名时候会查询 DNS 从而解析到 IP, -除此之外,DNS 服务器会记录不同域名所有者对于 IP 对应的修改情况, +除此之外,DNS 服务器会记录不同域名所有者对于 IP 对应的修改情况, -以上的域名使用了数量不同的 `.` 将其分开,每段片段可以是中文、英语、或者数字等。 +以上的域名使用了数量不同的 `.` 将其分开,每段片段可以是中文、英语、或者数字等。 -从右往左数第 n 个被 `.` 分开的片段就是 n 级域名,下表示意了例子中对应的域名级别: +从右往左数第 n 个被 `.` 分开的片段就是 n 级域名,下表示意了例子中对应的域名级别: :::tip -有些资料认为顶级域名后的域名为一级域名,此处以顶级、二级、三级为准。 +有些资料认为顶级域名后的域名为一级域名,此处以顶级、二级、三级为准。 ::: @@ -39,15 +39,15 @@ sidebar_position: 5 | | live | bilibili | com | | example | mc | 12345 | org | -其中一级域名代表了国家(cn 代表中国)、用途(com 代表公司)。我们主要需要考虑的是 **二级域名**, +其中一级域名代表了国家(cn 代表中国)、用途(com 代表公司)。我们主要需要考虑的是 **二级域名**, -作为 Minecraft 服务器,域名不仅方便了玩家记忆和进入,也代表了服务器的玩法或名字。 +作为 Minecraft 服务器,域名不仅方便了玩家记忆和进入,也代表了服务器的玩法或名字。 -因此,我们建议所有长期开放的 Minecraft 服务器都购买自己的域名。 +因此,我们建议所有长期开放的 Minecraft 服务器都购买自己的域名。 ## 寻找合适的域名提供商查询域名 -以阿里云的[万网](https://domain.aliyun.com/)为例,打开网站,来到如下页面: +以阿里云的[万网](https://domain.aliyun.com/)为例,打开网站,来到如下页面: ![](_images/申请域名/1.png) @@ -57,11 +57,11 @@ sidebar_position: 5 :::warning -此处域名价格为你输入域名的人气决定,名称越热门越贵,没有优惠最便宜首年也这个价。 +此处域名价格为你输入域名的人气决定,名称越热门越贵,没有优惠最便宜首年也这个价。 -有些域名首年很便宜,但第二年续费要成百上千,将鼠标悬停在价格旁边的倒三角处查看续费价格, +有些域名首年很便宜,但第二年续费要成百上千,将鼠标悬停在价格旁边的倒三角处查看续费价格, -我们推荐.top,第二年价格最低,长期开服绝对推荐。 +我们推荐.top,第二年价格最低,长期开服绝对推荐。 出于很多原因不推荐使用所谓的免费域名 @@ -69,49 +69,49 @@ sidebar_position: 5 ## 购买域名 -登录后点击域名旁边的加入清单,然后点批量注册旁边的域名清单,更改域名购买时间后,最好底下什么套餐都不要选,直接点立即购买。 +登录后点击域名旁边的加入清单,然后点批量注册旁边的域名清单,更改域名购买时间后,最好底下什么套餐都不要选,直接点立即购买。 ![](_images/申请域名/3.png) -跳转后这个页面立即购买是点不动的,滑动到下方,点击创建信息模板来实名验证。 +跳转后这个页面立即购买是点不动的,滑动到下方,点击创建信息模板来实名验证。 :::tip -此操作未成年也可以,但无论如何信息需要真实(通讯地址似乎不用太精确,填到市就能过了),请不要拿着他人的身份证假冒认证! +此操作未成年也可以,但无论如何信息需要真实(通讯地址似乎不用太精确,填到市就能过了),请不要拿着他人的身份证假冒认证! ::: -点提交后等通过,然后回来勾选最底下的我已阅读、理解并接受《域名服务条款》。在下一个页面选择支付方式后点支付。 +点提交后等通过,然后回来勾选最底下的我已阅读、理解并接受《域名服务条款》。在下一个页面选择支付方式后点支付。 :::tip -购买的域名一般需要至多 24 小时才能正常解析,打开网址 `https://whois.aliyun.com/domain/ + 你的域名`,如果域名状态那里是正常状态 `(ok)` 就代表可以使用了。 +购买的域名一般需要至多 24 小时才能正常解析,打开网址 `https://whois.aliyun.com/domain/ + 你的域名`,如果域名状态那里是正常状态 `(ok)` 就代表可以使用了。 ::: :::warning -**购买域名后,一定要记得续费!!!** 你可以定一个提醒,在域名**快过期**的时候续费, +**购买域名后,一定要记得续费!!!** 你可以定一个提醒,在域名**快过期**的时候续费, -如果你预算充足,那就直接把域名续费到比自己服务器能开的时间还要长。 +如果你预算充足,那就直接把域名续费到比自己服务器能开的时间还要长。 -如果域名过期,你的玩家将 **不再能通过他们之前输入的地址连接服务器**, +如果域名过期,你的玩家将 **不再能通过他们之前输入的地址连接服务器**, -导致玩家连接服务器失败的情况。而且如果你注册了好域名但没及时续费,你的域名可能被 **抢注** , +导致玩家连接服务器失败的情况。而且如果你注册了好域名但没及时续费,你的域名可能被 **抢注** , -这会导致你必须通过各种手段从抢注域名的人手里高价赎回域名,或者被迫更换其他域名。 +这会导致你必须通过各种手段从抢注域名的人手里高价赎回域名,或者被迫更换其他域名。 ::: # 域名解析 -A 记录是 DNS 中用于将域名映射到 IPv4 地址的记录(也就是我们常用的 IP 记录)。 +A 记录是 DNS 中用于将域名映射到 IPv4 地址的记录(也就是我们常用的 IP 记录)。 -SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐藏域名端口。 +SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐藏域名端口。 :::warning -文档中,假设你购买了域名 `xxx.top`,服务器在外网的端口为 `22222` ,请勿直接照抄配置。 +文档中,假设你购买了域名 `xxx.top`,服务器在外网的端口为 `22222` ,请勿直接照抄配置。 ::: @@ -121,19 +121,19 @@ SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐 人话就是把数字 IP 地址解析成英文字符的域名。 -打开网址 [阿里云域名控制台](https://dc.console.aliyun.com/#/domain-list/all),找到你的域名点右边蓝色字的解析。 +打开网址 [阿里云域名控制台](https://dc.console.aliyun.com/#/domain-list/all),找到你的域名点右边蓝色字的解析。 -点击添加记录,记录类型选择 A 记录。 +点击添加记录,记录类型选择 A 记录。 -主机记录改为 `@` (这意味着直接使用二级域名),记录值改为服务器数字 IP 。 +主机记录改为 `@` (这意味着直接使用二级域名),记录值改为服务器数字 IP 。 -等待解析生效。此时,玩家可通过 `xxx.top:22222` 进入服务器了。 +等待解析生效。此时,玩家可通过 `xxx.top:22222` 进入服务器了。 :::tip -1. 如果只知道域名不知道 IP 就 Win + R 输入 cmd,随后输入 ping + 域名。 +1. 如果只知道域名不知道 IP 就 Win + R 输入 cmd,随后输入 ping + 域名。 -2. 主机记录可以改成如 `play` 等,玩家就可以通过 `play.xxx.top:22222`(但这是不是有点太长了,除非你有明确的需求必须使用这种三级域名,否则不推荐)。 +2. 主机记录可以改成如 `play` 等,玩家就可以通过 `play.xxx.top:22222`(但这是不是有点太长了,除非你有明确的需求必须使用这种三级域名,否则不推荐)。 ::: @@ -141,74 +141,74 @@ SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐 将域名指向另一个域名。 -假如服务商给的是解析好的域名不是 IP,比如服务器的连接地址是play.simpfun.cn:xxxxx,那就需要用这个来指向你自己的域名。 +假如服务商给的是解析好的域名不是 IP,比如服务器的连接地址是play.simpfun.cn:xxxxx,那就需要用这个来指向你自己的域名。 记录类型选 CNAME。 -然后主机记录填你需要的二级域名,填写 `@` 代表直接使用二级域名,玩家连接服务器时可以不用前缀。 +然后主机记录填你需要的二级域名,填写 `@` 代表直接使用二级域名,玩家连接服务器时可以不用前缀。 记录值填服务商给的域名就行了。 ## SRV 记录 -点击添加记录,记录类型选择 SRV 。 +点击添加记录,记录类型选择 SRV 。 -然后主机记录填你需要的二级域名,如你需要使用 `mc.xxx.top` 代替 `xxx.top:22222` (端口),就将主机记录改为: +然后主机记录填你需要的二级域名,如你需要使用 `mc.xxx.top` 代替 `xxx.top:22222` (端口),就将主机记录改为: `_minecraft._tcp.mc` -此处的 mc 可以改为其他,如 `play` 、`*` 等,填写 `@` 可以不用前缀。 +此处的 mc 可以改为其他,如 `play` 、`*` 等,填写 `@` 可以不用前缀。 记录值填写为: `5 0 22222 xxx.top` -> 5 0 是固定的,22222 是你的端口 +> 5 0 是固定的,22222 是你的端口 -点击确认,等一会,你就可以发现直接用域名可以连接上你的服务器了。 +点击确认,等一会,你就可以发现直接用域名可以连接上你的服务器了。 :::tip -此方法只能用于 Minecraft Java版服务器,不能用于其他服务,比如基岩版就不支持这种srv +此方法只能用于 Minecraft Java版服务器,不能用于其他服务,比如基岩版就不支持这种srv -所以基岩版玩家进服时必须仍然要正常填写域名和端口,即使服务器为 Java 版的互通服。 +所以基岩版玩家进服时必须仍然要正常填写域名和端口,即使服务器为 Java 版的互通服。 ::: ## AAAA 记录 -将域名指向一个 IPV6 地址。和 A 记录的不同之处是,AAAA 记录专门用来指向 IPv6 地址,不能指向 IPv4 地址。同理,A 记录也只能指向 IPv4 地址,不能指向 IPv6 地址,这也意味着你如果要为服务器的IPv6地址也绑定一个域名,你就必须要再创建一条 AAAA 记录。 +将域名指向一个 IPV6 地址。和 A 记录的不同之处是,AAAA 记录专门用来指向 IPv6 地址,不能指向 IPv4 地址。同理,A 记录也只能指向 IPv4 地址,不能指向 IPv6 地址,这也意味着你如果要为服务器的IPv6地址也绑定一个域名,你就必须要再创建一条 AAAA 记录。 -按照A记录中的方法找到你的域名点右边蓝色字的解析。点击添加记录,记录类型选择 AAAA 记录。 +按照A记录中的方法找到你的域名点右边蓝色字的解析。点击添加记录,记录类型选择 AAAA 记录。 -填写主机记录名,比如 playv6 。记录值改为服务器 IPv6 地址。 +填写主机记录名,比如 playv6 。记录值改为服务器 IPv6 地址。 -等待解析生效。如果记录名为 playv6 ,此时支持 IPv6 的玩家就可通过 `playv6.xxx.top:22222` 进入服务器了。 +等待解析生效。如果记录名为 playv6 ,此时支持 IPv6 的玩家就可通过 `playv6.xxx.top:22222` 进入服务器了。 :::warning -因为大环境原因,很多玩家目前都无法通过 IPv6 连接到服务器,所以除非你有非常明确的目的,否则完全没有必要为服务器的IPv6地址配置AAAA记录。 +因为大环境原因,很多玩家目前都无法通过 IPv6 连接到服务器,所以除非你有非常明确的目的,否则完全没有必要为服务器的IPv6地址配置AAAA记录。 ::: #### 为双栈网络的服务器配置同时支持 IPv4 和 IPv6 的域名 -不仅可以有同时多个域名同时指向同一个 IP 地址的情况,也可以有同一个域名同时指向多个 IP 地址的情况。 +不仅可以有同时多个域名同时指向同一个 IP 地址的情况,也可以有同一个域名同时指向多个 IP 地址的情况。 -你或许已经知道,很多已经支持 IPv6 的网站虽然在支持 IPv6 的情况下可以通过 IPv6 访问, +你或许已经知道,很多已经支持 IPv6 的网站虽然在支持 IPv6 的情况下可以通过 IPv6 访问, -但是仅支持 IPv4 的网络也仍然可以访问。这是因为边些网站的域名**既指向了 IPv4 地址,也指向了 IPv6 地址**, +但是仅支持 IPv4 的网络也仍然可以访问。这是因为边些网站的域名**既指向了 IPv4 地址,也指向了 IPv6 地址**, -它的实现原理是为同一个域名同时添加 A 记录和 AAAA 记录。要实现这个目的,你只需要: +它的实现原理是为同一个域名同时添加 A 记录和 AAAA 记录。要实现这个目的,你只需要: 1. 在域名注册商的后台打开服务器 IPv6 地址正使用的 AAAA 记录的编辑页面。 -2. 把主机记录名改为和 A 记录一样的,比如服务器的连接地址是xxx.top:22222,那么AAAA记录的记录名也写 @ ,和 A 记录保持一致,然后保存。 -3. 你的玩家就可以在支持IPv6的网络环境下通过 IPv6 连接到服务器了。不支持 IPv6 的玩家不受影响,他们可以继续正常地通过 IPv4 连接到服务器。 +2. 把主机记录名改为和 A 记录一样的,比如服务器的连接地址是xxx.top:22222,那么AAAA记录的记录名也写 @ ,和 A 记录保持一致,然后保存。 +3. 你的玩家就可以在支持IPv6的网络环境下通过 IPv6 连接到服务器了。不支持 IPv6 的玩家不受影响,他们可以继续正常地通过 IPv4 连接到服务器。 :::warning -A 记录和 AAAA 记录都与 CNAME 记录冲突,如果你的服务器 IPv4 连接地址对应的域名是 CNAME 记录,你需要把那个记录改为A记录并指向服务器的 IPv4 地址,然后才能继续添加 AAAA 记录。 +A 记录和 AAAA 记录都与 CNAME 记录冲突,如果你的服务器 IPv4 连接地址对应的域名是 CNAME 记录,你需要把那个记录改为A记录并指向服务器的 IPv4 地址,然后才能继续添加 AAAA 记录。 ::: @@ -217,29 +217,29 @@ A 记录和 AAAA 记录都与 CNAME 记录冲突,如果你的服务器 IPv4
为什么以及什么时候要使用 DDNS 服务 -在一些网络中,即使不更换服务器,IP 地址也会发生变化。这就是动态 IP;而如果 IP 地址始终和同一台电脑绑定,也就是说这台电脑的 IP 地址永远不会变化,这就是静态 IP 。 +在一些网络中,即使不更换服务器,IP 地址也会发生变化。这就是动态 IP;而如果 IP 地址始终和同一台电脑绑定,也就是说这台电脑的 IP 地址永远不会变化,这就是静态 IP 。 -如果服务器是静态 IP,那么你就不用担心域名和 IP 无法对应,因为只要你不去手动更换服务器(或者换 IP),服务器的 IP 就不会变化。但是动态 IP 就不一样了。在使用动态 IP 的情况下,即使你完全不对服务器进行任何操作,服务器的 IP 地址也会改变,这会导致域名和 IP 在维护者不知情的情况下无法对应。 +如果服务器是静态 IP,那么你就不用担心域名和 IP 无法对应,因为只要你不去手动更换服务器(或者换 IP),服务器的 IP 就不会变化。但是动态 IP 就不一样了。在使用动态 IP 的情况下,即使你完全不对服务器进行任何操作,服务器的 IP 地址也会改变,这会导致域名和 IP 在维护者不知情的情况下无法对应。 -所以为了能把电脑的 IP 地址的变化随时同步到 DNS 服务器上,需要这台电脑自己能够发现自身 IP 地址的变化,并且自行和 DNS 服务器同步。而用来实现电脑发现自己 IP 地址的变动并同步到 DNS 服务器的这种服务就叫 DDNS(动态域名解析服务)。有了这个服务,电脑就能随时更新自己对应的域名对应的 IP ,这样无论自己的 IP 地址怎样变化,那个域名都能一直指向自己。这样一来使用者也可以直接通过域名来访问那个IP地址不固定的服务器了。 +所以为了能把电脑的 IP 地址的变化随时同步到 DNS 服务器上,需要这台电脑自己能够发现自身 IP 地址的变化,并且自行和 DNS 服务器同步。而用来实现电脑发现自己 IP 地址的变动并同步到 DNS 服务器的这种服务就叫 DDNS(动态域名解析服务)。有了这个服务,电脑就能随时更新自己对应的域名对应的 IP ,这样无论自己的 IP 地址怎样变化,那个域名都能一直指向自己。这样一来使用者也可以直接通过域名来访问那个IP地址不固定的服务器了。 -我们的家用宽带几乎全都是动态 IP(点名批评杭州华数,在杭州能给一个阿拉斯加的 IP)。如果你申请到了公网 IPv4 ,或者你让玩家能够通过 IPv6 连接服务器,那么你就需要把你的公网 IPv4 和 IPv6 告诉玩家。然而作为家用宽带,这些地址都是动态的。所以你必须要给服务器配置 DDNS 服务,否则你就必须要频繁地重新公布连接地址或者手动更新域名解析。 +我们的家用宽带几乎全都是动态 IP(点名批评杭州华数,在杭州能给一个阿拉斯加的 IP)。如果你申请到了公网 IPv4 ,或者你让玩家能够通过 IPv6 连接服务器,那么你就需要把你的公网 IPv4 和 IPv6 告诉玩家。然而作为家用宽带,这些地址都是动态的。所以你必须要给服务器配置 DDNS 服务,否则你就必须要频繁地重新公布连接地址或者手动更新域名解析。
-DDNS 服务必须需要一个域名才能开始搭建。运行 DDNS 服务的软件,目前开服圈子最常用的是[ddns-go](https://github.com/jeessy2/ddns-go),这个软件开箱即用,只需要简单的几步配置就可以让域名绑定在服务器上,非常方便。 +DDNS 服务必须需要一个域名才能开始搭建。运行 DDNS 服务的软件,目前开服圈子最常用的是[ddns-go](https://github.com/jeessy2/ddns-go),这个软件开箱即用,只需要简单的几步配置就可以让域名绑定在服务器上,非常方便。 -由于读者可能使用各种各样的域名注册商,而且限于篇幅,本文仅提供 Windows 系统、腾讯云 DNS(DNSPod)和 ddns-go 配合使用的教程。其他注册商和操作系统的配置方法大同小异,读者们灵活变通即可,有不懂的地方善用搜索引擎搜索。 +由于读者可能使用各种各样的域名注册商,而且限于篇幅,本文仅提供 Windows 系统、腾讯云 DNS(DNSPod)和 ddns-go 配合使用的教程。其他注册商和操作系统的配置方法大同小异,读者们灵活变通即可,有不懂的地方善用搜索引擎搜索。 1. 前往 https://github.com/jeessy2/ddns-go/releases 下载最新版的 ddns-go 安装包。 -2. 将安装包(就是下载的那个压缩包)解压到一个不会被自己误删除的位置(如果你不知道哪里自己不会误删除,就直接解压到文件管理器左侧的文档那个文件夹)。 +2. 将安装包(就是下载的那个压缩包)解压到一个不会被自己误删除的位置(如果你不知道哪里自己不会误删除,就直接解压到文件管理器左侧的文档那个文件夹)。 3. 在 `ddns-go.exe` 所在的同级目录[打开 Powershell](https://www.bing.com/search?q=windows%E6%80%8E%E4%B9%88%E5%9C%A8%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E6%89%93%E5%BC%80powershell&qs=n&form=QBRE&sp=-1&lq=0&pq=windows%E6%80%8E%E4%B9%88%E5%9C%A8%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E6%89%93%E5%BC%80powershell&sc=0-26&sk=&cvid=ED4A3EA564234CA2A72F233F64580905&ghsh=0&ghacc=0&ghpl=)。 4. 执行 `./ddns-go.exe`。 -5. 打开浏览器,访问网站 localhost:9876 ,这是 ddns-go 的管理面板。 -6. 提示输入帐号密码,由于这是你首次打开网站,直接点击登录。 -7. DNS 服务商选择 DNSPod(腾讯云)。 -8. 进入 DNSPod 官网 dnspod.cn 。登录自己的帐号,点击帐号头像,点击 API 密钥,点击 DNSPod Token,点击创建密钥,先将 ID 和 Token 分别复制到 ddns-go 管理面板的DNS 服务商项中的 ID 和 Token 中,再关闭 DNSPod 控制台中弹出的窗口。 -9. 往下翻,根据自己的实际情况启用 IPv4 或 IPv6 。获取方式都建议选择通过接口获取。在 `Domains` 中填写要跟踪的解析记录,例如你想让 `mc.arsky.club` 指向这台电脑,那就在里面填写 `mc.arsky.club` 。不要只填写 `mc`,要把整个域名都写上。 -10. 在`其他配置`中,勾选`禁止公网访问`,然后设置 `ddns-go` 的登录用户名和密码。下载登录后台的时候,你就必须要输入自己设置的用户名和密码来登录了。如果实在记不住用户密码就在服务器桌面上创建一个文本文档写里面,当然不推荐这么做,因为这很不安全,除非你认为自己真的记不住用户名和密码。 +5. 打开浏览器,访问网站 localhost:9876 ,这是 ddns-go 的管理面板。 +6. 提示输入帐号密码,由于这是你首次打开网站,直接点击登录。 +7. DNS 服务商选择 DNSPod(腾讯云)。 +8. 进入 DNSPod 官网 dnspod.cn 。登录自己的帐号,点击帐号头像,点击 API 密钥,点击 DNSPod Token,点击创建密钥,先将 ID 和 Token 分别复制到 ddns-go 管理面板的DNS 服务商项中的 ID 和 Token 中,再关闭 DNSPod 控制台中弹出的窗口。 +9. 往下翻,根据自己的实际情况启用 IPv4 或 IPv6 。获取方式都建议选择通过接口获取。在 `Domains` 中填写要跟踪的解析记录,例如你想让 `mc.arsky.club` 指向这台电脑,那就在里面填写 `mc.arsky.club` 。不要只填写 `mc`,要把整个域名都写上。 +10. 在`其他配置`中,勾选`禁止公网访问`,然后设置 `ddns-go` 的登录用户名和密码。下载登录后台的时候,你就必须要输入自己设置的用户名和密码来登录了。如果实在记不住用户密码就在服务器桌面上创建一个文本文档写里面,当然不推荐这么做,因为这很不安全,除非你认为自己真的记不住用户名和密码。 11. 点击最下面的 `Save`。 -到这里域名解析就配置成功了。此时控制台翻到顶,右边应该会出现日志,如果有修改域名解析 xxx 成功!或者 IP 未改变,将等待 n 次后与 DNS 服务商进行比对,就是配置成功了。如果失败了,日志会提示错误原因。 +到这里域名解析就配置成功了。此时控制台翻到顶,右边应该会出现日志,如果有修改域名解析 xxx 成功!或者 IP 未改变,将等待 n 次后与 DNS 服务商进行比对,就是配置成功了。如果失败了,日志会提示错误原因。 diff --git a/docs/advance/management/management.md b/docs/advance/management/management.md index a490b8883..c26c1a1a1 100644 --- a/docs/advance/management/management.md +++ b/docs/advance/management/management.md @@ -6,79 +6,79 @@ sidebar_position: 6 # 前言 -学习了开服的理论知识之后,各位服主还需要意识到一件事:开服不仅是一个技术活,它还需要自己的悉心管理和照料。mc服务器就像一个网游,你不仅是游戏的后台管理员,还是游戏的美术、策划师、运营、项目经理等,或者你也可以选择招募团队,将不同的职位分配给不同的人。 +学习了开服的理论知识之后,各位服主还需要意识到一件事:开服不仅是一个技术活,它还需要自己的悉心管理和照料。mc服务器就像一个网游,你不仅是游戏的后台管理员,还是游戏的美术、策划师、运营、项目经理等,或者你也可以选择招募团队,将不同的职位分配给不同的人。 -随着相关软件生态的繁荣,有越来越多的新人进入mc服务器这个领域。有的人心怀远大理想,有的人觉得开服只是图一乐。至于抱有理想的人可以分为两类:一种是觉得现有服务器不能让自己满意的,一种是想在众人面前展示自己强大能力的。不过有一个事实:虽然开服对于一个已经对游戏已经有一定了解的人来说非常容易,但是对于很多计算机小白来说仍然是非常困难的,他们需要学会文件管理、使用正确的代码编辑器,能看懂英语或者会使用翻译软件,才能勉强运行服务器软件,更别说部署一个服务器了。这个事实导致大部分经验较少的人陷入了一个误区:因为有计算机知识的人和没什么计算机知识的人相比更了解计算机,这使得能顺利运行服务端的人产生了一种错觉:他们已经“高人一等”了,并认为这样就能把一个服务器逐渐开大。然而这样的想法是非常错误的,因为事实上mc服务器不止是保持一个软件开启这么简单,它的本质其实是一个网游,涉及到大量更深层次的计算机知识和营销手段,并不是一个人就能完全运营好的。在b站开服教程相关的地方我看到有人说:“如果想开一个大服务器,那么建议同时间至少有两到三个管理高强度在线”。 +随着相关软件生态的繁荣,有越来越多的新人进入mc服务器这个领域。有的人心怀远大理想,有的人觉得开服只是图一乐。至于抱有理想的人可以分为两类:一种是觉得现有服务器不能让自己满意的,一种是想在众人面前展示自己强大能力的。不过有一个事实:虽然开服对于一个已经对游戏已经有一定了解的人来说非常容易,但是对于很多计算机小白来说仍然是非常困难的,他们需要学会文件管理、使用正确的代码编辑器,能看懂英语或者会使用翻译软件,才能勉强运行服务器软件,更别说部署一个服务器了。这个事实导致大部分经验较少的人陷入了一个误区:因为有计算机知识的人和没什么计算机知识的人相比更了解计算机,这使得能顺利运行服务端的人产生了一种错觉:他们已经“高人一等”了,并认为这样就能把一个服务器逐渐开大。然而这样的想法是非常错误的,因为事实上mc服务器不止是保持一个软件开启这么简单,它的本质其实是一个网游,涉及到大量更深层次的计算机知识和营销手段,并不是一个人就能完全运营好的。在b站开服教程相关的地方我看到有人说:“如果想开一个大服务器,那么建议同时间至少有两到三个管理高强度在线”。 -在服务器圈子待了这么长时间,我已经见过了无数服务器由于各种经营不善,长期没人在线甚至删库跑路的事。很多人疑惑不解,他们不知道为什么自己都已经开了服务器,也招了人,但是玩家就不来他们服务器,就去其他的服务器。他们根本不知道从哪里下手解决这个问题。于是服主们的远大理想纷纷泡汤,带着遗憾离开了。这也是mc服务器圈子一批一批的服主无视前人的警告前赴后继地跑来开服,遭受打击后又去继续警告后人,然后后人又不听劝的原因。大家对于开服开不起来的原因的认知多数都停留在“我不适合开服”,却不知道为什么自己开不好服。 +在服务器圈子待了这么长时间,我已经见过了无数服务器由于各种经营不善,长期没人在线甚至删库跑路的事。很多人疑惑不解,他们不知道为什么自己都已经开了服务器,也招了人,但是玩家就不来他们服务器,就去其他的服务器。他们根本不知道从哪里下手解决这个问题。于是服主们的远大理想纷纷泡汤,带着遗憾离开了。这也是mc服务器圈子一批一批的服主无视前人的警告前赴后继地跑来开服,遭受打击后又去继续警告后人,然后后人又不听劝的原因。大家对于开服开不起来的原因的认知多数都停留在“我不适合开服”,却不知道为什么自己开不好服。 :::tip -很多时候服务器开不好,都是因为服主**太善良**、**太天真**、**目标太不切实际**。 +很多时候服务器开不好,都是因为服主**太善良**、**太天真**、**目标太不切实际**。 ::: ## 要学习的内容 -这一章你将不再学习工科方面的各软件操作方式,我们将进入文科和商科的领域,介绍各种经商之道、为人处事的方式。服务器在游戏中被称为“多人模式”,这证明必须要有其他人参与,你的服务器才能兴旺起来。与玩家和同行们更好地相处,并合理地安排服务器的花销,是你继续扩大服务器规模的关键。 +这一章你将不再学习工科方面的各软件操作方式,我们将进入文科和商科的领域,介绍各种经商之道、为人处事的方式。服务器在游戏中被称为“多人模式”,这证明必须要有其他人参与,你的服务器才能兴旺起来。与玩家和同行们更好地相处,并合理地安排服务器的花销,是你继续扩大服务器规模的关键。 本章包括以下内容: ### 玩家管理 -与玩家和睦相处,并维持好玩家之间的关系是提高服务器玩家粘性,维持服务器热度的关键。 +与玩家和睦相处,并维持好玩家之间的关系是提高服务器玩家粘性,维持服务器热度的关键。 ### 团队管理 -很多时候,光凭你自己是无法胜任一个服务器的所有工作的。你需要招募团队,让大家各自负责擅长的领域,才能让服务器高效地运转起来。你需要学习如何作为一名合格的管理者,合理安排服务器工作人员,并让他们和谐相处,提高他们的工作效率。 +很多时候,光凭你自己是无法胜任一个服务器的所有工作的。你需要招募团队,让大家各自负责擅长的领域,才能让服务器高效地运转起来。你需要学习如何作为一名合格的管理者,合理安排服务器工作人员,并让他们和谐相处,提高他们的工作效率。 ### 宣传 -为了提高服务器的知名度,招来更多玩家,合理的宣传是必不可少的。你需要学习如何最高效地宣传服务器,提高服务器的知名度。 +为了提高服务器的知名度,招来更多玩家,合理的宣传是必不可少的。你需要学习如何最高效地宣传服务器,提高服务器的知名度。 ### 策划 -策划的目的就是让玩家玩到更丰富的内容,保证玩家在服务器内能够获得更多乐趣。合理的策划能迅速提高玩家对服务器的喜爱程度,而不恰当的策划则会导致玩家对服务器感到失望。 +策划的目的就是让玩家玩到更丰富的内容,保证玩家在服务器内能够获得更多乐趣。合理的策划能迅速提高玩家对服务器的喜爱程度,而不恰当的策划则会导致玩家对服务器感到失望。 ### 营销 -对于一个优秀的mc服务器来说,营销是一大重点内容。你需要知道如何与玩家处理好关系才能提高玩家对你服务器的好感。你还需要知道如何才能在各个服务器的竞争中胜出。 +对于一个优秀的mc服务器来说,营销是一大重点内容。你需要知道如何与玩家处理好关系才能提高玩家对你服务器的好感。你还需要知道如何才能在各个服务器的竞争中胜出。 ### 资金管理 -不要乱花钱。你需要知道如何安排服务器的支出才能让自己实现营收,避免破产。不要不重视资金的管理,如果管理不当,你的服务器随时可能会破产,甚至导致你背上债务。 +不要乱花钱。你需要知道如何安排服务器的支出才能让自己实现营收,避免破产。不要不重视资金的管理,如果管理不当,你的服务器随时可能会破产,甚至导致你背上债务。 ## 要进行的准备 -根据各开服教程,要开服只需要准备以下几样东西,《非常简单》: +根据各开服教程,要开服只需要准备以下几样东西,《非常简单》: - ~~云服务器或内网穿透软件帐号+闲置电脑~~ - ~~脑子~~ -然而要开一个成规模的服务器,这些远远不够!况且有一些资源是你必须从开服就已经准备好的。 +然而要开一个成规模的服务器,这些远远不够!况且有一些资源是你必须从开服就已经准备好的。 ### 资金 -资金对于开一个成规模的服务器来说是必不可少的,无论是维持服务器设备、软件和网络资源的运转,还是购买一些服务器需要的工具,钱都是最基本的,至于要用到多少钱,你可以用很少的钱巧妙地支撑起一个规模不小的服务器,也可以豪掷数万元直接开一个精美的大型服务器,但总之完全没有钱是不行的 +资金对于开一个成规模的服务器来说是必不可少的,无论是维持服务器设备、软件和网络资源的运转,还是购买一些服务器需要的工具,钱都是最基本的,至于要用到多少钱,你可以用很少的钱巧妙地支撑起一个规模不小的服务器,也可以豪掷数万元直接开一个精美的大型服务器,但总之完全没有钱是不行的 ### 脑子 -不必多说,至少你需要能会独立思考,没有人会无偿手把手教你开服,而愿意花钱雇别人给自己处理技术问题的人也不会看这篇文章 +不必多说,至少你需要能会独立思考,没有人会无偿手把手教你开服,而愿意花钱雇别人给自己处理技术问题的人也不会看这篇文章 ### 时间 -你有时间开服吗?很多人都希望开服其实就是把服务器开起来就可以放在那不管了,其实服务器运营所需要的时间比你想象的要多得多,并不是一个服务器的问题只需要几分钟就能解决,一些问题你可能从来没见过,你需要一点一点地搜索资料,排查问题,而这样一排查就是好几个小时,况且服务器一次可能不止出现一个问题,而且一个问题修完了就又出现另一个问题,这样一来就会耽误你大量的时间维护服务器,而且你不止需要处理服务器的技术问题,你还需要费心思给服务器进行宣传,对玩家进行管理,这些又要消耗大量的时间,而如果你不处理这些东西,服务器的情况就会急转直下,玩家需求得不到解决,玩家冲突没有人调解,服务器bug没有人修复,游戏体验最终烂成一坨,玩家纷纷离开。而如果你花费大量的时间来维护服务器,那么你的日常生活就会受到影响。对于一名初高中生来说,时间只会分为极其充裕和极其紧张两种:时间紧张的学生,时间安排都在学习或者未来事业相关,可能正在为中高考或者将来的职业努力,如果被mc服务器分散了时间,就很可能会对自己的前途造成影响,得不偿失;而时间充裕的学生当然可以给自己找点事干,来开mc服务器也没什么。对于一名大学生研究生来说,平时的课业是无论如何都要重视的(如果你完全不担心毕业和工作那另说),此外一些人可能因为自己的职业原因,比如必须要考英语四六级、计算机二级、考公、考驾照、考会计证、考教资这些,如果因为mc服务器耽误了时间,那么也是会对自己的前途造成很大影响,也是得不偿失。而对于已经工作的人来说,如果工作不忙那当然可以来开服,如果工作很忙,那开服一样地会耽误工作。很多时候你认为mc服务器是你自己的一个爱好,但是这个爱好是需要条件的,你需要投入大量的时间和精力到里面,你需要考虑mc服务器和自己生活是否冲突,并不是说开就开的。时间还和资金不一样,用不太多的钱一样可以开好服务器,**但是没有大把的时间是一定开不出好服务器的。** +你有时间开服吗?很多人都希望开服其实就是把服务器开起来就可以放在那不管了,其实服务器运营所需要的时间比你想象的要多得多,并不是一个服务器的问题只需要几分钟就能解决,一些问题你可能从来没见过,你需要一点一点地搜索资料,排查问题,而这样一排查就是好几个小时,况且服务器一次可能不止出现一个问题,而且一个问题修完了就又出现另一个问题,这样一来就会耽误你大量的时间维护服务器,而且你不止需要处理服务器的技术问题,你还需要费心思给服务器进行宣传,对玩家进行管理,这些又要消耗大量的时间,而如果你不处理这些东西,服务器的情况就会急转直下,玩家需求得不到解决,玩家冲突没有人调解,服务器bug没有人修复,游戏体验最终烂成一坨,玩家纷纷离开。而如果你花费大量的时间来维护服务器,那么你的日常生活就会受到影响。对于一名初高中生来说,时间只会分为极其充裕和极其紧张两种:时间紧张的学生,时间安排都在学习或者未来事业相关,可能正在为中高考或者将来的职业努力,如果被mc服务器分散了时间,就很可能会对自己的前途造成影响,得不偿失;而时间充裕的学生当然可以给自己找点事干,来开mc服务器也没什么。对于一名大学生研究生来说,平时的课业是无论如何都要重视的(如果你完全不担心毕业和工作那另说),此外一些人可能因为自己的职业原因,比如必须要考英语四六级、计算机二级、考公、考驾照、考会计证、考教资这些,如果因为mc服务器耽误了时间,那么也是会对自己的前途造成很大影响,也是得不偿失。而对于已经工作的人来说,如果工作不忙那当然可以来开服,如果工作很忙,那开服一样地会耽误工作。很多时候你认为mc服务器是你自己的一个爱好,但是这个爱好是需要条件的,你需要投入大量的时间和精力到里面,你需要考虑mc服务器和自己生活是否冲突,并不是说开就开的。时间还和资金不一样,用不太多的钱一样可以开好服务器,**但是没有大把的时间是一定开不出好服务器的。** ### 游戏经验 -你需要非常了解玩家都在在游戏里干出什么事来,比如玩家可能会利用这个特性刷这个东西,利用那个特性实现那个作弊,玩家之间游戏经验的差距,就会让游戏经验丰富的玩家在游戏中占据上风,而这种情况很可能会影响游戏平衡,破坏游戏体验。所以你需要非常清楚服务器里发生了什么,可能会发生什么,不能让玩家们肆意妄为 +你需要非常了解玩家都在在游戏里干出什么事来,比如玩家可能会利用这个特性刷这个东西,利用那个特性实现那个作弊,玩家之间游戏经验的差距,就会让游戏经验丰富的玩家在游戏中占据上风,而这种情况很可能会影响游戏平衡,破坏游戏体验。所以你需要非常清楚服务器里发生了什么,可能会发生什么,不能让玩家们肆意妄为 ### 计算资源 -你需要一台电脑来运行服务器软件,这台电脑可以是你自己的电脑,也可以是你购买的云服务器。对于一个没有人的服务器,只需要少量计算资源就可以维持运行,而对于一个有一定规模、经常有很多人在线的服务器,你需要大量的计算资源才能维持服务器运转,因为服务器要处理的玩家数据非常多。计算资源这方面东西我会在后面细讲,但是你知道需要有一定的计算资源。如果你要用自己的电脑,你需要保证你自己的电脑 24 小时开机,还需要保证它不会受停电或断网影响,也需要保证它不会影响你的日常生活,比如不能放在你自己卧室导致噪音造成你自己睡眠质量下降。至于云服务器则是虽然配置灵活但是想要一台又快又稳定的服务器也是价格不菲。如果你想要花很少的钱租云服务器,那么你的服务器一定会有经常宕机,甚至服务商跑路的风险。之前我就从别人手里低价接手了一年的一台海外服务器,结果才两个月服务商突然告诉我机房寄了,数据全丢,我去找他们要个说法,结果服务商直接重组,高层换人,根本没处说理去。 +你需要一台电脑来运行服务器软件,这台电脑可以是你自己的电脑,也可以是你购买的云服务器。对于一个没有人的服务器,只需要少量计算资源就可以维持运行,而对于一个有一定规模、经常有很多人在线的服务器,你需要大量的计算资源才能维持服务器运转,因为服务器要处理的玩家数据非常多。计算资源这方面东西我会在后面细讲,但是你知道需要有一定的计算资源。如果你要用自己的电脑,你需要保证你自己的电脑 24 小时开机,还需要保证它不会受停电或断网影响,也需要保证它不会影响你的日常生活,比如不能放在你自己卧室导致噪音造成你自己睡眠质量下降。至于云服务器则是虽然配置灵活但是想要一台又快又稳定的服务器也是价格不菲。如果你想要花很少的钱租云服务器,那么你的服务器一定会有经常宕机,甚至服务商跑路的风险。之前我就从别人手里低价接手了一年的一台海外服务器,结果才两个月服务商突然告诉我机房寄了,数据全丢,我去找他们要个说法,结果服务商直接重组,高层换人,根本没处说理去。 ### 网络资源 -很多服主刚入坑的时候还没有意识到一个严重的问题:由于 IPv4 公网地址稀缺,IPv6 又迟迟没有普及,在家用自己的电脑开服务器是很困难的。有的地区可以免费要到公网 IPv4 地址,有的地区要收费,有的地区完全不给。公网 IPv4 可以说是开服必须的配置,如果家里没有公网,那么只能要么转向云服务器要么内网穿透。然而内网穿透也并不是很稳定,主流内网穿透运营商往往走低价路线,虽然价格实惠但是质量可能较差,而自己搭穿透节点往往需要找到符合自己需求的服务器,比云服务器和主流内网穿透的方案都要复杂。解决了 IPv4 的问题之后,你还需要考虑服务器的域名,购买什么样的域名最好,是否要花更多的钱买更好的域名,都是需要考虑的。 +很多服主刚入坑的时候还没有意识到一个严重的问题:由于 IPv4 公网地址稀缺,IPv6 又迟迟没有普及,在家用自己的电脑开服务器是很困难的。有的地区可以免费要到公网 IPv4 地址,有的地区要收费,有的地区完全不给。公网 IPv4 可以说是开服必须的配置,如果家里没有公网,那么只能要么转向云服务器要么内网穿透。然而内网穿透也并不是很稳定,主流内网穿透运营商往往走低价路线,虽然价格实惠但是质量可能较差,而自己搭穿透节点往往需要找到符合自己需求的服务器,比云服务器和主流内网穿透的方案都要复杂。解决了 IPv4 的问题之后,你还需要考虑服务器的域名,购买什么样的域名最好,是否要花更多的钱买更好的域名,都是需要考虑的。 ### 耐心 -需要耐心一共体现在两个方面:维护服务器和处理玩家反馈。维护服务器上文已经提到,你需要耗费好几个小时去找一个不一定能被找到而且找到了也不一定能修的 bug 。至于玩家反馈,你需要耐心地解答玩家问题,即使是给他们发模板化的消息,也不要破防了对玩家们大喊大叫,那样只会把所有玩家都吓跑。 +需要耐心一共体现在两个方面:维护服务器和处理玩家反馈。维护服务器上文已经提到,你需要耗费好几个小时去找一个不一定能被找到而且找到了也不一定能修的 bug 。至于玩家反馈,你需要耐心地解答玩家问题,即使是给他们发模板化的消息,也不要破防了对玩家们大喊大叫,那样只会把所有玩家都吓跑。 diff --git a/docs/advance/management/player-management/announcement.md b/docs/advance/management/player-management/announcement.md index 60bb18fd2..4744d62ca 100644 --- a/docs/advance/management/player-management/announcement.md +++ b/docs/advance/management/player-management/announcement.md @@ -7,89 +7,89 @@ sidebar_position: 7 # 服务器公告
- 在学习正确发布服务器公告前,请停止这些行为 + 在学习正确发布服务器公告前,请停止这些行为 1. **在服务器内发布无意义公告。** -例如艾特全体成员说“我要玩原神”。除非你和玩家关系很好,玩家们知道你发的不是公告。 -2. **频繁发布公告,尤其是通过机器人频繁地定时艾特全体。** -例如每天早上艾特全体“早上起床就要来玩服务器!”,上午艾特全体“闲下来就玩服务器!”,中午艾特全体“吃完饭就来玩服务器!”,下午艾特全体“没有事了就来玩服务器!”,晚上艾特全体“睡觉之前来玩服务器!”。这样导致大量的信息充斥在玩家的手机中,影响到他们的日常生活。 +例如艾特全体成员说“我要玩原神”。除非你和玩家关系很好,玩家们知道你发的不是公告。 +2. **频繁发布公告,尤其是通过机器人频繁地定时艾特全体。** +例如每天早上艾特全体“早上起床就要来玩服务器!”,上午艾特全体“闲下来就玩服务器!”,中午艾特全体“吃完饭就来玩服务器!”,下午艾特全体“没有事了就来玩服务器!”,晚上艾特全体“睡觉之前来玩服务器!”。这样导致大量的信息充斥在玩家的手机中,影响到他们的日常生活。 3. **发布公告却在公告中不写明任何公告的摘要。** -例如先发了一条艾特全体成员但什么都不写(直接写@全体成员),然后在下一条消息说公告的具体内容,或者是“@全体成员 看公告”这种。这会导致玩家在手机上收到消息时,不知道这条消息对于自己是否重要,就像新闻标题党给新闻起名《科学家发现惊人秘密!你每天都在做的事情可能致命!》、《震惊!某明星竟然在公共场合做出这种事!》,玩家不知道到底该看还是不该看。 +例如先发了一条艾特全体成员但什么都不写(直接写@全体成员),然后在下一条消息说公告的具体内容,或者是“@全体成员 看公告”这种。这会导致玩家在手机上收到消息时,不知道这条消息对于自己是否重要,就像新闻标题党给新闻起名《科学家发现惊人秘密!你每天都在做的事情可能致命!》、《震惊!某明星竟然在公共场合做出这种事!》,玩家不知道到底该看还是不该看。 4. **发布公告但信息不全或含糊其辞。** -例如发布“有能力可以赞助服务器”却不写明赞助方式和赞助对象、发布“每天晚上进服务器语音频道”却不写明服务器语音频道是什么,怎么进入。 +例如发布“有能力可以赞助服务器”却不写明赞助方式和赞助对象、发布“每天晚上进服务器语音频道”却不写明服务器语音频道是什么,怎么进入。 5. **发布的公告冗长啰嗦。** -例如发布“众所周知因为我今天下午去我奶家了,然后家里那个服务器不知道因为什么原因就关机了,然后我回去发现是中间停电了,所以下午那阵你们就进不去服务器了”,其实应该写“今天下午服务器因突发停电而关机,现已恢复”。 +例如发布“众所周知因为我今天下午去我奶家了,然后家里那个服务器不知道因为什么原因就关机了,然后我回去发现是中间停电了,所以下午那阵你们就进不去服务器了”,其实应该写“今天下午服务器因突发停电而关机,现已恢复”。
## 要点 -一个好的服务器公告是玩家快速了解服务器重要通知的前提。**要想发布一条简练易懂的公告,你需要掌握以下要点:** +一个好的服务器公告是玩家快速了解服务器重要通知的前提。**要想发布一条简练易懂的公告,你需要掌握以下要点:**
- 1. 只叙述玩家关心的内容,不需要包含大量技术细节。 + 1. 只叙述玩家关心的内容,不需要包含大量技术细节。 -例如说“服务器已安装领地插件Residence,通过/res指令即可使用”即可 -不需要说“服务器已安装Residence,这是一款强大的付费插件,拥有强大的权限组功能,目前已经为很多服务器广泛采用”。 +例如说“服务器已安装领地插件Residence,通过/res指令即可使用”即可 +不需要说“服务器已安装Residence,这是一款强大的付费插件,拥有强大的权限组功能,目前已经为很多服务器广泛采用”。
- 2. 群公告可以幽默,但不能与重要无关的成分占比过高,或过于靠后。 + 2. 群公告可以幽默,但不能与重要无关的成分占比过高,或过于靠后。 -例如可以说“服务器逆天玩家太多了,这次安装了CoreProtect,支持局部回档,发现建筑被熊的不要过于担心,找管理说明情况即可,管理会尽力帮你恢复。爱搞事情的小鬼都给我收着点,以后发现一个ban一个”。 -而不是说“米米世界玩家入侵我们服务器了?服务器逆天玩家太多,把别人的家全都掀飞了。你们米米玩家不知道米米抄袭我们mc?简直太猖狂了,我要把你们通通制裁!现在我还可以发动服主之力,把你们被毁的家恢复原样,太神奇了!”。 -如果你希望通过幽默和玩家保持良好关系,建议尽可能在聊天中展现,而不是让服务器到处都充满“逆天”发言,导致玩家无法正常地接收服务器的信息。 +例如可以说“服务器逆天玩家太多了,这次安装了CoreProtect,支持局部回档,发现建筑被熊的不要过于担心,找管理说明情况即可,管理会尽力帮你恢复。爱搞事情的小鬼都给我收着点,以后发现一个ban一个”。 +而不是说“米米世界玩家入侵我们服务器了?服务器逆天玩家太多,把别人的家全都掀飞了。你们米米玩家不知道米米抄袭我们mc?简直太猖狂了,我要把你们通通制裁!现在我还可以发动服主之力,把你们被毁的家恢复原样,太神奇了!”。 +如果你希望通过幽默和玩家保持良好关系,建议尽可能在聊天中展现,而不是让服务器到处都充满“逆天”发言,导致玩家无法正常地接收服务器的信息。
- 3. 尽可能少发公告,避免浪费玩家时间。 + 3. 尽可能少发公告,避免浪费玩家时间。 -只要不涉及需要立即发布的公告,就最好挑选合适的时间,将过去几条要发布的公告合并发布。例如你的服务器上午安装了一个插件,中午新增了一条规定,你可以在中午新增规定后再发布“服务器中新增功能xxx,使用文档xxx。另外服务器中新增了规定xxx,也就是说你必须xxx,否则会受到xxx处罚。” -而不是上午艾特全体成员说服务器新装了插件,下午又艾特全体成员说服务器有了新规定。 -只有当公告需要立即通知玩家时再将公告单独发布,例如“服务器末地将于明天晚上8点重置,请各位玩家及时拿走存放在末地的贵重物品”。 +只要不涉及需要立即发布的公告,就最好挑选合适的时间,将过去几条要发布的公告合并发布。例如你的服务器上午安装了一个插件,中午新增了一条规定,你可以在中午新增规定后再发布“服务器中新增功能xxx,使用文档xxx。另外服务器中新增了规定xxx,也就是说你必须xxx,否则会受到xxx处罚。” +而不是上午艾特全体成员说服务器新装了插件,下午又艾特全体成员说服务器有了新规定。 +只有当公告需要立即通知玩家时再将公告单独发布,例如“服务器末地将于明天晚上8点重置,请各位玩家及时拿走存放在末地的贵重物品”。
4. 公告中不要带有不友好的语言。 -比如你不能说“@全体成员 哪个**养村民没完了?服务器都卡出史了,你养你*呢?”。 +比如你不能说“@全体成员 哪个**养村民没完了?服务器都卡出史了,你养你*呢?”。
## 形式 公告发布有以下两种方式可以选择: -1. **将公告立即推送至所有人** ,如 QQ 的艾特全体成员,或者服务器的`/title`指令。 -由于这可能打扰到玩家的日常生活,所以只推荐公告需要及时通知到玩家时使用。例如通知玩家服务器的资源世界将会重置。 -2. **在公告板上发布公告** ,如服务器中的弹窗公告、QQ 群的群公告功能或服务器官网。 -此公告独立于聊天消息,玩家可以随时查阅,适合发布系统的说明时使用。例如发布服务器 tpa 功能的使用教程。 +1. **将公告立即推送至所有人** ,如 QQ 的艾特全体成员,或者服务器的`/title`指令。 +由于这可能打扰到玩家的日常生活,所以只推荐公告需要及时通知到玩家时使用。例如通知玩家服务器的资源世界将会重置。 +2. **在公告板上发布公告** ,如服务器中的弹窗公告、QQ 群的群公告功能或服务器官网。 +此公告独立于聊天消息,玩家可以随时查阅,适合发布系统的说明时使用。例如发布服务器 tpa 功能的使用教程。 -这两种方式并非必须二选一,你可以根据公告的性质决定是否要通过其中某种方式发布。有时候你有必要同时通过多种方式发布服务器公告。 +这两种方式并非必须二选一,你可以根据公告的性质决定是否要通过其中某种方式发布。有时候你有必要同时通过多种方式发布服务器公告。 ## 示例 --- -> 通过新的技术,我们成功恢复了机器人功能。但是出于本群性质,以及机器人帐号安全性的考虑,服务器内向群内发送聊天的功能引入了网易的屏蔽词列表。 -> 如果从服务器内向群内发送消息时未在群内显示,并且可排除机器人自身故障,证明你发送的消息中存在敏感或违规内容,不便在群内展示。 -> 从服务器向群内发送消息在消息前加上英文减号(-)即可,例如发送“-我挖到钻石了”。 +> 通过新的技术,我们成功恢复了机器人功能。但是出于本群性质,以及机器人帐号安全性的考虑,服务器内向群内发送聊天的功能引入了网易的屏蔽词列表。 +> 如果从服务器内向群内发送消息时未在群内显示,并且可排除机器人自身故障,证明你发送的消息中存在敏感或违规内容,不便在群内展示。 +> 从服务器向群内发送消息在消息前加上英文减号(-)即可,例如发送“-我挖到钻石了”。 > 感谢你的支持与理解。今后也请多多支持《边际高版本服务器》。 -> (改编自“新月国际服”玩家群) +> (改编自“新月国际服”玩家群) --- > 🔞全凭自愿! -> 如果你有能力且为成年人,并且想要捐赠💴我们,那么我们将不胜感激。 -> 请注意,服主与服务器提供者是不同的个体,但他们都致力于公益。以下是他们的分工: +> 如果你有能力且为成年人,并且想要捐赠💴我们,那么我们将不胜感激。 +> 请注意,服主与服务器提供者是不同的个体,但他们都致力于公益。以下是他们的分工: > Qingwmc:负责策划、处理玩家反馈、搭建维护服务器软件等 > jpjl8845:负责为服务器赞助和维护硬件 -> (收款码图片) -> (改编自“231T-TheOne”玩家群) +> (收款码图片) +> (改编自“231T-TheOne”玩家群) --- -> heibao114514因为四处破坏信标被永久封禁,望各位不要违反服务器规定 -> (改编自“231T-TheOne”玩家群) \ No newline at end of file +> heibao114514因为四处破坏信标被永久封禁,望各位不要违反服务器规定 +> (改编自“231T-TheOne”玩家群) \ No newline at end of file diff --git a/docs/advance/management/player-management/auditing.md b/docs/advance/management/player-management/auditing.md index f1298c392..597ad9e7a 100644 --- a/docs/advance/management/player-management/auditing.md +++ b/docs/advance/management/player-management/auditing.md @@ -6,44 +6,44 @@ sidebar_position: 8 # 进服审核 -对于一个服务器来说,维持良好的玩家社区是非常有必要的。社区的秩序不仅要由管理员监督,也要玩家共同来维护。然而玩家之间素质参差不齐,有些玩家就可以做到和其他人在服务器中合作,但是有些玩家就以破坏为乐,素质极差。为了筛选这些玩家,我们必须要知道以下种类的玩家会不利于玩家社区的发展: -1. **喜欢骂人,甚至以骂人为乐的玩家。** -虽然有些玩家说话不文明,说话时嘴边总带点脏字,但是如果他不存在不尊重他人的情况,大多数玩家还是可以接受的。多数玩家无法接受的喜欢骂人的玩家通常会自私地维护他自己的观点,与别人观点发生分歧时首先辱骂他人而不是关注谁对谁错。有些玩家还喜欢无缘无故地给侮辱他人,比如给服务器内其他玩家起不恰当的外号、觉得某个玩家的建筑皮肤等不好看就对那个玩家进行羞辱等。 +对于一个服务器来说,维持良好的玩家社区是非常有必要的。社区的秩序不仅要由管理员监督,也要玩家共同来维护。然而玩家之间素质参差不齐,有些玩家就可以做到和其他人在服务器中合作,但是有些玩家就以破坏为乐,素质极差。为了筛选这些玩家,我们必须要知道以下种类的玩家会不利于玩家社区的发展: +1. **喜欢骂人,甚至以骂人为乐的玩家。** +虽然有些玩家说话不文明,说话时嘴边总带点脏字,但是如果他不存在不尊重他人的情况,大多数玩家还是可以接受的。多数玩家无法接受的喜欢骂人的玩家通常会自私地维护他自己的观点,与别人观点发生分歧时首先辱骂他人而不是关注谁对谁错。有些玩家还喜欢无缘无故地给侮辱他人,比如给服务器内其他玩家起不恰当的外号、觉得某个玩家的建筑皮肤等不好看就对那个玩家进行羞辱等。 2. **熊孩子。** -熊孩子通常是以在服务器中搞破坏为乐的人。他们喜欢拆家、偷盗、恶作剧等,这些行为严重影响了其他玩家的正常游戏。 -3. **不明事理,不会为他人着想的人。** -在日常生活中,为他人着想、换位思考是我们与他人互相尊重的非常重要的人格品质。在服务器中,有些玩家不知道如何尊重他人,在明知道自己错了却又强行辩解,“像个傻子一样”,让所有人都很尴尬。有时他们也会把随意拿走别人的东西、占有别人的家、借东西不还等行为看作理所应当,在其他人指出他错误时拒不道歉。这样的人非常讨厌,在服务器中也是一样。这些玩家还可能不尊重别人的劳动成果,别人一旦答应他使用某设施,或者同意给他游戏物资帮助他,他不但不说一声谢谢,还从此从别人那里索取,这就是典型的“伸手党”。 +熊孩子通常是以在服务器中搞破坏为乐的人。他们喜欢拆家、偷盗、恶作剧等,这些行为严重影响了其他玩家的正常游戏。 +3. **不明事理,不会为他人着想的人。** +在日常生活中,为他人着想、换位思考是我们与他人互相尊重的非常重要的人格品质。在服务器中,有些玩家不知道如何尊重他人,在明知道自己错了却又强行辩解,“像个傻子一样”,让所有人都很尴尬。有时他们也会把随意拿走别人的东西、占有别人的家、借东西不还等行为看作理所应当,在其他人指出他错误时拒不道歉。这样的人非常讨厌,在服务器中也是一样。这些玩家还可能不尊重别人的劳动成果,别人一旦答应他使用某设施,或者同意给他游戏物资帮助他,他不但不说一声谢谢,还从此从别人那里索取,这就是典型的“伸手党”。 ## 审核方式的分类 -虽然我们常说小孩子才不懂事,但是现实生活中,这种乳臭未干的成年人也随处可见。如果你希望维护一个纯净、团结的社区,就得尽可能避免这些人进入服务器。进服审核是最有效、最通用的办法。玩家进服审核时通常有以下流程: +虽然我们常说小孩子才不懂事,但是现实生活中,这种乳臭未干的成年人也随处可见。如果你希望维护一个纯净、团结的社区,就得尽可能避免这些人进入服务器。进服审核是最有效、最通用的办法。玩家进服审核时通常有以下流程: 1. 玩家联系到审核通道。审核通道可以是一个群聊、一个人的联系方式、一个mc服务器或一个网站。 2. 玩家通过自助或人工的方式进行审核。 -3. 如果程序或人工判定玩家审核通过,就将玩家的游戏名加入到服务器白名单,如果有玩家交流平台,那么就可以允许玩家加入交流平台。 -这也意味着有进服审核机制的服务器必须开启白名单。否则玩家不经过审核也可以进入服务器,审核可能失去意义。 +3. 如果程序或人工判定玩家审核通过,就将玩家的游戏名加入到服务器白名单,如果有玩家交流平台,那么就可以允许玩家加入交流平台。 +这也意味着有进服审核机制的服务器必须开启白名单。否则玩家不经过审核也可以进入服务器,审核可能失去意义。 ## 审核的形式 -通常情况下,有以下几种审核的形式: +通常情况下,有以下几种审核的形式: ### 回答问题 -你可以像学校考试那样准备好问题,然后让玩家回答。你可以使用一些软件的在线问卷收集功能来实现玩家在线答题。问卷设置为答卷者无法查看其他人的答案,然后你就可以把问卷发给玩家。当玩家填写好后,你可以进入问卷的统计界面获取玩家的答案并进行评分。 +你可以像学校考试那样准备好问题,然后让玩家回答。你可以使用一些软件的在线问卷收集功能来实现玩家在线答题。问卷设置为答卷者无法查看其他人的答案,然后你就可以把问卷发给玩家。当玩家填写好后,你可以进入问卷的统计界面获取玩家的答案并进行评分。 给玩家出的问题可以与你对玩家的要求相关。例如: -- **如果你希望玩家素质更高**,就可以出服务器内行为相关的题目,比如: - - 当听说自己的好友偷了其他玩家的物品被抓时,你应该怎么做 - - 你正在使用的刷铁机的主人突然因为某些原因而禁止你使用他的刷铁机,你应该怎么做 +- **如果你希望玩家素质更高**,就可以出服务器内行为相关的题目,比如: + - 当听说自己的好友偷了其他玩家的物品被抓时,你应该怎么做 + - 你正在使用的刷铁机的主人突然因为某些原因而禁止你使用他的刷铁机,你应该怎么做 -- **如果你希望玩家的游戏水平更高**,你也可以出游戏知识相关的题目,比如: +- **如果你希望玩家的游戏水平更高**,你也可以出游戏知识相关的题目,比如: - 以下哪个红石电路可以实现RS锁存器的功能 - - 当一个不属于任何村庄的村民在距离附近的村庄至少多远处认领床时,才会创建新的村庄而不是加入那个附近的村庄 + - 当一个不属于任何村庄的村民在距离附近的村庄至少多远处认领床时,才会创建新的村庄而不是加入那个附近的村庄 -题目尽量不要过难,例如: +题目尽量不要过难,例如: -- **不能强行要求玩家答对涉及大量数学计算和计算机知识的题目**:会导致玩家由于题目太难,不再想加入服务器而离开 -- **不要设置太多过于简单的题目**:会允许更多不符合要求的玩家进入服务器,导致审核失去意义。 +- **不能强行要求玩家答对涉及大量数学计算和计算机知识的题目**:会导致玩家由于题目太难,不再想加入服务器而离开 +- **不要设置太多过于简单的题目**:会允许更多不符合要求的玩家进入服务器,导致审核失去意义。 ### 面试 @@ -51,6 +51,6 @@ sidebar_position: 8 ### 考察 -你可以先允许玩家进入服务器,然后对其进行重点关注,并对于该有玩家的所有违规行为都直接将其永久封禁,无视服务器现有处罚规则。 +你可以先允许玩家进入服务器,然后对其进行重点关注,并对于该有玩家的所有违规行为都直接将其永久封禁,无视服务器现有处罚规则。 -难度适中、知识面广的审核可以更好地筛选你认为适合玩家社区的人。在审核机制实行后,如果发现有玩家仍然不符合服务器玩家社区所需条件但通过了审核,或者有玩家明明符合条件却无法通过审核,你就需要对审核内容进行修改,调整太难或太简单的内容。 \ No newline at end of file +难度适中、知识面广的审核可以更好地筛选你认为适合玩家社区的人。在审核机制实行后,如果发现有玩家仍然不符合服务器玩家社区所需条件但通过了审核,或者有玩家明明符合条件却无法通过审核,你就需要对审核内容进行修改,调整太难或太简单的内容。 \ No newline at end of file diff --git a/docs/advance/management/player-management/chunkbase.md b/docs/advance/management/player-management/chunkbase.md index 53157474f..053afc6b1 100644 --- a/docs/advance/management/player-management/chunkbase.md +++ b/docs/advance/management/player-management/chunkbase.md @@ -6,27 +6,27 @@ sidebar_position: 2 # Chunkbase -Chunkbase 是mc玩家经常用的快速探索世界的网站,它提供一个工具,可以在已知世界种子的情况下快速定位到自己想要找的各种自然生成的建筑或者特殊区域,比如要塞、海底神殿、村庄、古城、下界要塞、猪灵堡垒、末地城等。 +Chunkbase 是mc玩家经常用的快速探索世界的网站,它提供一个工具,可以在已知世界种子的情况下快速定位到自己想要找的各种自然生成的建筑或者特殊区域,比如要塞、海底神殿、村庄、古城、下界要塞、猪灵堡垒、末地城等。 **Chunkbase**的网站是 chunkbase.com 。 ## 开始使用 -要使用 Chunkbase 查找这些结构、生物群系等,你可以进入 Apps,会显示各种各样的工具。找到自己要查找的东西对应的工具,点击进入,输入种子并选择服务器核心的版本,然后就可以看到要找的东西的位置了。要想缩放地图,可以在地图上转动滚轮,或拖动底部的滑块。在地图上拖动鼠标可以移动地图。如果要达到指定地点,可以在底部输入 x 和z 坐标,然后点击**Go!**。 +要使用 Chunkbase 查找这些结构、生物群系等,你可以进入 Apps,会显示各种各样的工具。找到自己要查找的东西对应的工具,点击进入,输入种子并选择服务器核心的版本,然后就可以看到要找的东西的位置了。要想缩放地图,可以在地图上转动滚轮,或拖动底部的滑块。在地图上拖动鼠标可以移动地图。如果要达到指定地点,可以在底部输入 x 和z 坐标,然后点击**Go!**。 ## Chunkbase的利弊 -Chunkbase是一个非常好的工具,玩家可以用它快速地找到战利品所在地,而不需要跑图。对于服务器来说,由于玩家不需要跑图,为服务器节省了大量CPU、网络和硬盘资源,但是同时由于它降低了玩家寻找战利品的难度,在某种程度上造成了玩家的活跃度降低,降低了服务器的热度,此外由于玩家可以快速找到附近所有的战利品,导致后来的玩家必须要跑很远才能获得战利品,一定程度上导致了游戏中不公平的现象。 +Chunkbase是一个非常好的工具,玩家可以用它快速地找到战利品所在地,而不需要跑图。对于服务器来说,由于玩家不需要跑图,为服务器节省了大量CPU、网络和硬盘资源,但是同时由于它降低了玩家寻找战利品的难度,在某种程度上造成了玩家的活跃度降低,降低了服务器的热度,此外由于玩家可以快速找到附近所有的战利品,导致后来的玩家必须要跑很远才能获得战利品,一定程度上导致了游戏中不公平的现象。 ## 如何对待Chunkbase -你需要从一开服就对使用 Chunkbase 的玩家做好准备。你首先需要决定好是否为玩家提供使用 Chunkbase 的条件。你需要根据自己服务器的类型或玩家社区的个性来决定,通常来说有以下判断方式: -1. **玩家爱好** :如果主要的玩家社区以生电为主,那么你很可能需要为他们提供 Chunkbase,如果玩家主要以战争、pvp 和探索为主,在提供 Chunkbase 时一定要谨慎。 -2. **服务器配置** :如果玩家有了 Chunkbase,他们就不再会不远万里地寻找特定的战利品,这会为你的服务器节省大量的CPU、网络和硬盘。如果你的服务器限制地图范围,那么提供 Chunkbase 将无关紧要,因为服务器内的资源本就有限,玩家跑图也跑不了太多,建议直接给玩家提供 Chunkbase,这样更方便了生电玩家。 -3. **玩家数量** :如果服务器的玩家较多,比如日常有十人在线,那么决定提供 Chunkbase 时一定要谨慎。如果你的服务器不限制跑图,那么服务器出生点附近的战利品将会被肝帝洗劫一空,后来的玩家就需要跑很远才能找到战利品。 +你需要从一开服就对使用 Chunkbase 的玩家做好准备。你首先需要决定好是否为玩家提供使用 Chunkbase 的条件。你需要根据自己服务器的类型或玩家社区的个性来决定,通常来说有以下判断方式: +1. **玩家爱好** :如果主要的玩家社区以生电为主,那么你很可能需要为他们提供 Chunkbase,如果玩家主要以战争、pvp 和探索为主,在提供 Chunkbase 时一定要谨慎。 +2. **服务器配置** :如果玩家有了 Chunkbase,他们就不再会不远万里地寻找特定的战利品,这会为你的服务器节省大量的CPU、网络和硬盘。如果你的服务器限制地图范围,那么提供 Chunkbase 将无关紧要,因为服务器内的资源本就有限,玩家跑图也跑不了太多,建议直接给玩家提供 Chunkbase,这样更方便了生电玩家。 +3. **玩家数量** :如果服务器的玩家较多,比如日常有十人在线,那么决定提供 Chunkbase 时一定要谨慎。如果你的服务器不限制跑图,那么服务器出生点附近的战利品将会被肝帝洗劫一空,后来的玩家就需要跑很远才能找到战利品。 ## 如何提供或限制 Chunkbase 的使用条件 -要想提供 Chunkbase 的使用条件,最简单的办法就是直接告诉玩家们地图的种子。在Java版中,地图种子普通玩家无法获取,互通插件 Geyser 也默认会隐藏种子(显示1)。对于Java版,你可以将种子号写在服务器公告上。基岩版默认即显示种子,只要你不安装假种子插件,玩家就可以自行查看种子。 +要想提供 Chunkbase 的使用条件,最简单的办法就是直接告诉玩家们地图的种子。在Java版中,地图种子普通玩家无法获取,互通插件 Geyser 也默认会隐藏种子(显示1)。对于Java版,你可以将种子号写在服务器公告上。基岩版默认即显示种子,只要你不安装假种子插件,玩家就可以自行查看种子。 -要想不提供 Chunkbase 的使用条件,你可以隐藏种子。Java版默认无法获取地图种子,所以你不需要进一步操作。对于基岩版,你需要安装假种子插件。 \ No newline at end of file +要想不提供 Chunkbase 的使用条件,你可以隐藏种子。Java版默认无法获取地图种子,所以你不需要进一步操作。对于基岩版,你需要安装假种子插件。 \ No newline at end of file diff --git a/docs/advance/management/player-management/feedback.md b/docs/advance/management/player-management/feedback.md index cf1096965..ea03c6bb8 100644 --- a/docs/advance/management/player-management/feedback.md +++ b/docs/advance/management/player-management/feedback.md @@ -10,11 +10,11 @@ sidebar_position: 10 :::tip -一定不要自顾自地设计服务器内容,你的所有决策都要尽可能保证玩家满意! +一定不要自顾自地设计服务器内容,你的所有决策都要尽可能保证玩家满意! ::: -虽然玩家们的需求五花八门,但是在你对服务器做出决策时,你可以询问玩家的意见。为了尽可能多地了解玩家的意愿以便给服务器做出让大多数玩家满意的决策,你很可能需要发起投票。 +虽然玩家们的需求五花八门,但是在你对服务器做出决策时,你可以询问玩家的意见。为了尽可能多地了解玩家的意愿以便给服务器做出让大多数玩家满意的决策,你很可能需要发起投票。 ### 投票的设计 @@ -24,29 +24,29 @@ sidebar_position: 10 - 一些服务器插件 - 一个特定的网站 -在投票时,一定要确保每个投票者都对应服务器内的一个玩家。例如: +在投票时,一定要确保每个投票者都对应服务器内的一个玩家。例如: -- 在 QQ 群中投票时,你需要确保绝大多数投票者都绑定了服务器内的玩家名。 -- 在网站上投票时,你需要让玩家使用和服务器内玩家名相关联的帐号登录来投票。 +- 在 QQ 群中投票时,你需要确保绝大多数投票者都绑定了服务器内的玩家名。 +- 在网站上投票时,你需要让玩家使用和服务器内玩家名相关联的帐号登录来投票。 -在设计投票内容时,如果你不确定某个选择题的选项是否覆盖了所有可选的内容,一定要加上“其他”选项,让有相关需求的玩家自己创建选项名。 +在设计投票内容时,如果你不确定某个选择题的选项是否覆盖了所有可选的内容,一定要加上“其他”选项,让有相关需求的玩家自己创建选项名。 ### 投票的统计 -在统计投票内容时,注意投票数据要尽可能与玩家在游戏内的活跃度相关联。在游戏内越活跃的玩家,对游戏内容改变的感知越大。 +在统计投票内容时,注意投票数据要尽可能与玩家在游戏内的活跃度相关联。在游戏内越活跃的玩家,对游戏内容改变的感知越大。 -你可以将玩家在服务器内的活跃数据转换为权重,也就是将玩家的话语权量化,然后利用统计学方法计算出每个选项对于玩家社区真正的影响力。 +你可以将玩家在服务器内的活跃数据转换为权重,也就是将玩家的话语权量化,然后利用统计学方法计算出每个选项对于玩家社区真正的影响力。 ### 设定截止日期 -在设置投票截止日期时,你可以将其设置在相关工作开始时间后,来同时为服务器团队和玩家换取更多时间。在开始准备相关工作时,先对现有数据进行统计,然后在接下来的时间里,根据统计数据的动态来改变工作重心,直到投票截止。 +在设置投票截止日期时,你可以将其设置在相关工作开始时间后,来同时为服务器团队和玩家换取更多时间。在开始准备相关工作时,先对现有数据进行统计,然后在接下来的时间里,根据统计数据的动态来改变工作重心,直到投票截止。 -如果投票功能支持变更截止日期,你还可以先设置较早的截止日期,然后在截止日期最后一天突然延后,这样在初期就能给玩家带来紧迫感,让玩家更积极地投票。例如你可以先设定好截止日期后,在截止日期前催促玩家。然后以“投票人数不够”为由延长投票时间。 +如果投票功能支持变更截止日期,你还可以先设置较早的截止日期,然后在截止日期最后一天突然延后,这样在初期就能给玩家带来紧迫感,让玩家更积极地投票。例如你可以先设定好截止日期后,在截止日期前催促玩家。然后以“投票人数不够”为由延长投票时间。 -这样不仅玩家会抓紧投票,错过第一个截止日期时间的玩家还会心存侥幸,认为你心系玩家社区,并同样积极地参与投票。 +这样不仅玩家会抓紧投票,错过第一个截止日期时间的玩家还会心存侥幸,认为你心系玩家社区,并同样积极地参与投票。 :::warning -切勿滥用此方法,否则会导致玩家信任度严重下降。 +切勿滥用此方法,否则会导致玩家信任度严重下降。 ::: diff --git a/docs/advance/management/player-management/platform.md b/docs/advance/management/player-management/platform.md index 25955d776..4fffa6bbd 100644 --- a/docs/advance/management/player-management/platform.md +++ b/docs/advance/management/player-management/platform.md @@ -6,44 +6,44 @@ sidebar_position: 5 # 玩家交流平台 -为了和玩家保持联系,也是让玩家之间能够互相联系,光有服务器中的聊天是远远不够的。服务器中的聊天功能少,无法保存聊天记录,在玩家下线之后也不再能及时联系到那个玩家。服务器需要在即时通信软件上建立交流平台,来扩充服务器社交的属性。与服务器内聊天相比,即时通信软件有以下优势: -1. 玩家身份唯一,不容易伪造身份。 -2. 拥有保存聊天记录的功能,玩家们可以在即时通信软件上随时翻看自己和其他人的聊天记录,了解自己不在线时服务器中发生的事。 -3. 即时通信软件可以随时向玩家发出提醒,让玩家与服务器社区保持紧密联系 +为了和玩家保持联系,也是让玩家之间能够互相联系,光有服务器中的聊天是远远不够的。服务器中的聊天功能少,无法保存聊天记录,在玩家下线之后也不再能及时联系到那个玩家。服务器需要在即时通信软件上建立交流平台,来扩充服务器社交的属性。与服务器内聊天相比,即时通信软件有以下优势: +1. 玩家身份唯一,不容易伪造身份。 +2. 拥有保存聊天记录的功能,玩家们可以在即时通信软件上随时翻看自己和其他人的聊天记录,了解自己不在线时服务器中发生的事。 +3. 即时通信软件可以随时向玩家发出提醒,让玩家与服务器社区保持紧密联系 -目前使用最多的即时软件是QQ,当然也有微信、Kook、Discord等软件可以选择。 +目前使用最多的即时软件是QQ,当然也有微信、Kook、Discord等软件可以选择。 ## QQ -在 QQ 上虽然有频道可以选择,但是笔者仍然非常建议使用 QQ 群。关于如何建 QQ 群的方法此处不做展开。建好 QQ 群后,你需要为 QQ 群进行以下设置: +在 QQ 上虽然有频道可以选择,但是笔者仍然非常建议使用 QQ 群。关于如何建 QQ 群的方法此处不做展开。建好 QQ 群后,你需要为 QQ 群进行以下设置: ### 设置群头像 群头像尽可能设置为服务器相关的图片。并且尽可能美观。 -最推荐的是使用服务器的 logo 作为服务器群头像。如果你暂时不打算制作服务器 logo,也可以使用服务器中的照片作为群头像。在有条件的前提下,尽可能使用光影拍摄。 +最推荐的是使用服务器的 logo 作为服务器群头像。如果你暂时不打算制作服务器 logo,也可以使用服务器中的照片作为群头像。在有条件的前提下,尽可能使用光影拍摄。 -如果实在是没有可以作为服务器群头像的图片,你也可以找一张二次元的图片。 +如果实在是没有可以作为服务器群头像的图片,你也可以找一张二次元的图片。 ### 设置群名 -群名一定要包含服务器的名字,如何为服务器起名字见营销章节。 +群名一定要包含服务器的名字,如何为服务器起名字见营销章节。 -比如你的服务器叫起源之地,那么就直接在服务器群名上写上“起源之地服务器交流群”即可。 +比如你的服务器叫起源之地,那么就直接在服务器群名上写上“起源之地服务器交流群”即可。 -此外,还建议对群名进行包装: -- 使用颜文字,例如“起源之地~(∠·ω< )⌒★” -- 加入服务器的英文名,例如起源之地“Land of Origin” -- 使用符号包装,例如“【LO】起源之地” -- 如果服务器与其他社交元素相关也可以加入社交元素名,例如“【起源之地】ブルーアーカイブ!”。 +此外,还建议对群名进行包装: +- 使用颜文字,例如“起源之地~(∠·ω< )⌒★” +- 加入服务器的英文名,例如起源之地“Land of Origin” +- 使用符号包装,例如“【LO】起源之地” +- 如果服务器与其他社交元素相关也可以加入社交元素名,例如“【起源之地】ブルーアーカイブ!”。 ### 在群公告中发布服务器的连接地址和规则 -为了让玩家能够知道服务器的进服方式,一般需要在群公告放上服务器的连接地址等。在写群公告时,需要注意以下事项: -1. 群公告需要打开置顶、发给新成员选项,尽可能不要打开“需成员确认收到”。 -2. 群公告尽可能简短,过长的群公告不仅阅读起来费力,还可能会超过 QQ 群公告的字数上限。 -3. 群公告尽可能语言简练,用词正式且礼貌。 -4. 包含所有进服需要准备的内容,包含是否支持 Java版/基岩版、服务器版本、是否需要安装指定客户端等。 +为了让玩家能够知道服务器的进服方式,一般需要在群公告放上服务器的连接地址等。在写群公告时,需要注意以下事项: +1. 群公告需要打开置顶、发给新成员选项,尽可能不要打开“需成员确认收到”。 +2. 群公告尽可能简短,过长的群公告不仅阅读起来费力,还可能会超过 QQ 群公告的字数上限。 +3. 群公告尽可能语言简练,用词正式且礼貌。 +4. 包含所有进服需要准备的内容,包含是否支持 Java版/基岩版、服务器版本、是否需要安装指定客户端等。
不好的群公告示例 @@ -54,17 +54,17 @@ sidebar_position: 5 > Java版服务器连接地址yizhan.wiki端口33825 -**连接地址并没有直接写可复制粘贴到游戏内的格式,容易误导玩家。如果上述服务器支持互通,那么他并没有写上服务器支持互通** +**连接地址并没有直接写可复制粘贴到游戏内的格式,容易误导玩家。如果上述服务器支持互通,那么他并没有写上服务器支持互通** -> 服务器支持基岩版,不支持Java版 +> 服务器支持基岩版,不支持Java版 > 连接地址:yizhan.wiki > 端口:33825 -**没有写明支持的游戏版本,如果此服务器不支持最新版,那么将导致大量新玩家无法立即进服,因为大部分玩家下载的基岩版都是保持最新版** +**没有写明支持的游戏版本,如果此服务器不支持最新版,那么将导致大量新玩家无法立即进服,因为大部分玩家下载的基岩版都是保持最新版** -> Java版连接地址:yizhan.wiki:33825,版本1.8-1.21 -> 基岩版连接地址:yizhan.wiki,端口33825,版本1.21.20-21 -> 别管我问这问那的,几把爱进不进,进不去从自己身上找问题 +> Java版连接地址:yizhan.wiki:33825,版本1.8-1.21 +> 基岩版连接地址:yizhan.wiki,端口33825,版本1.21.20-21 +> 别管我问这问那的,几把爱进不进,进不去从自己身上找问题 **群公告包含不友善的用词** @@ -76,7 +76,7 @@ sidebar_position: 5 > 服务器仅支持基岩版 > 连接地址yizhan.wiki端口33825 > 版本支持1.21.20-21 -> 如果进不去服务器请看其他置顶群公告,有解决方式,实在看不懂可以问群主 +> 如果进不去服务器请看其他置顶群公告,有解决方式,实在看不懂可以问群主 --- @@ -86,7 +86,7 @@ sidebar_position: 5 > 版本支持:1.8-1.21.1 > 基岩版进服地址:yizhan.wiki 端口:33825 > 版本支持:1.21.0-1.21.21 -> 进入服务器前,请阅读服规:yizhan.wiki/landoforigin +> 进入服务器前,请阅读服规:yizhan.wiki/landoforigin --- @@ -95,63 +95,63 @@ sidebar_position: 5 > 💻服务器IP地址: > mc.yizhan.wiki > ⚠️注意事项: -> 1. 服务器有多世界系统,玩家们可以通过主菜单中的维度传送服菜单进行维度传送;一般情况下,主世界维度和第二世界维度可用于给玩家们建造生存,且没有特殊情况不会换挡;资源世界维度用于给玩家们获得资源,每隔一段时间会重置一次,并且该维度所附属的地狱和末地与主世界维度不相通 -> 2. 服务器安装有拓展玩法,需要在添加服务器时请将服务器资源包改为启用 -> 3. 建议玩家们在加入服务器前安装JEI(用于查看物品配方)、钠和锂(优化客户端)模组,也可以考虑添加部分玩家们在群文件中分享的一些适用于玩家们使用的模组整合包 -> (改编自“天空之城”玩家群) +> 1. 服务器有多世界系统,玩家们可以通过主菜单中的维度传送服菜单进行维度传送;一般情况下,主世界维度和第二世界维度可用于给玩家们建造生存,且没有特殊情况不会换挡;资源世界维度用于给玩家们获得资源,每隔一段时间会重置一次,并且该维度所附属的地狱和末地与主世界维度不相通 +> 2. 服务器安装有拓展玩法,需要在添加服务器时请将服务器资源包改为启用 +> 3. 建议玩家们在加入服务器前安装JEI(用于查看物品配方)、钠和锂(优化客户端)模组,也可以考虑添加部分玩家们在群文件中分享的一些适用于玩家们使用的模组整合包 +> (改编自“天空之城”玩家群) --- > 暑假服已开启! -> 插件生存服(手机可进服,连接地址见基岩版) +> 插件生存服(手机可进服,连接地址见基岩版) > 连接地址暂定为: > java版mc.yizhan.wiki:19934 > 基岩版mc.yizhan.wiki端口19934 -> 版本:游戏内容截至荒野更新(1.19),java版推荐使用1.19及以上版本,最低支持1.8,基岩版支持1.21.0-2和最新版 -> 即使使用基岩版(手机版)进服,游戏特性也和java版相同 -> 根据投票的结果,服务器暑假服的玩法定为插件生存服 -> 考虑到原版生存和生电玩法的票数同样很高,后续我们会积极准备这两种玩法,并在后续开设新服务器时考虑 -> 目前由于服务器刚刚起步,插件很少,各位玩家可以先开荒,插件将会陆续添加 -> 雾中人整合包模组服(仅支持windows,手机和macos无法运行整合包) +> 版本:游戏内容截至荒野更新(1.19),java版推荐使用1.19及以上版本,最低支持1.8,基岩版支持1.21.0-2和最新版 +> 即使使用基岩版(手机版)进服,游戏特性也和java版相同 +> 根据投票的结果,服务器暑假服的玩法定为插件生存服 +> 考虑到原版生存和生电玩法的票数同样很高,后续我们会积极准备这两种玩法,并在后续开设新服务器时考虑 +> 目前由于服务器刚刚起步,插件很少,各位玩家可以先开荒,插件将会陆续添加 +> 雾中人整合包模组服(仅支持windows,手机和macos无法运行整合包) > 连接地址mc.yizhan.wiki:38204 > 模组整合包可在群文件的“国际服安装包”中找到 -> 雾中人是一款模组,主要以恐怖为主题,这个整合包还添加了一些其他的怪物和装备来丰富游戏内容 -> 由于此服务器消耗大量计算资源且热度较低,有时可能进入休眠,不会随时开放,如果无法连接服务器,暂时请主动提醒管理员开服,后续我们会开发相关软件让你能够在聊天群中自助唤醒服务器 -> (改编自“新月国际服”玩家群) +> 雾中人是一款模组,主要以恐怖为主题,这个整合包还添加了一些其他的怪物和装备来丰富游戏内容 +> 由于此服务器消耗大量计算资源且热度较低,有时可能进入休眠,不会随时开放,如果无法连接服务器,暂时请主动提醒管理员开服,后续我们会开发相关软件让你能够在聊天群中自助唤醒服务器 +> (改编自“新月国际服”玩家群) --- > 起源之地服务器 游玩规则 -> 欢迎加入起源之地服务器,为了确保每位玩家都能享受愉快的游戏体验,请遵守以下基本原则: -> 1. 尊重他人:保持礼貌,不进行任何形式的骚扰或歧视。 +> 欢迎加入起源之地服务器,为了确保每位玩家都能享受愉快的游戏体验,请遵守以下基本原则: +> 1. 尊重他人:保持礼貌,不进行任何形式的骚扰或歧视。 > 2. 禁止作弊:不得使用作弊工具或利用游戏漏洞。 -> 3. 保护财产:尊重他人劳动成果,不破坏或窃取他人物品。 -> 4. 遵守PVP规则:在允许PVP的区域进行对战,避免恶意攻击。 -> 5. 文明聊天:在公共聊天中保持文明,不发布不当言论。 -> 6. 合理建造:在指定区域内建造,不侵犯他人领地。 -> 7. 资源使用:合理使用资源,避免影响服务器性能。 -> 8. 举报机制:发现违规行为,请及时向管理员举报。 -> 9. 社区活动:积极参与服务器组织的活动,促进社区交流。 -> 10. 特定模式规则:根据游戏模式(生存、创造等)遵守相应规则。 -> 11. 赞助者特权:尊重赞助者,他们为服务器提供了支持。 -> 12. 维护通知:关注服务器维护和更新通知,以免影响游戏。 +> 3. 保护财产:尊重他人劳动成果,不破坏或窃取他人物品。 +> 4. 遵守PVP规则:在允许PVP的区域进行对战,避免恶意攻击。 +> 5. 文明聊天:在公共聊天中保持文明,不发布不当言论。 +> 6. 合理建造:在指定区域内建造,不侵犯他人领地。 +> 7. 资源使用:合理使用资源,避免影响服务器性能。 +> 8. 举报机制:发现违规行为,请及时向管理员举报。 +> 9. 社区活动:积极参与服务器组织的活动,促进社区交流。 +> 10. 特定模式规则:根据游戏模式(生存、创造等)遵守相应规则。 +> 11. 赞助者特权:尊重赞助者,他们为服务器提供了支持。 +> 12. 维护通知:关注服务器维护和更新通知,以免影响游戏。 > 违反规则将受到警告或封禁处理。我们期待与你共同营造一个和谐、有趣的游戏环境。 > 感谢你的理解与合作。 -> (改编自“天空之城”玩家群) +> (改编自“天空之城”玩家群) --- > 本群总规: -> 1. 严禁发布违法、涉政、恐怖、暴力、血腥、故意儒玛,闹紫砂以及其他令人不适的文字、图片、表情 -> 2. 无论原因,严禁在群内发生任何形式的争吵 -> 3. 本群允许进行轻度发癫和啬图,切记不能影响其他成员的正常聊天,图片不能过于擦边 -> 4. 可以刷图刷屏(包括戳一戳),但是不能影响其他群友聊天,评判标准为其他群友正在讨论或开始其他话题,说“别刷了”不算 -> 5. 严禁以任何行为恐吓、侮辱、排挤其他群员,禁止在群内透露他人个人隐私,如有发现直接按照群最高处罚制度处理 -> 6. 开玩笑应当适度,若因小玩笑发生争吵,应当道歉或者私下以更好的方式解决 -> 7. 头衔(称号)可以在群里艾特群主或者私信群主索要,每个艾特群主都会看到,但不一定会回复 -> 8. 禁止任何形式的宣传,包括但不限于广告和宣群 -> 本群处罚制度:1次十分钟,2次一小时,3次十二小时,4次一天,5次移出本群(行为较严重的按*3起步) -> 本规则即日起效,以往一概不论 +> 1. 严禁发布违法、涉政、恐怖、暴力、血腥、故意儒玛,闹紫砂以及其他令人不适的文字、图片、表情 +> 2. 无论原因,严禁在群内发生任何形式的争吵 +> 3. 本群允许进行轻度发癫和啬图,切记不能影响其他成员的正常聊天,图片不能过于擦边 +> 4. 可以刷图刷屏(包括戳一戳),但是不能影响其他群友聊天,评判标准为其他群友正在讨论或开始其他话题,说“别刷了”不算 +> 5. 严禁以任何行为恐吓、侮辱、排挤其他群员,禁止在群内透露他人个人隐私,如有发现直接按照群最高处罚制度处理 +> 6. 开玩笑应当适度,若因小玩笑发生争吵,应当道歉或者私下以更好的方式解决 +> 7. 头衔(称号)可以在群里艾特群主或者私信群主索要,每个艾特群主都会看到,但不一定会回复 +> 8. 禁止任何形式的宣传,包括但不限于广告和宣群 +> 本群处罚制度:1次十分钟,2次一小时,3次十二小时,4次一天,5次移出本群(行为较严重的按*3起步) +> 本规则即日起效,以往一概不论 > 以上规则解释权归群主所有 --- @@ -160,18 +160,18 @@ sidebar_position: 5 ### 设置管理员 -如果你有一整个团队开服,记得把其他服务器管理员设置成群管理员 +如果你有一整个团队开服,记得把其他服务器管理员设置成群管理员 ### 将群设置为公开 - + ## 微信群 :::warning -由于微信群功能性质较为私密,不建议大型服务器采用 +由于微信群功能性质较为私密,不建议大型服务器采用 ::: @@ -181,7 +181,7 @@ sidebar_position: 5 ::: -首先你需要已经有几位玩家或管理的好友,然后才能建群。 +首先你需要已经有几位玩家或管理的好友,然后才能建群。 ### [设置群名](#设置群名) @@ -195,4 +195,4 @@ sidebar_position: 5 ## 论坛网站--> -建好服务器交流群之后,你就可以拉人进群了。随后,你可以和玩家们直接在群里聊天,也可以随时通过艾特全体成员、发群公告的方式发布通知。 \ No newline at end of file +建好服务器交流群之后,你就可以拉人进群了。随后,你可以和玩家们直接在群里聊天,也可以随时通过艾特全体成员、发群公告的方式发布通知。 \ No newline at end of file diff --git a/docs/advance/management/player-management/rules.md b/docs/advance/management/player-management/rules.md index 04ae6f149..8065914fd 100644 --- a/docs/advance/management/player-management/rules.md +++ b/docs/advance/management/player-management/rules.md @@ -6,84 +6,84 @@ sidebar_position: 3 # 服务器规则 -服务器中已经有了一定的mc自带的游戏规则,比如生存不能开飞行,不能挖基岩等。但是这些远远不够,游戏规则中存在大量的漏洞,而且也没有对玩家的道德层面行为进行约束。为了规范玩家的行为,你必须为服务器额外制定游戏规则,这些游戏规则就是服务器规则。一旦玩家违反了你设定的规则,你就要按规定对玩家进行处罚,来让这名玩家和其他玩家更加严格地遵守规则。 +服务器中已经有了一定的mc自带的游戏规则,比如生存不能开飞行,不能挖基岩等。但是这些远远不够,游戏规则中存在大量的漏洞,而且也没有对玩家的道德层面行为进行约束。为了规范玩家的行为,你必须为服务器额外制定游戏规则,这些游戏规则就是服务器规则。一旦玩家违反了你设定的规则,你就要按规定对玩家进行处罚,来让这名玩家和其他玩家更加严格地遵守规则。 ## 最基本的规则 -你可以制定很少的规则,但是有些规则是**必须要有**的。如果不制定这些规则,玩家就会在你的服务器中无限制地进行各种不法行为,导致你的服务器完全无法供其他人进行游戏。这些规则包括: +你可以制定很少的规则,但是有些规则是**必须要有**的。如果不制定这些规则,玩家就会在你的服务器中无限制地进行各种不法行为,导致你的服务器完全无法供其他人进行游戏。这些规则包括: -1. **你必须禁止玩家对你的服务器进行网络攻击**。网络一章中已经介绍过网络攻击,它的危害极大,会导致玩家无法在服务器中正常游戏。虽然服务器规则防君子不防小人,但是你还是要制定这条规则,毕竟能防君子。 -2. **你必须禁止玩家在游戏中作弊**。上一章已经介绍过如何为服务器配置反作弊,但是你必须设定这条规定,来对已经发生作弊行为的玩家进行合理的处罚。同时这条规定也是防君子不防小人,至少防了君子,给你省去了不少麻烦。 -3. **你必须禁止玩家在服务器聊天中讨论违法或敏感内容**。例如你必须禁止玩家在服务器内键政、讨论黄赌毒等违法内容。这是因为一旦玩家讨论了这些内容,你的服务器将涉嫌违法,你自己将可能连带着一起被卷入各种案件之中,甚至会导致你自己**面临牢狱之灾**。 +1. **你必须禁止玩家对你的服务器进行网络攻击**。网络一章中已经介绍过网络攻击,它的危害极大,会导致玩家无法在服务器中正常游戏。虽然服务器规则防君子不防小人,但是你还是要制定这条规则,毕竟能防君子。 +2. **你必须禁止玩家在游戏中作弊**。上一章已经介绍过如何为服务器配置反作弊,但是你必须设定这条规定,来对已经发生作弊行为的玩家进行合理的处罚。同时这条规定也是防君子不防小人,至少防了君子,给你省去了不少麻烦。 +3. **你必须禁止玩家在服务器聊天中讨论违法或敏感内容**。例如你必须禁止玩家在服务器内键政、讨论黄赌毒等违法内容。这是因为一旦玩家讨论了这些内容,你的服务器将涉嫌违法,你自己将可能连带着一起被卷入各种案件之中,甚至会导致你自己**面临牢狱之灾**。
这些规则的一种表述方式 -1. 禁止对服务器发起网络攻击,例如:DDoS攻击、假人压测、远程桌面爆破等。你的行为会导致所有玩家都无法正常进入服务器游戏。 -2. 禁止在游戏中作弊(开挂),例如:矿透、杀戮光环、未经允许使用特殊手段开创造、利用游戏机制或程序的漏洞等。你的行为会破坏游戏公平,造成其他人无法在服务器中正常游戏。 -3. 禁止在游戏中讨论违法或敏感内容,例如不得提及政治人物、暗示一些政治性行为,也不能发送涉嫌黄赌毒的网站,或讨论相关内容。你不能以任何形式进行相关话题的讨论,包括通过聊天、建造建筑、为生物命名、写告示牌等。 +1. 禁止对服务器发起网络攻击,例如:DDoS攻击、假人压测、远程桌面爆破等。你的行为会导致所有玩家都无法正常进入服务器游戏。 +2. 禁止在游戏中作弊(开挂),例如:矿透、杀戮光环、未经允许使用特殊手段开创造、利用游戏机制或程序的漏洞等。你的行为会破坏游戏公平,造成其他人无法在服务器中正常游戏。 +3. 禁止在游戏中讨论违法或敏感内容,例如不得提及政治人物、暗示一些政治性行为,也不能发送涉嫌黄赌毒的网站,或讨论相关内容。你不能以任何形式进行相关话题的讨论,包括通过聊天、建造建筑、为生物命名、写告示牌等。
## 约束玩家道德行为的规则 -在此之上,玩家还可能会进行一些违反道德的行为,除非你的服务器是无规则服务器,否则你必须对他们的这些行为进行限制,否则,玩家们将会在没有道德约束服务器中乱成一团,服务器就成“自由城”。 这些规则包括: -1. **禁止偷盗**。你必须禁止玩家偷走其他玩家的物品,否则服务器会出现惊天大盗偷走玩家家里大量的钻石、模板、下界之星等贵重物品,搞得服务器人心惶惶,谁也不敢上线。 -2. **禁止抢劫**。在有死亡掉落的服务器里,除非是战争,否则你必须禁止玩家pvp杀死其他玩家来抢走他身上的物品。否则玩家们将会互相pvp,把不是战争服的服务器变成战争服。 -3. **禁止毁坏建筑**。玩家对其他人的的建筑倒水,放火,爆破,拆除等会导致其他人的心血毁于一旦,这样建筑的主人玩服务器的兴致就全没了。在生电服里,毁坏生电机器会导致机器所属组织的生产效率下降甚至停滞,严重影响他们的经济发展。 -4. **禁止发布广告**,尤其是宣传其他服务器。你开了一家饭店,突然有个其他饭店的人天天来你家店门口宣传他家饭店,把顾客都招走了,你会愿意吗? -5. **禁止通过服务器相关功能抢占领地**。例如服务器有领地插件,有玩家通过领地把要塞、末地主岛等据为己有,导致其他玩家无法使用这些设施,游戏体验大量缺失。 -6. **禁止散布谣言**。例如说服务器马上跑路了,服主手滑把服务器存档全删了等言论。造谣一张嘴,辟谣跑断腿,你必须禁止这种行为,防止玩家中出现恐慌。 -7. **禁止在服务器中辱骂他人**。有两个人在服务器里吵起来了,其他玩家也不会好受。 -8. **禁止产生大量干扰其他玩家正常游戏的内容**。比如刷屏或者建造大量无意义建筑,影响美观甚至导致其他玩家的建筑工程无法继续。 +在此之上,玩家还可能会进行一些违反道德的行为,除非你的服务器是无规则服务器,否则你必须对他们的这些行为进行限制,否则,玩家们将会在没有道德约束服务器中乱成一团,服务器就成“自由城”。 这些规则包括: +1. **禁止偷盗**。你必须禁止玩家偷走其他玩家的物品,否则服务器会出现惊天大盗偷走玩家家里大量的钻石、模板、下界之星等贵重物品,搞得服务器人心惶惶,谁也不敢上线。 +2. **禁止抢劫**。在有死亡掉落的服务器里,除非是战争,否则你必须禁止玩家pvp杀死其他玩家来抢走他身上的物品。否则玩家们将会互相pvp,把不是战争服的服务器变成战争服。 +3. **禁止毁坏建筑**。玩家对其他人的的建筑倒水,放火,爆破,拆除等会导致其他人的心血毁于一旦,这样建筑的主人玩服务器的兴致就全没了。在生电服里,毁坏生电机器会导致机器所属组织的生产效率下降甚至停滞,严重影响他们的经济发展。 +4. **禁止发布广告**,尤其是宣传其他服务器。你开了一家饭店,突然有个其他饭店的人天天来你家店门口宣传他家饭店,把顾客都招走了,你会愿意吗? +5. **禁止通过服务器相关功能抢占领地**。例如服务器有领地插件,有玩家通过领地把要塞、末地主岛等据为己有,导致其他玩家无法使用这些设施,游戏体验大量缺失。 +6. **禁止散布谣言**。例如说服务器马上跑路了,服主手滑把服务器存档全删了等言论。造谣一张嘴,辟谣跑断腿,你必须禁止这种行为,防止玩家中出现恐慌。 +7. **禁止在服务器中辱骂他人**。有两个人在服务器里吵起来了,其他玩家也不会好受。 +8. **禁止产生大量干扰其他玩家正常游戏的内容**。比如刷屏或者建造大量无意义建筑,影响美观甚至导致其他玩家的建筑工程无法继续。
这些规则的一种表述方式 -4. 禁止偷盗,比如未经他人允许就从不属于自己的箱子中拿走物品。野外遇到的箱子也不要随意拿走里面的东西,因为这可能是其他已经下线的玩家正在开荒,或者是正在建造一些建筑。 -5. 禁止抢劫,例如通过岩浆、放火、陷阱等杀死其他玩家来获取他身上的物品。 -6. 禁止毁坏他人建筑。如果不小心破坏了他人建筑,必须马上修好,如果没有能力修复,必须尽快找到建筑主人协商解决。如果毁坏行为造成了建筑所有者时间的浪费或游戏内资源损失,你将受到处罚。 -7. 禁止发布广告,包括其他服务器的广告,或其他产品的广告。 -8. 禁止散布谣言,无论是否与服务器相关。 -9. 禁止辱骂他人。你不能在服务器聊天中侮辱谩骂他人,也不能通过建筑、告示牌暗示等方式对他人进行辱骂或诋毁。 +4. 禁止偷盗,比如未经他人允许就从不属于自己的箱子中拿走物品。野外遇到的箱子也不要随意拿走里面的东西,因为这可能是其他已经下线的玩家正在开荒,或者是正在建造一些建筑。 +5. 禁止抢劫,例如通过岩浆、放火、陷阱等杀死其他玩家来获取他身上的物品。 +6. 禁止毁坏他人建筑。如果不小心破坏了他人建筑,必须马上修好,如果没有能力修复,必须尽快找到建筑主人协商解决。如果毁坏行为造成了建筑所有者时间的浪费或游戏内资源损失,你将受到处罚。 +7. 禁止发布广告,包括其他服务器的广告,或其他产品的广告。 +8. 禁止散布谣言,无论是否与服务器相关。 +9. 禁止辱骂他人。你不能在服务器聊天中侮辱谩骂他人,也不能通过建筑、告示牌暗示等方式对他人进行辱骂或诋毁。 10. 禁止在服务器聊天区刷屏。 -11. 禁止在公共区域建造大量无意义的建筑,一经发现将立即全部拆除,不予补偿。 +11. 禁止在公共区域建造大量无意义的建筑,一经发现将立即全部拆除,不予补偿。 12. 禁止用领地功能占领服务器内重要结构如末地传送门、要塞等或其他玩家的建筑。
## 避免玩家间纠纷的规则 -除此之外,你可能还需要一些规定,来避免玩家之间产生纠纷: -1. **禁止在服务器内繁殖大量生物**。大量的生物会导致服务器mspt变高,造成服务器卡顿。 +除此之外,你可能还需要一些规定,来避免玩家之间产生纠纷: +1. **禁止在服务器内繁殖大量生物**。大量的生物会导致服务器mspt变高,造成服务器卡顿。 2. **禁止骚扰其他玩家**。你也不想打游戏的时候突然有个人不断地给你发消息或者拦在你前面非要你干什么吧。 -3. **禁止恶意曲解服务器规定**。新人本身没完全理解规定,结果有人突然告诉他规定是那个意思,他理解的完全跑偏了,你服务器规定全白写了。 +3. **禁止恶意曲解服务器规定**。新人本身没完全理解规定,结果有人突然告诉他规定是那个意思,他理解的完全跑偏了,你服务器规定全白写了。
这些规则的一种表述方式 -13. 禁止在服务器内繁殖大量生物,尤其是建造巨大的村民交易所。大量的生物会导致服务器mspt变高,造成服务器卡顿,一经发现立即拆除,不予补偿。 -14. 禁止骚扰其他玩家,包括向某玩家发出令他不适的言论或做出令他不适的行为,或未经其他玩家允许强行闯入其领地内。 -15. 禁止向他人恶意曲解服务器规定,尤其是向新玩家以不当的方式解释服务器规定导致他理解错误甚至违反规定。 -除了以上通用规定,各种具体类型的服务器也需要具体的规定。 +13. 禁止在服务器内繁殖大量生物,尤其是建造巨大的村民交易所。大量的生物会导致服务器mspt变高,造成服务器卡顿,一经发现立即拆除,不予补偿。 +14. 禁止骚扰其他玩家,包括向某玩家发出令他不适的言论或做出令他不适的行为,或未经其他玩家允许强行闯入其领地内。 +15. 禁止向他人恶意曲解服务器规定,尤其是向新玩家以不当的方式解释服务器规定导致他理解错误甚至违反规定。 +除了以上通用规定,各种具体类型的服务器也需要具体的规定。
## 处罚方式 -当玩家违反规定后,你必须对他们进行处罚。有以下几种处罚方式: -1. **拘留**:将玩家困在基岩中,或服务器大厅,他只能和其他玩家聊天和交换物品,不能进行游戏。可以用于处罚违反有关游戏内容的相关规定的玩家,比如毁坏建筑、抢劫偷盗的玩家。 -2. **封禁**:禁止玩家进入服务器。上一章已经提到了封禁玩家的方法。可以用于处罚严重违反服务器规定的玩家,比如开挂的人。 -3. **禁言**:禁止玩家在服务器中使用聊天,也不能编辑告示牌。可以用于处罚在游戏中发表不当言论的玩家,比如发广告、发布谣言的。 -4. **没收物品**:将玩家贵重物品清空,甚至清除他的建筑,要求他从头开始游戏。可以用于处罚利用了游戏漏洞的人。 +当玩家违反规定后,你必须对他们进行处罚。有以下几种处罚方式: +1. **拘留**:将玩家困在基岩中,或服务器大厅,他只能和其他玩家聊天和交换物品,不能进行游戏。可以用于处罚违反有关游戏内容的相关规定的玩家,比如毁坏建筑、抢劫偷盗的玩家。 +2. **封禁**:禁止玩家进入服务器。上一章已经提到了封禁玩家的方法。可以用于处罚严重违反服务器规定的玩家,比如开挂的人。 +3. **禁言**:禁止玩家在服务器中使用聊天,也不能编辑告示牌。可以用于处罚在游戏中发表不当言论的玩家,比如发广告、发布谣言的。 +4. **没收物品**:将玩家贵重物品清空,甚至清除他的建筑,要求他从头开始游戏。可以用于处罚利用了游戏漏洞的人。 5. **赔偿**:强行将玩家的个人财产转移到其他玩家身上。可以用于处罚偷盗和抢劫的玩家。 -你还需要规定如何进行处罚,有几种可以采用的方式: 违法、作弊的玩家可以进行永久封禁。 +你还需要规定如何进行处罚,有几种可以采用的方式: 违法、作弊的玩家可以进行永久封禁。
处罚示例 - 按照毁坏建筑的程度给玩家拘留几天几周甚至封禁。 按照辱骂他人的程度或谣言影响的严重性给玩家进行不同时长的禁言。 - 建造大量无意义建筑或滥用领地功能的玩家进行拘留。 -- 如果玩家偷盗了其他玩家少量的贵重物品,可以仅要求玩家归还或赔偿。毁坏小型建筑时如果建筑所有者同意,也可以仅赔偿。 +- 如果玩家偷盗了其他玩家少量的贵重物品,可以仅要求玩家归还或赔偿。毁坏小型建筑时如果建筑所有者同意,也可以仅赔偿。
\ No newline at end of file diff --git a/docs/advance/management/player-management/whitelist.md b/docs/advance/management/player-management/whitelist.md index 3e9564250..adb2a8f5f 100644 --- a/docs/advance/management/player-management/whitelist.md +++ b/docs/advance/management/player-management/whitelist.md @@ -6,14 +6,14 @@ sidebar_position: 4 # 白名单制度 -为了保证服务器中所有的玩家都可信,你可能需要为服务器配置白名单。没有白名单的服务器将面临以下风险: -1. 同一个玩家使用多个帐号进服,同时领取多份限量奖励。 -2. 不怀好意的陌生人在管理员和玩家不知情的情况下进入服务器并对其进行破坏,事后无法追究其责任。 +为了保证服务器中所有的玩家都可信,你可能需要为服务器配置白名单。没有白名单的服务器将面临以下风险: +1. 同一个玩家使用多个帐号进服,同时领取多份限量奖励。 +2. 不怀好意的陌生人在管理员和玩家不知情的情况下进入服务器并对其进行破坏,事后无法追究其责任。 :::warning -开启白名单的服务器将面临更大的管理压力,包括但不限于你需要长期在线来随时给新玩家添加白名单,并为离开服务器的玩家解绑白名单。 -如果你选择让玩家自助申请白名单,你或你的技术人员还需要学习、部署、配置和维护相关软件。 +开启白名单的服务器将面临更大的管理压力,包括但不限于你需要长期在线来随时给新玩家添加白名单,并为离开服务器的玩家解绑白名单。 +如果你选择让玩家自助申请白名单,你或你的技术人员还需要学习、部署、配置和维护相关软件。 ::: @@ -21,11 +21,11 @@ sidebar_position: 4 ## 机器人绑定白名单 -让玩家根据指引与机器人交流来自助绑定白名单, +让玩家根据指引与机器人交流来自助绑定白名单, :::warning -非常建议使用拥有绑定白名单功能的机器人实现绑定,否则你可能需要自行开发软件或人工操作来解决 **退群玩家仍可进服**、**同玩家为多个帐号绑定白名单** 等一系列问题。 +非常建议使用拥有绑定白名单功能的机器人实现绑定,否则你可能需要自行开发软件或人工操作来解决 **退群玩家仍可进服**、**同玩家为多个帐号绑定白名单** 等一系列问题。 ::: @@ -40,7 +40,7 @@ sidebar_position: 4 ## 人工添加白名单 -除了使用机器人,你也可以手动完成添加白名单工作。由于人工操作繁琐,只建议在不便于搭建玩家自助绑定白名单功能时使用。 +除了使用机器人,你也可以手动完成添加白名单工作。由于人工操作繁琐,只建议在不便于搭建玩家自助绑定白名单功能时使用。 ### 准备内容: @@ -50,16 +50,16 @@ sidebar_position: 4 ### 操作方法 1. **所有负责添加白名单的人都必须拥有使用 `whitelist` 指令的权限。** 你可以通过以下几种方式: - - 为服务器机器人配置特定响应机制,机器人响应指定管理员的指定命令来执行`whitelist`命令 - - 在授予这些管理员游戏内管理员,这样他们就可以在游戏内使用 `whitelist` 指令了。BDS 服务器不支持在游戏内使用该命令,你可以为服务器安装插件或模组等来实现。注意这种方式可能需要管理员们启动游戏并进入服务器才能添加白名单,需要在游戏的启动和服务器连接过程上耗费大量时间。 + - 为服务器机器人配置特定响应机制,机器人响应指定管理员的指定命令来执行`whitelist`命令 + - 在授予这些管理员游戏内管理员,这样他们就可以在游戏内使用 `whitelist` 指令了。BDS 服务器不支持在游戏内使用该命令,你可以为服务器安装插件或模组等来实现。注意这种方式可能需要管理员们启动游戏并进入服务器才能添加白名单,需要在游戏的启动和服务器连接过程上耗费大量时间。 - 在支持多用户的[面板](../../../process/deploy/optional-mode.md#面板)上为这些管理员授予控制台的操作权限 - - 将服务器的后台交给这些管理员(**不推荐** ,这会导致部分管理员获得其不需要的权限并产生安全隐患) + - 将服务器的后台交给这些管理员(**不推荐** ,这会导致部分管理员获得其不需要的权限并产生安全隐患) 2. **为负责相关工作的管理团队培训** 。 - 1. 为其安排值班时间保证管理团队在线时间尽可能长,以便及时响应玩家。 - 2. 要求除重大事件外,优先响应新玩家添加白名单需求。 - 3. 得知玩家游戏 ID 后,立刻在服务器上进行添加白名单操作。添加完成后,立刻通知玩家。最后才在白名单文档上记录玩家身份和 ID 的对应关系。 - 4. 监控玩家退群、注销论坛等表明其离开玩家社区的操作,并立即移除玩家对应的白名单,并在玩家白名单文档上进行标记或删除操作。 + 1. 为其安排值班时间保证管理团队在线时间尽可能长,以便及时响应玩家。 + 2. 要求除重大事件外,优先响应新玩家添加白名单需求。 + 3. 得知玩家游戏 ID 后,立刻在服务器上进行添加白名单操作。添加完成后,立刻通知玩家。最后才在白名单文档上记录玩家身份和 ID 的对应关系。 + 4. 监控玩家退群、注销论坛等表明其离开玩家社区的操作,并立即移除玩家对应的白名单,并在玩家白名单文档上进行标记或删除操作。 :::warning 不要过于相信玩家! diff --git a/docs/advance/management/player-management/wiki.md b/docs/advance/management/player-management/wiki.md index eadcf9ab3..672412a0f 100644 --- a/docs/advance/management/player-management/wiki.md +++ b/docs/advance/management/player-management/wiki.md @@ -6,11 +6,11 @@ sidebar_position: 1 # Minecraft Wiki -为了让玩家们能够更好地了解我的世界中各种游戏机制和历史,mc社区创建了一个百科网站,叫 Minecraft Wiki,它的地址是 zh.minecraft.wiki 。无论是服主还是玩家,都可以来这个网站上查找各种资料。 +为了让玩家们能够更好地了解我的世界中各种游戏机制和历史,mc社区创建了一个百科网站,叫 Minecraft Wiki,它的地址是 zh.minecraft.wiki 。无论是服主还是玩家,都可以来这个网站上查找各种资料。 ## Wiki是什么? -本教程就是以 Wiki 的形式呈现的。Wiki(维基)是一种可以由任何人编辑的网站,类似于一个任何人都可以编辑其他人帖子的教程网站。也就是说,你也可以参与到我的世界 Wiki 的编写中,就像我们也邀请你与我们一同完善笨蛋开服教程一样。当然这同时也意味着,我的世界 Wiki 是由社区共同编写的,其中的内容几乎没有 MOJANG 的参与,准确性也没有100%的保证。但是都已经是社区大佬编写的了,你是选择相信愿意分享经验的大佬,还是那个对游戏社区的管理不尽人意的 MOJANG ? +本教程就是以 Wiki 的形式呈现的。Wiki(维基)是一种可以由任何人编辑的网站,类似于一个任何人都可以编辑其他人帖子的教程网站。也就是说,你也可以参与到我的世界 Wiki 的编写中,就像我们也邀请你与我们一同完善笨蛋开服教程一样。当然这同时也意味着,我的世界 Wiki 是由社区共同编写的,其中的内容几乎没有 MOJANG 的参与,准确性也没有100%的保证。但是都已经是社区大佬编写的了,你是选择相信愿意分享经验的大佬,还是那个对游戏社区的管理不尽人意的 MOJANG ? ## 条目 @@ -18,4 +18,4 @@ Wiki 中的一篇篇百科文章就叫条目。 ## 搜索 -进入wiki后,在右上角就可以搜索你要查找的内容,提高搜索成功率的方法与使用搜索引擎一样,只是不能用那些搜索引擎的代码。如果你搜索到了消歧义页面,证明这个页面对应的名称并不是一个标准的名字,你需要在消歧义页面中找到自己真正要找的那个条目。 \ No newline at end of file +进入wiki后,在右上角就可以搜索你要查找的内容,提高搜索成功率的方法与使用搜索引擎一样,只是不能用那些搜索引擎的代码。如果你搜索到了消歧义页面,证明这个页面对应的名称并不是一个标准的名字,你需要在消歧义页面中找到自己真正要找的那个条目。 \ No newline at end of file diff --git a/docs/advance/open-website.md b/docs/advance/open-website.md index 824371206..888b4903c 100644 --- a/docs/advance/open-website.md +++ b/docs/advance/open-website.md @@ -6,9 +6,9 @@ sidebar_position: 8 如果无法正常访问请下载steam++ 0. ### 要准备的 -主域名,回源域名 +主域名,回源域名 ### 1\.注册一个github账号 -进入github.com,点击sign up +进入github.com,点击sign up ![屏幕截图 2024-08-11 163001.png](https://imgos.cn/2024/08/11/66b8765b6bcd8.png) 进入后按照提示完成注册(看不懂自己用翻译) @@ -29,7 +29,7 @@ Repository name填 你的用户名.github.io 点Add file 会出来两个选项点Upload files ![屏幕截图 2024-08-11 163900.png](https://imgos.cn/2024/08/11/66b8780401ac8.png) -会来到上传界面,上传你的网站源码(首页的名字要改成index) +会来到上传界面,上传你的网站源码(首页的名字要改成index) ![微信图片_20240811164246.png](https://imgos.cn/2024/08/11/66b878e27b63b.png) 上传完后点Commit changes @@ -37,7 +37,7 @@ Repository name填 你的用户名.github.io 然后你访问 你的用户名.github.io就可以访问了 -如果你做到这一步至此你的网站已经是搭建完成了可是呢github的网站服务器在国外,访问的延迟不太行为了降低延迟可以选择以下方式 +如果你做到这一步至此你的网站已经是搭建完成了可是呢github的网站服务器在国外,访问的延迟不太行为了降低延迟可以选择以下方式 ## 2\.cloudflare saas回源 先将你的回源域名绑定到cloudflare @@ -50,9 +50,9 @@ Repository name填 你的用户名.github.io 然后来到ssl/tls-自定义主机名 -然后选择开通,如果它提示你要绑卡的话,如果你没有卡,你可以上闲鱼买一个15块的代绑 +然后选择开通,如果它提示你要绑卡的话,如果你没有卡,你可以上闲鱼买一个15块的代绑 -开通完成后,先在回退源那输入你刚刚创建的DNS记录origin.你的回源域名 +开通完成后,先在回退源那输入你刚刚创建的DNS记录origin.你的回源域名 ![微信图片_20240811165404.png](https://imgos.cn/2024/08/11/66b87b8629e25.png) 等待到那里显示生效后 点击添加自定义主机名 @@ -75,14 +75,14 @@ cf-cname.xingpingcn.top 不需要开启小黄云 添加一个类型为CNAME 名称为输入你刚刚在自定义主机名时输入的前缀 内容为cdn.你的回源域名 -并等待DNS记录生效,生效后就可以正常使用你的域名访问了 +并等待DNS记录生效,生效后就可以正常使用你的域名访问了 ### 3\. 使用Linux搭建网站 以ubuntu为例 在控制台输入apt install nginx ![屏幕截图 2024-08-11 170304.png](https://imgos.cn/2024/08/11/66b87db46ee00.png) -然后找到var-www-html将网站源码上传上去,然后你就可以直接访问IP看到你的网站,然后添加一个a类型的解析内容就填你服务器的IP,然后就可以正常访问了 +然后找到var-www-html将网站源码上传上去,然后你就可以直接访问IP看到你的网站,然后添加一个a类型的解析内容就填你服务器的IP,然后就可以正常访问了 注意国内IP需要域名备案 ### 4\.使用windows搭建网站 @@ -97,9 +97,9 @@ cf-cname.xingpingcn.top 不需要开启小黄云 选择下载要下载带有windows这个词的 ![屏幕截图 2024-08-11 170643.png](https://imgos.cn/2024/08/11/66b87e80b7120.png) -下载完之后解压文件(如果连解压文件都不会,还是别开服了) +下载完之后解压文件(如果连解压文件都不会,还是别开服了) -解压后进入文件夹,找到名字为html的文件夹 +解压后进入文件夹,找到名字为html的文件夹 ![屏幕截图 2024-08-11 170738.png](https://imgos.cn/2024/08/11/66b87ec105cb1.png) 将你的源码上传上去。记住先把原来里面的文件给删掉再放 @@ -107,11 +107,11 @@ cf-cname.xingpingcn.top 不需要开启小黄云 然后双击启动nginx.exe ![屏幕截图 2024-08-11 170845.png](https://imgos.cn/2024/08/11/66b87efdb500b.png)s -然后如果你的服务器有公网IP的话,现在的浏览器输入你的公网IP就可以看到你的网站了 +然后如果你的服务器有公网IP的话,现在的浏览器输入你的公网IP就可以看到你的网站了 -如果你按照前面的教程申请了公网IP,并且关闭了防火墙,但是还是访问不了的话,那就是运营商封了80和443 +如果你按照前面的教程申请了公网IP,并且关闭了防火墙,但是还是访问不了的话,那就是运营商封了80和443 -如果可以正常访问,那就可以来到你的域名添加一个a类型的记录,把服务器的公网IP填进去然后就可以使用域名访问了 +如果可以正常访问,那就可以来到你的域名添加一个a类型的记录,把服务器的公网IP填进去然后就可以使用域名访问了 注意国内IP需要域名备案 diff --git a/docs/contribution/contribution.md b/docs/contribution/contribution.md index d92696614..c204f3d0b 100644 --- a/docs/contribution/contribution.md +++ b/docs/contribution/contribution.md @@ -5,10 +5,10 @@ slug: /contribution # 文档贡献 -如果你想为文档贡献自己的内容,请首先查看以了解格式要求及待完善的内容: +如果你想为文档贡献自己的内容,请首先查看以了解格式要求及待完善的内容: import DocCardList from '@theme/DocCardList'; -如果有一些文档完全没有涉及到的内容,请进入 [GitHub](https://github.com/postyizhan/NitWikit/issues) 提出 Issue。或者直接加入 [企鹅群🐧611076407](https://qm.qq.com/q/lEnfzgzxjq)。 \ No newline at end of file +如果有一些文档完全没有涉及到的内容,请进入 [GitHub](https://github.com/postyizhan/NitWikit/issues) 提出 Issue。或者直接加入 [企鹅群🐧611076407](https://qm.qq.com/q/lEnfzgzxjq)。 \ No newline at end of file diff --git a/docs/contribution/todos.md b/docs/contribution/todos.md index 73d78bf9f..785ca0a73 100644 --- a/docs/contribution/todos.md +++ b/docs/contribution/todos.md @@ -36,22 +36,22 @@ sidebar_position: 100 ## 建设阶段 -- [ ] 新增文案教程,和美术教程折叠在侧边栏同一项下面 -> - 统一文字排版,风格 -> - 统一语言,不要让玩家看到还没汉化的信息 -> - 统一写法,如:同时有ia,mm,某物品库,应该选择其中一个来写物品 +- [ ] 新增文案教程,和美术教程折叠在侧边栏同一项下面 +> - 统一文字排版,风格 +> - 统一语言,不要让玩家看到还没汉化的信息 +> - 统一写法,如:同时有ia,mm,某物品库,应该选择其中一个来写物品 ## 维护 - [x] 优化-性能配置文件 -- [ ] 在某处建议服主统一命名方式,包括但不限于文件名,变量名 +- [ ] 在某处建议服主统一命名方式,包括但不限于文件名,变量名 ## 插件 - [x] Skript简单教程 - [ ] papi list 扩展:插件自己挂钩 自己下载扩展 不需要插件的扩展 -- [x] 全息图(浮空字)插件 -- [x] AskyBlock BentoBox(BskyBlock) +- [x] 全息图(浮空字)插件 +- [x] AskyBlock BentoBox(BskyBlock) - [ ] 替换ess方案 huskhomes + XConomy - [x] 资源包插件 ia oraxen介绍 - [ ] 龙核/萌芽 介绍 diff --git a/docs/contribution/writing-specification/blank.md b/docs/contribution/writing-specification/blank.md index a1adfbd31..06f2b375c 100644 --- a/docs/contribution/writing-specification/blank.md +++ b/docs/contribution/writing-specification/blank.md @@ -11,32 +11,32 @@ sidebar_position: 6 ``` 请提交一个 [Issue](链接) 并分配给相关同事。 -访问我们网站的最新动态,请 点击这里 进行订阅! +访问我们网站的最新动态,请 点击这里 进行订阅! ``` 错误: ``` 请提交一个[Issues](链接)并分配给相关同事。 -访问我们网站的最新动态,请点击这里进行订阅! +访问我们网站的最新动态,请点击这里进行订阅! ``` ## 加粗、斜体、高亮文本前后加空格 -建议在 加粗、斜体、高亮文本 前后加空格,否则某种情况会出现格式解析失败。 +建议在 加粗、斜体、高亮文本 前后加空格,否则某种情况会出现格式解析失败。 正确: ``` -修复了一个 **内存泄露** 问题,该问题由 someone 在 版本 v0.1.1 中引入。 -**测试文本**,这是测试。 +修复了一个 **内存泄露** 问题,该问题由 someone 在 版本 v0.1.1 中引入。 +**测试文本**,这是测试。 ``` 错误: ``` -修复了一个**内存泄露**问题,该问题由someone在版本 v0.1.1中引入。 -**测试文本** ,这是测试。 +修复了一个**内存泄露**问题,该问题由someone在版本 v0.1.1中引入。 +**测试文本** ,这是测试。 ``` ## 每行结尾不要空格 @@ -45,14 +45,14 @@ sidebar_position: 6 ``` 怎样解决苦难? -只要活着,我们每一个人,都会面临苦难。 +只要活着,我们每一个人,都会面临苦难。 ``` 错误: ``` 怎样解决苦难? -只要活着,我们每一个人,都会面临苦难。 +只要活着,我们每一个人,都会面临苦难。 ``` 可以在vscode安装 [Trailing Spaces](https://marketplace.visualstudio.com/items?itemName=shardulm94.trailing-spaces&ssr=false#review-details) 插件来高亮空格 @@ -60,7 +60,7 @@ sidebar_position: 6 ## 空行 - 不要有多余的空行 -在 Markdown 文本中,想要做到渲染后 真换行 通常是使用两个空格加一个回车换行符(Unix 下只有回车 CR),或者粗暴地空一行,但是 请不要连续空两行及以上。 +在 Markdown 文本中,想要做到渲染后 真换行 通常是使用两个空格加一个回车换行符(Unix 下只有回车 CR),或者粗暴地空一行,但是 请不要连续空两行及以上。 - 文件末尾空一行 -强烈建议文件末尾空一行,大多数格式检查工具都会检查文件末尾的空行。文件末尾增加空行的可能原因是为了方便进行文件拼接处理。 +强烈建议文件末尾空一行,大多数格式检查工具都会检查文件末尾的空行。文件末尾增加空行的可能原因是为了方便进行文件拼接处理。 - 标题前后各空一行 diff --git a/docs/contribution/writing-specification/documentation-system.md b/docs/contribution/writing-specification/documentation-system.md index f2b57bba8..1a2e7bfd1 100644 --- a/docs/contribution/writing-specification/documentation-system.md +++ b/docs/contribution/writing-specification/documentation-system.md @@ -7,25 +7,25 @@ sidebar_position: 7 ## 结构 -软件手册是一部完整的书,建议采用下面的结构。 +软件手册是一部完整的书,建议采用下面的结构。 -- **简介**(Introduction):[必备] [文件] 提供对产品和文档本身的总体的、扼要的说明 -- **快速上手**(Getting Started):[可选] [文件] 如何最快速地使用产品 -- **入门篇**(Basics):[必备] [目录] 又称“使用篇”,提供初级的使用教程 - - **环境准备**(Prerequisite):[必备] [文件] 软件使用需要满足的前置条件 - - **安装**(Installation):[可选] [文件] 软件的安装方法 - - **设置**(Configuration):[必备] [文件] 软件的设置 -- **进阶篇**(Advanced):[可选] [目录] 又称“开发篇”,提供中高级的开发教程 -- **API**(Reference):[可选] [目录|文件] 软件 API 的逐一介绍 +- **简介**(Introduction):[必备] [文件] 提供对产品和文档本身的总体的、扼要的说明 +- **快速上手**(Getting Started):[可选] [文件] 如何最快速地使用产品 +- **入门篇**(Basics):[必备] [目录] 又称“使用篇”,提供初级的使用教程 + - **环境准备**(Prerequisite):[必备] [文件] 软件使用需要满足的前置条件 + - **安装**(Installation):[可选] [文件] 软件的安装方法 + - **设置**(Configuration):[必备] [文件] 软件的设置 +- **进阶篇**(Advanced):[可选] [目录] 又称“开发篇”,提供中高级的开发教程 +- **API**(Reference):[可选] [目录|文件] 软件 API 的逐一介绍 - **FAQ**:[可选] [文件] 常见问题解答 -- **附录**(Appendix):[可选] [目录] 不属于教程本身、但对阅读教程有帮助的内容 +- **附录**(Appendix):[可选] [目录] 不属于教程本身、但对阅读教程有帮助的内容 - **Glossary**:[可选] [文件] 名词解释 - **Recipes**:[可选] [文件] 最佳实践 - **Troubleshooting**:[可选] [文件] 故障处理 - **ChangeLog**:[可选] [文件] 版本说明 - **Feedback**:[可选] [文件] 反馈方式 -下面是两个真实范例,可参考。 +下面是两个真实范例,可参考。 - [Redux 手册](https://redux.js.org/introduction/getting-started) - [Atom 手册](http://flight-manual.atom.io/) @@ -34,7 +34,7 @@ sidebar_position: 7 文档的文件名不得含有空格。 - + ``` 错误:名词 解释.md @@ -42,7 +42,7 @@ sidebar_position: 7 正确:名词解释.md ``` -文件名建议只使用小写字母,不使用大写字母。 +文件名建议只使用小写字母,不使用大写字母。 ``` 错误:TroubleShooting.md @@ -50,9 +50,9 @@ sidebar_position: 7 正确:troubleshooting.md ``` -为了醒目,某些说明文件的文件名,可以使用大写字母,比如`README`、`LICENSE`。 +为了醒目,某些说明文件的文件名,可以使用大写字母,比如`README`、`LICENSE`。 -文件名包含多个单词时,单词之间建议使用半角的连词线(`-`)分隔。 +文件名包含多个单词时,单词之间建议使用半角的连词线(`-`)分隔。 ``` 不佳:advanced_usage.md diff --git a/docs/contribution/writing-specification/numerical-value.md b/docs/contribution/writing-specification/numerical-value.md index f61408d0c..d4d871d88 100644 --- a/docs/contribution/writing-specification/numerical-value.md +++ b/docs/contribution/writing-specification/numerical-value.md @@ -7,7 +7,7 @@ sidebar_position: 4 ## 半角数字 -阿拉伯数字一律使用半角形式,不得使用全角形式。 +阿拉伯数字一律使用半角形式,不得使用全角形式。 ``` 错误:这件商品的价格是1000元。 @@ -17,30 +17,30 @@ sidebar_position: 4 ## 千分号 -数值为千位以上,应添加千分号(半角逗号)。 +数值为千位以上,应添加千分号(半角逗号)。 ``` XXX 公司的实收资本为 ¥1,258,000 人民币。 ``` -对于 4 位的数值,千分号是选用的,比如`1000`和`1,000`都可以接受。对于 4 位以上的数值,应添加千分号。 +对于 4 位的数值,千分号是选用的,比如`1000`和`1,000`都可以接受。对于 4 位以上的数值,应添加千分号。 ## 货币 -货币应为阿拉伯数字,并在数字前写出货币符号,或在数字后写出货币中文名称。 +货币应为阿拉伯数字,并在数字前写出货币符号,或在数字后写出货币中文名称。 ``` $1,000 1,000 美元 ``` -英文的货币名称,建议参考国际标准 [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)。 +英文的货币名称,建议参考国际标准 [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217)。 ## 数值范围 -表示数值范围时,用波浪线(`~`)或一字线(`—`)连接。参见《标点符号》一节的“连接号”部分。 +表示数值范围时,用波浪线(`~`)或一字线(`—`)连接。参见《标点符号》一节的“连接号”部分。 -带有单位或百分号时,两个数字建议都要加上单位或百分号。 +带有单位或百分号时,两个数字建议都要加上单位或百分号。 ``` 132 kg~234 kg @@ -50,24 +50,24 @@ $1,000 ## 变化程度的表示法 -数字的增加要使用“增加了”、“增加到”。“了”表示增量,“到”表示定量。 +数字的增加要使用“增加了”、“增加到”。“了”表示增量,“到”表示定量。 ``` 增加到过去的两倍 -(过去为一,现在为二) +(过去为一,现在为二) 增加了两倍 -(过去为一,现在为三) +(过去为一,现在为三) ``` -数字的减少要使用“降低了”、“降低到”。“了”表示增量,“到”表示定量。 +数字的减少要使用“降低了”、“降低到”。“了”表示增量,“到”表示定量。 ``` 降低到百分之八十 -(定额是一百,现在是八十) +(定额是一百,现在是八十) 降低了百分之八十 -(原来是一百,现在是二十) +(原来是一百,现在是二十) ``` -不能用“降低 N 倍”或“减少 N 倍”的表示法,要用“降低百分之几”或“减少百分之几”。因为减少(或降低)一倍表示数值原来为一百,现在等于零。 +不能用“降低 N 倍”或“减少 N 倍”的表示法,要用“降低百分之几”或“减少百分之几”。因为减少(或降低)一倍表示数值原来为一百,现在等于零。 diff --git a/docs/contribution/writing-specification/paragraph.md b/docs/contribution/writing-specification/paragraph.md index 8cbbc59da..cc3ba5d07 100644 --- a/docs/contribution/writing-specification/paragraph.md +++ b/docs/contribution/writing-specification/paragraph.md @@ -7,28 +7,28 @@ sidebar_position: 3 ## 原则 -- 一个段落只能有一个主题,或一个中心句子。 -- 段落的中心句子放在段首,对全段内容进行概述。后面陈述的句子为中心句子服务。 -- 一个段落的长度不能超过七行,最佳段落长度小于等于四行。 -- 段落的句子语气要使用陈述和肯定语气,避免使用感叹语气。 +- 一个段落只能有一个主题,或一个中心句子。 +- 段落的中心句子放在段首,对全段内容进行概述。后面陈述的句子为中心句子服务。 +- 一个段落的长度不能超过七行,最佳段落长度小于等于四行。 +- 段落的句子语气要使用陈述和肯定语气,避免使用感叹语气。 - 段落之间使用一个空行隔开。 - 段落开头不要留出空白字符。 ## 引用 -引用第三方内容时,应注明出处。 +引用第三方内容时,应注明出处。 ``` One man’s constant is another man’s variable. — Alan Perlis ``` -如果是全篇转载,请在全文开头显著位置注明作者和出处,并链接至原文。 +如果是全篇转载,请在全文开头显著位置注明作者和出处,并链接至原文。 ``` 本文转载自 WikiQuote ``` -使用外部图片时,必须在图片下方或文末标明来源。 +使用外部图片时,必须在图片下方或文末标明来源。 ``` 本文部分图片来自 Wikipedia diff --git a/docs/contribution/writing-specification/punctuation-marks.md b/docs/contribution/writing-specification/punctuation-marks.md index 09ead5da4..a2947187b 100644 --- a/docs/contribution/writing-specification/punctuation-marks.md +++ b/docs/contribution/writing-specification/punctuation-marks.md @@ -7,35 +7,35 @@ sidebar_position: 5 ## 原则 -(1)中文语句的标点符号,均应该采取全角符号,这样可以与全角文字保持视觉的一致。 +(1)中文语句的标点符号,均应该采取全角符号,这样可以与全角文字保持视觉的一致。 -(2)如果整句为英文,则该句使用英文/半角标点。 +(2)如果整句为英文,则该句使用英文/半角标点。 -(3)句号、问号、叹号、逗号、顿号、分号和冒号不得出现在一行之首。 +(3)句号、问号、叹号、逗号、顿号、分号和冒号不得出现在一行之首。 -(4)点号(句号、逗号、顿号、分号、冒号)不得出现在标题的末尾,而标号(引号、括号、破折号、省略号、书名号、着重号、间隔号、叹号、问号)可以。 +(4)点号(句号、逗号、顿号、分号、冒号)不得出现在标题的末尾,而标号(引号、括号、破折号、省略号、书名号、着重号、间隔号、叹号、问号)可以。 ## 句号 -(1)中文语句的结尾处应该用全角句号(`。`)。 +(1)中文语句的结尾处应该用全角句号(`。`)。 -(2)句子末尾用括号加注时,句号应在括号之外。 +(2)句子末尾用括号加注时,句号应在括号之外。 ``` -错误:关于文件的输出,请参照第 1.3 节(见第 26 页。) +错误:关于文件的输出,请参照第 1.3 节(见第 26 页。) -正确:关于文件的输出,请参照第 1.3 节(见第 26 页)。 +正确:关于文件的输出,请参照第 1.3 节(见第 26 页)。 ``` ## 逗号 -(1)逗号(`,`)表示句子内部的一般性停顿。 +(1)逗号(`,`)表示句子内部的一般性停顿。 -(2)注意避免“一逗到底”,即整个段落除了结尾,全部停顿都使用逗号。 +(2)注意避免“一逗到底”,即整个段落除了结尾,全部停顿都使用逗号。 ## 顿号 -(1)句子内部的并列词,应该用全角顿号(`、`) 分隔,而不用逗号,即使并列词是英语也是如此。 +(1)句子内部的并列词,应该用全角顿号(`、`) 分隔,而不用逗号,即使并列词是英语也是如此。 ``` 错误:我最欣赏的科技公司有 Google, Facebook, 腾讯, 阿里和百度等。 @@ -43,47 +43,47 @@ sidebar_position: 5 正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。 ``` -(2)英文句子中,并列词语之间使用半角逗号(`,`)分隔。 +(2)英文句子中,并列词语之间使用半角逗号(`,`)分隔。 ``` 例句:Microsoft Office includes Word, Excel, PowerPoint, Outlook and other components. ``` -(3)中文句子内部的并列词,最后一个尽量使用(`和`)来连接,使句子读起来更加连贯,下面两个句子都可以,第二个更优。 +(3)中文句子内部的并列词,最后一个尽量使用(`和`)来连接,使句子读起来更加连贯,下面两个句子都可以,第二个更优。 ``` -正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里,以及百度等。 +正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里,以及百度等。 正确:我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。 ``` ## 分号 -(1)分号(`;`)表示复句内部并列分句之间的停顿。 +(1)分号(`;`)表示复句内部并列分句之间的停顿。 ## 引号 -(1)引用时,应该使用全角双引号(`“ ”`),注意前后双引号不同。 +(1)引用时,应该使用全角双引号(`“ ”`),注意前后双引号不同。 ``` 例句:许多人都认为客户服务的核心是“友好”和“专业”。 ``` -(2)引号里面还要用引号时,外面一层用双引号,里面一层用单引号(`‘ ’`),注意前后单引号不同。 +(2)引号里面还要用引号时,外面一层用双引号,里面一层用单引号(`‘ ’`),注意前后单引号不同。 ``` -例句:鲍勃解释道:“我要放音乐,可萨利说,‘不行!’。” +例句:鲍勃解释道:“我要放音乐,可萨利说,‘不行!’。” ``` ## 括号 -(1)补充说明时,使用全角圆括号(`()`),括号前后不加空格。 +(1)补充说明时,使用全角圆括号(`()`),括号前后不加空格。 ``` -例句:请确认所有的连接(电缆和接插件)均安装牢固。 +例句:请确认所有的连接(电缆和接插件)均安装牢固。 ``` -(2)几种括号的中英文名称。 +(2)几种括号的中英文名称。 | | 英文 | 中文 | |-------|:---------------------------:|:-------:| @@ -94,13 +94,13 @@ sidebar_position: 5 ## 冒号 -(1)全角冒号(`:`)常用在需要解释的词语后边,引出解释和说明。 +(1)全角冒号(`:`)常用在需要解释的词语后边,引出解释和说明。 ``` 例句:请确认以下几项内容:时间、地点、活动名称和来宾数量。 ``` -(2)表示时间时,应使用半角冒号(`:`)。 +(2)表示时间时,应使用半角冒号(`:`)。 ``` 例句:早上 8:00 @@ -108,43 +108,43 @@ sidebar_position: 5 ## 省略号 -(1)省略号(`⋯⋯`)表示语句未完、或者语气的不连续。 +(1)省略号(`⋯⋯`)表示语句未完、或者语气的不连续。 -(2)省略号占两个汉字空间、包含六个省略点,不要使用`。。。`或`...`等非标准形式。 +(2)省略号占两个汉字空间、包含六个省略点,不要使用`。。。`或`...`等非标准形式。 -(3)省略号不应与“等”这个词一起使用。 +(3)省略号不应与“等”这个词一起使用。 ``` 错误:我们为会餐准备了香蕉、苹果、梨…等各色水果。 -正确:我们为会餐准备了各色水果,有香蕉、苹果、梨⋯⋯ +正确:我们为会餐准备了各色水果,有香蕉、苹果、梨⋯⋯ 正确:我们为会餐准备了香蕉、苹果、梨等各色水果。 ``` ## 感叹号 -(1)应该使用平静的语气叙述,尽量避免使用感叹号(`!`)。 +(1)应该使用平静的语气叙述,尽量避免使用感叹号(`!`)。 -(2)不得多个感叹号连用,比如`!!`和`!!!`。 +(2)不得多个感叹号连用,比如`!!`和`!!!`。 ## 破折号 -(1)破折号`————`一般用于进一步解释。 +(1)破折号`————`一般用于进一步解释。 -(2)破折号应占两个汉字的位置。如果破折号本身只占一个汉字的位置,那么前后应该留出一个半角空格。 +(2)破折号应占两个汉字的位置。如果破折号本身只占一个汉字的位置,那么前后应该留出一个半角空格。 ``` -例句:直觉————尽管它并不总是可靠的————告诉我,这事可能出了些问题。 +例句:直觉————尽管它并不总是可靠的————告诉我,这事可能出了些问题。 -例句:直觉 —— 尽管它并不总是可靠的 —— 告诉我,这事可能出了些问题。 +例句:直觉 —— 尽管它并不总是可靠的 —— 告诉我,这事可能出了些问题。 ``` ## 连接号 -(1)连接号用于连接两个类似的词。 +(1)连接号用于连接两个类似的词。 -(2)以下场合应该使用直线连接号(`-`),占一个半角字符的位置。 +(2)以下场合应该使用直线连接号(`-`),占一个半角字符的位置。 - 两个名词的复合 - 图表编号 @@ -155,15 +155,15 @@ sidebar_position: 5 例句:图 1-1 ``` -(3)数值范围(例如日期、时间或数字)应该使用波浪连接号(`~`)或一字号(`—`),占一个全角字符的位置。 +(3)数值范围(例如日期、时间或数字)应该使用波浪连接号(`~`)或一字号(`—`),占一个全角字符的位置。 ``` 例句:2009 年~2011 年 ``` -注意,波浪连接号前后两个值都建议加上单位。 +注意,波浪连接号前后两个值都建议加上单位。 -(4)波浪连接号也可以用汉字“至”代替。 +(4)波浪连接号也可以用汉字“至”代替。 ``` 例句:周围温度:-20 °C 至 -10 °C diff --git a/docs/contribution/writing-specification/text.md b/docs/contribution/writing-specification/text.md index a20251ff8..e51b46cbe 100644 --- a/docs/contribution/writing-specification/text.md +++ b/docs/contribution/writing-specification/text.md @@ -7,7 +7,7 @@ sidebar_position: 2 ## 字间距 -(1)全角中文字符与半角英文字符之间,应有一个半角空格。 +(1)全角中文字符与半角英文字符之间,应有一个半角空格。 ``` 错误:本文介绍如何快速启动Windows系统。 @@ -15,15 +15,15 @@ sidebar_position: 2 正确:本文介绍如何快速启动 Windows 系统。 ``` -(2)全角中文字符与半角阿拉伯数字之间,有没有半角空格都可,但必须保证风格统一,不能两种风格混杂。 +(2)全角中文字符与半角阿拉伯数字之间,有没有半角空格都可,但必须保证风格统一,不能两种风格混杂。 ``` -正确:2011年5月15日,我订购了5台笔记本电脑与10台平板电脑。 +正确:2011年5月15日,我订购了5台笔记本电脑与10台平板电脑。 -正确:2011 年 5 月 15 日,我订购了 5 台笔记本电脑与 10 台平板电脑。 +正确:2011 年 5 月 15 日,我订购了 5 台笔记本电脑与 10 台平板电脑。 ``` -半角的百分号,视同阿拉伯数字。 +半角的百分号,视同阿拉伯数字。 ``` 正确:今年我国经济增长率是6.5%。 @@ -31,7 +31,7 @@ sidebar_position: 2 正确:今年我国经济增长率是 6.5%。 ``` -(3)英文单位若不翻译,单位前的阿拉伯数字与单位符号之间,应留出适当的空隙。 +(3)英文单位若不翻译,单位前的阿拉伯数字与单位符号之间,应留出适当的空隙。 ``` 例1:一部容量为 16 GB 的智能手机 @@ -39,7 +39,7 @@ sidebar_position: 2 例2:1 h = 60 min = 3,600 s ``` -(4)半角英文字符和半角阿拉伯数字,与全角标点符号之间不留空格。 +(4)半角英文字符和半角阿拉伯数字,与全角标点符号之间不留空格。 ``` 错误:他的电脑是 MacBook Air 。 @@ -49,27 +49,27 @@ sidebar_position: 2 ## 句子 -(1)避免使用长句。 +(1)避免使用长句。 -不包含任何标点符号的单个句子,或者以逗号分隔的句子构件,长度尽量保持在 20 个字以内;20~29 个字的句子,可以接受;30~39 个字的句子,语义必须明确,才能接受;多于 40 个字的句子,任何情况下都不能接受。 +不包含任何标点符号的单个句子,或者以逗号分隔的句子构件,长度尽量保持在 20 个字以内;20~29 个字的句子,可以接受;30~39 个字的句子,语义必须明确,才能接受;多于 40 个字的句子,任何情况下都不能接受。 ``` 错误:本产品适用于从由一台服务器进行动作控制的单一节点结构到由多台服务器进行动作控制的并行处理程序结构等多种体系结构。 -正确:本产品适用于多种体系结构。无论是由一台服务器(单一节点结构),还是由多台服务器(并行处理结构)进行动作控制,均可以使用本产品。 +正确:本产品适用于多种体系结构。无论是由一台服务器(单一节点结构),还是由多台服务器(并行处理结构)进行动作控制,均可以使用本产品。 ``` -逗号分割的长句,总长度不应该超过 100 字或者正文的 3 行。 +逗号分割的长句,总长度不应该超过 100 字或者正文的 3 行。 -(2)尽量使用简单句和并列句,避免使用复合句。 +(2)尽量使用简单句和并列句,避免使用复合句。 ``` -并列句:他昨天生病了,没有参加会议。 +并列句:他昨天生病了,没有参加会议。 复合句:那个昨天生病的人没有参加会议。 ``` -(3)同样一个意思,尽量使用肯定句表达,不使用否定句表达。 +(3)同样一个意思,尽量使用肯定句表达,不使用否定句表达。 ``` 错误:请确认没有接通装置的电源。 @@ -77,33 +77,33 @@ sidebar_position: 2 正确:请确认装置的电源已关闭。 ``` -(4)避免使用双重否定句。 +(4)避免使用双重否定句。 ``` -错误:没有删除权限的用户,不能删除此文件。 +错误:没有删除权限的用户,不能删除此文件。 -正确:用户必须拥有删除权限,才能删除此文件。 +正确:用户必须拥有删除权限,才能删除此文件。 ``` ## 写作风格 -(1)尽量不使用被动语态,改为使用主动语态。 +(1)尽量不使用被动语态,改为使用主动语态。 ``` -错误:假如此软件尚未被安装, +错误:假如此软件尚未被安装, -正确:假如尚未安装这个软件, +正确:假如尚未安装这个软件, ``` -(2)不使用非正式的语言风格。 +(2)不使用非正式的语言风格。 ``` -错误:Lady Gaga 的演唱会真是酷毙了,从没看过这么给力的表演!!! +错误:Lady Gaga 的演唱会真是酷毙了,从没看过这么给力的表演!!! -正确:无法参加本次活动,我深感遗憾。 +正确:无法参加本次活动,我深感遗憾。 ``` -(3)不使用冷僻、生造或者文言文的词语,而要使用现代汉语的常用表达方式。 +(3)不使用冷僻、生造或者文言文的词语,而要使用现代汉语的常用表达方式。 ``` 错误:这是唯二的快速启动的方法。 @@ -111,20 +111,20 @@ sidebar_position: 2 正确:这是仅有的两种快速启动的方法。 ``` -(4)用对“的”、“地”、“得”。 +(4)用对“的”、“地”、“得”。 ``` 她露出了开心的笑容。 -(形容词+的+名词) +(形容词+的+名词) 她开心地笑了。 -(副词+地+动词) +(副词+地+动词) 她笑得很开心。 -(动词+得+副词) +(动词+得+副词) ``` -(5)使用代词时(比如“其”、“该”、“此”、“这”等词),必须明确指代的内容,保证只有一个含义。 +(5)使用代词时(比如“其”、“该”、“此”、“这”等词),必须明确指代的内容,保证只有一个含义。 ``` 错误:从管理系统可以监视中继系统和受其直接控制的分配系统。 @@ -132,32 +132,32 @@ sidebar_position: 2 正确:从管理系统可以监视两个系统:中继系统和受中继系统直接控制的分配系统。 ``` -(6)名词前不要使用过多的形容词。 +(6)名词前不要使用过多的形容词。 ``` 错误:此设备的使用必须在接受过本公司举办的正式的设备培训的技师的指导下进行。 -正确:此设备必须在技师的指导下使用,且指导技师必须接受过由本公司举办的正式设备培训。 +正确:此设备必须在技师的指导下使用,且指导技师必须接受过由本公司举办的正式设备培训。 ``` ## 英文处理 -(1)英文原文如果使用了复数形式,翻译成中文时,应该将其还原为单数形式。 +(1)英文原文如果使用了复数形式,翻译成中文时,应该将其还原为单数形式。 ``` 英文:...information stored in random access memory (RAMs)... -中文:⋯⋯存储在随机存取存储器(RAM)里的信息⋯⋯ +中文:⋯⋯存储在随机存取存储器(RAM)里的信息⋯⋯ ``` -(2)外文缩写可以使用半角圆点(`.`)表示缩写。 +(2)外文缩写可以使用半角圆点(`.`)表示缩写。 ``` U.S.A. Apple, Inc. ``` -(3)表示中文时,英文省略号(`...`)应改为中文省略号(`⋯⋯`)。 +(3)表示中文时,英文省略号(`...`)应改为中文省略号(`⋯⋯`)。 ``` 英文:5 minutes later... @@ -165,7 +165,7 @@ Apple, Inc. 中文:5 分钟过去了⋯⋯ ``` -(4)英文书名或电影名改用中文表达时,双引号应改为书名号。 +(4)英文书名或电影名改用中文表达时,双引号应改为书名号。 ``` 英文:He published an article entitled "The Future of the Aviation". @@ -173,25 +173,25 @@ Apple, Inc. 中文:他发表了一篇名为《航空业的未来》的文章。 ``` -(5)第一次出现英文词汇时,在括号中给出中文标注。此后再次出现时,直接使用英文缩写即可。 +(5)第一次出现英文词汇时,在括号中给出中文标注。此后再次出现时,直接使用英文缩写即可。 ``` -IOC(International Olympic Committee,国际奥林匹克委员会)。这样定义后,便可以直接使用“IOC”了。 +IOC(International Olympic Committee,国际奥林匹克委员会)。这样定义后,便可以直接使用“IOC”了。 ``` -(6)专有名词中每个词第一个字母均应大写,非专有名词则不需要大写。 +(6)专有名词中每个词第一个字母均应大写,非专有名词则不需要大写。 ``` -“American Association of Physicists in Medicine”(美国医学物理学家协会)是专有名词,需要大写。 +“American Association of Physicists in Medicine”(美国医学物理学家协会)是专有名词,需要大写。 -“online transaction processing”(在线事务处理)不是专有名词,不应大写。 +“online transaction processing”(在线事务处理)不是专有名词,不应大写。 ``` ## 名词 ### 专有名词使用正确的大小写 -大小写相关用法原属于英文书写范畴,不属于本 Wiki 讨论内容,在这里只对部分易错用法进行简述。 +大小写相关用法原属于英文书写范畴,不属于本 Wiki 讨论内容,在这里只对部分易错用法进行简述。 正确: @@ -215,18 +215,18 @@ IOC(International Olympic Committee,国际奥林匹克委员会)。这样 我们的客户有 gイんĤЦ8、キouЯƧquムгє、๓เςг๏ร๏Ŧt ς๏гק๏гคtเ๏ภn、900913、ƒ4ᄃëв๏๏к, IПᄃ.。 ``` -注意:当网页中需要配合整体视觉风格而出现全部大写/小写的情形,HTML 中请使用标淮的大小写规范进行书写;并通过 text-transform: uppercase;/text-transform: lowercase; 对表现形式进行定义。 +注意:当网页中需要配合整体视觉风格而出现全部大写/小写的情形,HTML 中请使用标淮的大小写规范进行书写;并通过 text-transform: uppercase;/text-transform: lowercase; 对表现形式进行定义。 ### 不要使用不地道的缩写 正确: ``` -我们需要一位熟悉 JavaScript、HTML5,至少理解一种框架(如 Backbone.js、AngularJS、React 等)的前端开发者。 +我们需要一位熟悉 JavaScript、HTML5,至少理解一种框架(如 Backbone.js、AngularJS、React 等)的前端开发者。 ``` 错误: ``` -我们需要一位熟悉 Js、h5,至少理解一种框架(如 backbone、angular、RJS 等)的 FED。 +我们需要一位熟悉 Js、h5,至少理解一种框架(如 backbone、angular、RJS 等)的 FED。 ``` diff --git a/docs/contribution/writing-specification/title.md b/docs/contribution/writing-specification/title.md index 2d68b39c5..ea0fb9598 100644 --- a/docs/contribution/writing-specification/title.md +++ b/docs/contribution/writing-specification/title.md @@ -28,9 +28,9 @@ sidebar_position: 1 ## 原则 -(1)一级标题下,不能直接出现三级标题。 +(1)一级标题下,不能直接出现三级标题。 -示例:下面的文章结构,缺少二级标题。 +示例:下面的文章结构,缺少二级标题。 ```markdown # 一级标题 @@ -38,9 +38,9 @@ sidebar_position: 1 ### 三级标题 ``` -(2)标题要避免孤立编号(即同级标题只有一个)。 +(2)标题要避免孤立编号(即同级标题只有一个)。 -示例:下面的文章结构,`二级标题 A`只包含一个三级标题,完全可以省略`三级标题 A`。 +示例:下面的文章结构,`二级标题 A`只包含一个三级标题,完全可以省略`三级标题 A`。 ```markdown ## 二级标题 A @@ -50,9 +50,9 @@ sidebar_position: 1 ## 二级标题 B ``` -(3)下级标题不重复上一级标题的名字。 +(3)下级标题不重复上一级标题的名字。 -示例:下面的文章结构,二级标题与下属的三级标题同名,建议避免。 +示例:下面的文章结构,二级标题与下属的三级标题同名,建议避免。 ```markdown ## 概述 @@ -60,11 +60,11 @@ sidebar_position: 1 ### 概述 ``` -(4)谨慎使用四级标题,尽量避免出现,保持层级的简单,防止出现过于复杂的章节。 +(4)谨慎使用四级标题,尽量避免出现,保持层级的简单,防止出现过于复杂的章节。 -如果三级标题下有并列性的内容,建议只使用项目列表(Item list)。 +如果三级标题下有并列性的内容,建议只使用项目列表(Item list)。 -示例:下面的结构二要好于结构一。结构一适用的场景,主要是较长篇幅的内容。 +示例:下面的结构二要好于结构一。结构一适用的场景,主要是较长篇幅的内容。 ```markdown 结构一 @@ -81,9 +81,9 @@ sidebar_position: 1 ### 三级标题 -**(1)A** +**(1)A** -**(2)B** +**(2)B** -**(3)C** +**(3)C** ``` diff --git a/docs/contribution/writing-specification/writing-specification.md b/docs/contribution/writing-specification/writing-specification.md index 28e579b70..5665fba48 100644 --- a/docs/contribution/writing-specification/writing-specification.md +++ b/docs/contribution/writing-specification/writing-specification.md @@ -9,7 +9,7 @@ slug: /contribution/writing :::tip[提示~] -若格式不规范但不会或不想排版时请在 PR 时提出**文档需排版**) +若格式不规范但不会或不想排版时请在 PR 时提出**文档需排版**) ::: diff --git a/docs/intro.md b/docs/intro.md index 56b303e0e..06de9e1a0 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -7,9 +7,9 @@ sidebar_position: 1 👋 欢迎来到笨蛋开服教程! -笨蛋开服教程是一篇主要针对 **高版本 Java 版** 和 **基岩版**服务器的开服指南,而非**远古核心**。 +笨蛋开服教程是一篇主要针对 **高版本 Java 版** 和 **基岩版**服务器的开服指南,而非**远古核心**。 -在开始前,请确认你拥有以下基础: +在开始前,请确认你拥有以下基础: - 具备**基础**的计算机操作技能 - 如解压、新建文件夹、打开文件、安装软件等; - 具备使用**搜索引擎**搜索关键词的能力; @@ -25,14 +25,14 @@ sidebar_position: 1 # 教程不适合的群体 - 意图通过开设服务器进行欺诈谋利的人; -- 忽视插件文档,频繁依赖他人解答的人; +- 忽视插件文档,频繁依赖他人解答的人; - 头脑简单、狂妄自大、懒惰无能的人。 # 开始你的旅程 ![:NitWikit](https://count.kjchmc.cn/get/@:NitWikit) -如果你确定你符合条件,请点击一侧的目录开始阅读文档。 +如果你确定你符合条件,请点击一侧的目录开始阅读文档。 # 更多 diff --git a/docs/love.md b/docs/love.md index f9dfd4a87..6b3760e21 100644 --- a/docs/love.md +++ b/docs/love.md @@ -10,13 +10,13 @@ sidebar_position: 101 ![](_images/postyizhan.png) -NitWikit 项目的建立者,维护者,写下这段话时文档提交次数和提交行数最多的人,群吉祥物 +NitWikit 项目的建立者,维护者,写下这段话时文档提交次数和提交行数最多的人,群吉祥物 -原本建立相亲墙是放莎碧的,但其他贡献者好像会错意了 +原本建立相亲墙是放莎碧的,但其他贡献者好像会错意了 “这是文档贡献者表?”一位贡献者问到 -“额,啊对,这里是放贡献者的,大家可以把自己收款码贴这里收点赞助” +“额,啊对,这里是放贡献者的,大家可以把自己收款码贴这里收点赞助” “哦?太好了”一位贡献者听到能贴收款码很高兴 diff --git a/docs/preparation/choose-and-download-and-install-java.md b/docs/preparation/choose-and-download-and-install-java.md index 8f463f319..c81dedc38 100644 --- a/docs/preparation/choose-and-download-and-install-java.md +++ b/docs/preparation/choose-and-download-and-install-java.md @@ -7,22 +7,22 @@ sidebar_position: 1 你的服务端和客户端都需要安装 Java 才能运行。各个游戏版本需要安装的 Java 版本不同。 -原则上选择最新的兼容的 Java 版本,可以体验到最新的优化,并且大部分现代插件对最新版的特性有优化(比如 AuthMeReReload)。 +原则上选择最新的兼容的 Java 版本,可以体验到最新的优化,并且大部分现代插件对最新版的特性有优化(比如 AuthMeReReload)。
JRE 和 JDK 是什么? 我该怎么选择? -JRE (Java Runtime Enviroment) 是 Java 的运行环境。面向 Java 程序的使用者,而不是开发者。如果你仅下载并安装了 JRE,那么你的系统只能运行 Java 程序。JRE 是运行 Java 程序所必须环境的集合,包含 JVM 标准实现及 Java 核心类库。它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具(编译器、调试器等) +JRE (Java Runtime Enviroment) 是 Java 的运行环境。面向 Java 程序的使用者,而不是开发者。如果你仅下载并安装了 JRE,那么你的系统只能运行 Java 程序。JRE 是运行 Java 程序所必须环境的集合,包含 JVM 标准实现及 Java 核心类库。它包括 Java 虚拟机、Java 平台核心类和支持文件。它不包含开发工具(编译器、调试器等) -JDK (Java Development Kit) 又称 J2SDK (Java2 Software Development Kit),是 Java 开发工具包,它提供了 Java 的开发环境 (提供了编译器 javac 等工具,用于将 java 文件编译为 class 文件) 和运行环境 (提供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。如果你下载并安装了 JDK,那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个 Java 的核心,包括了 Java 运行环境 (JRE),一堆 Java 工具 tools.jar 和 Java 标准类库 (rt.jar) +JDK (Java Development Kit) 又称 J2SDK (Java2 Software Development Kit),是 Java 开发工具包,它提供了 Java 的开发环境 (提供了编译器 javac 等工具,用于将 java 文件编译为 class 文件) 和运行环境 (提供了 JVM 和 Runtime 辅助包,用于解析 class 文件使其得到运行)。如果你下载并安装了 JDK,那么你不仅可以开发 Java 程序,也同时拥有了运行 Java 程序的平台。JDK 是整个 Java 的核心,包括了 Java 运行环境 (JRE),一堆 Java 工具 tools.jar 和 Java 标准类库 (rt.jar) -**总结: 只开服务端下载 JRE 即可,JDK 也没问题** +**总结: 只开服务端下载 JRE 即可,JDK 也没问题**
## 选择版本 :::warning -部分服务端有在项目的 README 中标注最低版本和推荐版本,例如 [Beast](https://github.com/HomoMC/Beast),最低版本为 Java 8,推荐版本为 Java 21 +部分服务端有在项目的 README 中标注最低版本和推荐版本,例如 [Beast](https://github.com/HomoMC/Beast),最低版本为 Java 8,推荐版本为 Java 21 MOD 服务端 ::: @@ -56,7 +56,7 @@ MOD 服务端 ## 直接下载 :::warning -此处下载链接可能不是最新版,如需下载最新版请跳转至 [手动下载](#%E6%89%8B%E5%8A%A8%E4%B8%8B%E8%BD%BD) +此处下载链接可能不是最新版,如需下载最新版请跳转至 [手动下载](#%E6%89%8B%E5%8A%A8%E4%B8%8B%E8%BD%BD) ::: | Java 版本 | 下载链接 | @@ -125,16 +125,16 @@ java -version ## 使用 AJI 静默安装 Java -群友氿月写的一个小脚本,可以在 Windows 平台后台静默安装 JDK。 +群友氿月写的一个小脚本,可以在 Windows 平台后台静默安装 JDK。
食用方式: 1. 打开此链接下载 AJI: https://github.com/Lafcadia/AJI/releases/download/v0.0.2/main.exe -2. 下好了,右键选择以管理员权限打开(如果不以管理员权限打开就无法绑定 Java 环境变量,虽然不给管理员权限程序也能正常运行,并安装 Java,但可能会在后续阶段出现问题) +2. 下好了,右键选择以管理员权限打开(如果不以管理员权限打开就无法绑定 Java 环境变量,虽然不给管理员权限程序也能正常运行,并安装 Java,但可能会在后续阶段出现问题) 3. ![示意图](https://github.com/user-attachments/assets/28035c47-d34b-4b38-b895-29f38366bef9) -4. 选择合适的版本的 Java,点击 `Install Java`,下载。 -5. 不要关闭窗口,直到下方的提示栏从 `Installing...` 变为 `Complete.` +4. 选择合适的版本的 Java,点击 `Install Java`,下载。 +5. 不要关闭窗口,直到下方的提示栏从 `Installing...` 变为 `Complete.`
## FAQ @@ -147,9 +147,9 @@ java -version ### 怎么制作绿色版 Java & 绿色版怎么使用 -下载 Java 时下载 `.zip` 或 `.tar.gz` 结尾的压缩包,将压缩包解压到任意位置。 +下载 Java 时下载 `.zip` 或 `.tar.gz` 结尾的压缩包,将压缩包解压到任意位置。 -随后可以修改环境变量 `JAVA_HOME` 即可,如果不懂看[这篇文章](https://blog.csdn.net/MrsHorse/article/details/82695353) +随后可以修改环境变量 `JAVA_HOME` 即可,如果不懂看[这篇文章](https://blog.csdn.net/MrsHorse/article/details/82695353) # 本节视频教程 diff --git a/docs/preparation/dumb-script-using.md b/docs/preparation/dumb-script-using.md index 6283dae95..94b896310 100644 --- a/docs/preparation/dumb-script-using.md +++ b/docs/preparation/dumb-script-using.md @@ -5,7 +5,7 @@ sidebar_position: 4 # 笨蛋脚本使用 -笨蛋脚本是由本 wiki 的作者之一 lilingfeng 编写的,专门为笨蛋设计的,你只需要双击启动,回答几个问题就能帮你自动完成。 +笨蛋脚本是由本 wiki 的作者之一 lilingfeng 编写的,专门为笨蛋设计的,你只需要双击启动,回答几个问题就能帮你自动完成。 ## 下载 @@ -13,7 +13,7 @@ sidebar_position: 4 ## 功能 -目前,我们已经编写了以下的笨蛋脚本: +目前,我们已经编写了以下的笨蛋脚本: * 自动优化服务端配置文件 * 自动配置防矿透 @@ -28,15 +28,15 @@ sidebar_position: 4 * 自动配置 Geyser * Via 自动配置 * 服务端选择+下载 -* 还有更多(在编写中) +* 还有更多(在编写中) ## 赞助我们 -打点钱吧,写这些脚本并不容易,没钱的话,给个免费的 Star 也可以 :) +打点钱吧,写这些脚本并不容易,没钱的话,给个免费的 Star 也可以 :) ## 使用准备 -除生成启动脚本,其他脚本都必须启动一次服务端后才能使用,生成启动脚本需要提前安装服务器核心。 +除生成启动脚本,其他脚本都必须启动一次服务端后才能使用,生成启动脚本需要提前安装服务器核心。 :::danger[使用方法] @@ -46,13 +46,13 @@ sidebar_position: 4 ## 其他操作系统 -我们提供其他操作系统的二进制分发文件(注意:二进制分发仅可以在 64 位操作系统上运行,Windows 只支持 Win10 以上) +我们提供其他操作系统的二进制分发文件(注意:二进制分发仅可以在 64 位操作系统上运行,Windows 只支持 Win10 以上) [Linux](https://github.com/lilingfengdev/NitWiki-Script/releases/tag/ubuntu-latest) [MacOS (真的有人会用 Mac 开服吗?)](https://github.com/lilingfengdev/NitWiki-Script/releases/tag/macos-latest) -32 位操作系统或 Win7 需要自己安装 Python ,并安装以下依赖(一大堆) +32 位操作系统或 Win7 需要自己安装 Python ,并安装以下依赖(一大堆) ```shell pip install pyyaml install-jdk tqdm psutil requests rtoml @@ -60,16 +60,16 @@ pip install pyyaml install-jdk tqdm psutil requests rtoml ## 了解 -在启动这个脚本之前,你应该 **明白你正在干什么,会导致什么后果**,以优化脚本举例,你应该明白,执行这个脚本之后,村民的 AI 会受到限制,变得有点傻(当然不止这个,还有其他后果,此处不详谈)。 +在启动这个脚本之前,你应该 **明白你正在干什么,会导致什么后果**,以优化脚本举例,你应该明白,执行这个脚本之后,村民的 AI 会受到限制,变得有点傻(当然不止这个,还有其他后果,此处不详谈)。 -我们拒绝回答一切在启动笨蛋脚本之前不看文档导致的问题~~(除非打钱)~~。 +我们拒绝回答一切在启动笨蛋脚本之前不看文档导致的问题~~(除非打钱)~~。 ## 宗旨 -我们只教导笨蛋,不制造笨蛋,所以不要问可不可以写一个一键脚本,完成一切工作。 +我们只教导笨蛋,不制造笨蛋,所以不要问可不可以写一个一键脚本,完成一切工作。 ~~其实已经写出来了.......~~ ## 许可 -本脚本永久免费,如果你是付费得到本脚本的,请立刻退款并骂死那个人。 +本脚本永久免费,如果你是付费得到本脚本的,请立刻退款并骂死那个人。 diff --git a/docs/preparation/preparation.md b/docs/preparation/preparation.md index f6eb9e6b5..a15a43544 100644 --- a/docs/preparation/preparation.md +++ b/docs/preparation/preparation.md @@ -6,7 +6,7 @@ sidebar_position: 3 # 准备工作 -在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: +在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页: import DocCardList from '@theme/DocCardList'; @@ -16,8 +16,8 @@ import DocCardList from '@theme/DocCardList'; Java 是开 Java 版 Minecraft 服务器必要的; -文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; +文档编辑软件能够有效提高编辑插件、核心配置时的效率,降低错误使用语法的可能性; -网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; +网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能; -笨蛋脚本主要用于一键式配置文件、安装插件等(如果你确信你不需要,可以不使用)。 +笨蛋脚本主要用于一键式配置文件、安装插件等(如果你确信你不需要,可以不使用)。 diff --git a/docs/preparation/services.md b/docs/preparation/services.md index 2e350177a..6c5ca10be 100644 --- a/docs/preparation/services.md +++ b/docs/preparation/services.md @@ -6,38 +6,38 @@ sidebar_position: 5 # 笨蛋服务! -这些服务由赛博菩萨 cloudflare 和 lilingfeng 搭建,完全免费提供! +这些服务由赛博菩萨 cloudflare 和 lilingfeng 搭建,完全免费提供! 目前包括 -- [笨蛋 AI](https://ai.yizhan.wiki) - AI 聊天,文字生成图片 +- [笨蛋 AI](https://ai.yizhan.wiki) - AI 聊天,文字生成图片 - [笨蛋镜像](https://mirror.yizhan.wiki) - 加速网站的访问(为没有 VPN 的人准备) -- [笨蛋图床](https://image.yizhan.wiki) - 简洁,免费的图床 +- [笨蛋图床](https://image.yizhan.wiki) - 简洁,免费的图床 - [笨蛋粘贴板](https://paste.yizhan.wiki) - 上传文件/创建 Paste!(不要当网盘) -- [笨蛋笔记本](https://notepad.yizhan.wiki) - 免费笔记本,支持密码,Markdown 和分享 +- [笨蛋笔记本](https://notepad.yizhan.wiki) - 免费笔记本,支持密码,Markdown 和分享 - [笨蛋短链](https://imc.rip) - 缩短链接 ## 规则 -**不要滥用,不要上传违法文件!!!!!** +**不要滥用,不要上传违法文件!!!!!** ## 限制 -由于服务提供商 CloudFlare Free Plan 的限制,超过一定额度后部分服务会停机(虽然目前没碰到过) +由于服务提供商 CloudFlare Free Plan 的限制,超过一定额度后部分服务会停机(虽然目前没碰到过) ### AI -一天 1w 次对话,超过后笨蛋 AI 服务停机。 +一天 1w 次对话,超过后笨蛋 AI 服务停机。 ### Worker -一天 10w 次请求,超过后笨蛋镜像,笨蛋图床,笨蛋粘贴板,笨蛋笔记本,笨蛋短链服务停机 +一天 10w 次请求,超过后笨蛋镜像,笨蛋图床,笨蛋粘贴板,笨蛋笔记本,笨蛋短链服务停机 ### KV -单次文件最大 25 MB,一天 1000 次上传,1000 次删除,超过后笨蛋镜像,笨蛋图床,笨蛋粘贴板,笨蛋笔记本,笨蛋短链**上传,删除**(读取不影响)服务停机 +单次文件最大 25 MB,一天 1000 次上传,1000 次删除,超过后笨蛋镜像,笨蛋图床,笨蛋粘贴板,笨蛋笔记本,笨蛋短链**上传,删除**(读取不影响)服务停机 -所以赞助我吧...(Workers Pro 一个月 5 美元,Cloudflare Pro 一个月 25 美元) +所以赞助我吧...(Workers Pro 一个月 5 美元,Cloudflare Pro 一个月 25 美元) # 机器人命令 diff --git a/docs/preparation/text-editor.md b/docs/preparation/text-editor.md index eed3c6215..c437cd7ef 100644 --- a/docs/preparation/text-editor.md +++ b/docs/preparation/text-editor.md @@ -5,15 +5,15 @@ sidebar_position: 2 # 文本编辑器 -一个好用的文本编辑器是**相当**重要的,本文将介绍几个开服常用的文本编辑器。 +一个好用的文本编辑器是**相当**重要的,本文将介绍几个开服常用的文本编辑器。 :::warning 请不要再使用 Windows 自带的记事本和写字板了。这些文本编辑器通常有以下问题: -1. 可能造成文件编码发生改变。小白操作时尤其容易出现,部分情况下用记事本和写字板保存文件后文件因编码改变等问题而无法服务器读取。 -2. 无法察觉到格式错误。有时编辑文件时会因为不小心删除或添加了些符号,导致配置文件语法错误,服务器无法识别。本文介绍的文本编辑器均能识别出这些格式错误并做出提示和警告,然而记事本和写字板却不具备这些功能。 -3. 无法准确地辨认缩进等格式。这些文本编辑器由于默认不使用 [等宽字体](https://baike.baidu.com/item/%E7%AD%89%E5%AE%BD%E5%AD%97%E4%BD%93/8434037) 显示文字,导致其显示效果与原格式存在差异。 -4. 没有语法高亮功能。在编辑配置文件时,语法高亮功能可以让你高效快速地找到指定配置项和值。它让配置文件更易于阅读,整体上提高了在服务器上进行操作的效率。本文介绍的文本编辑器均能识别出这些格式错误并做出提示和警告,然而记事本和写字板却不具备这些功能。 +1. 可能造成文件编码发生改变。小白操作时尤其容易出现,部分情况下用记事本和写字板保存文件后文件因编码改变等问题而无法服务器读取。 +2. 无法察觉到格式错误。有时编辑文件时会因为不小心删除或添加了些符号,导致配置文件语法错误,服务器无法识别。本文介绍的文本编辑器均能识别出这些格式错误并做出提示和警告,然而记事本和写字板却不具备这些功能。 +3. 无法准确地辨认缩进等格式。这些文本编辑器由于默认不使用 [等宽字体](https://baike.baidu.com/item/%E7%AD%89%E5%AE%BD%E5%AD%97%E4%BD%93/8434037) 显示文字,导致其显示效果与原格式存在差异。 +4. 没有语法高亮功能。在编辑配置文件时,语法高亮功能可以让你高效快速地找到指定配置项和值。它让配置文件更易于阅读,整体上提高了在服务器上进行操作的效率。本文介绍的文本编辑器均能识别出这些格式错误并做出提示和警告,然而记事本和写字板却不具备这些功能。 ::: @@ -23,13 +23,13 @@ sidebar_position: 2 ![](_images/白点.png) -VSCode 会在未保存的文件后标记一个白点,提示你这个文件编辑了但是没有保存(其他文本编辑器类似)。 +VSCode 会在未保存的文件后标记一个白点,提示你这个文件编辑了但是没有保存(其他文本编辑器类似)。 ![](_images/vscode保存和自动保存.png) -保存按钮(红色箭头),也可以用快捷键来保存 Ctrl + S 。 +保存按钮(红色箭头),也可以用快捷键来保存 Ctrl + S 。 -开启自动保存(绿色箭头)。 +开启自动保存(绿色箭头)。 ~~当年 TrMenu 的自动重载治好了我的 autosave~~ @@ -40,9 +40,9 @@ VSCode 会在未保存的文件后标记一个白点,提示你这个文件编 ![官网图片](https://code.visualstudio.com/assets/home/home-screenshot-win-lg.png) -全能型文本编辑器,**非常非常推荐**,支持简体中文 / 繁体中文 / 英文,仅支持 `Windows 10 +`。 +全能型文本编辑器,**非常非常推荐**,支持简体中文 / 繁体中文 / 英文,仅支持 `Windows 10 +`。 -缺点是启动速度可能不是很快,不过非常适合新手使用。(已经算是比较快的了。) +缺点是启动速度可能不是很快,不过非常适合新手使用。(已经算是比较快的了。) 官网链接:https://code.visualstudio.com/ @@ -59,7 +59,7 @@ VSCode 会在未保存的文件后标记一个白点,提示你这个文件编 ![Sublime Text](_images/sublime展示.png) -我不太喜欢的一点是保存文件时,对非激活的用户有一定概率弹出个窗口,提示你去付费支持(可以选择不支持)。但这依旧是一个非常优秀的文本编辑器。 +我不太喜欢的一点是保存文件时,对非激活的用户有一定概率弹出个窗口,提示你去付费支持(可以选择不支持)。但这依旧是一个非常优秀的文本编辑器。 官网链接:https://www.sublimetext.com/ @@ -76,7 +76,7 @@ VSCode 会在未保存的文件后标记一个白点,提示你这个文件编 官网链接:https://kate-editor.org/zh-cn/ -开源,跨平台,也可以秒开文件。 +开源,跨平台,也可以秒开文件。
@@ -110,7 +110,7 @@ GitHub: https://github.com/rizonesoft/Notepad3 [notepad++](http://www.notepadplus.com.cn/)台独 + 多次辱H [这里](https://cn.bing.com/search?q=notepad%252B%252B%E8%BE%B1%E5%8D%8E)。 -dizhi 08年奥运会 声称(仅声明,但还是挺过分的)不同意它的政治观点就在你的源码中添加随机字符 [这里](https://zhuanlan.zhihu.com/p/609192758)。 +dizhi 08年奥运会 声称(仅声明,但还是挺过分的)不同意它的政治观点就在你的源码中添加随机字符 [这里](https://zhuanlan.zhihu.com/p/609192758)。 可替代为 **Notepad--** 等。 @@ -145,7 +145,7 @@ dizhi 08年奥运会 声称(仅声明,但还是挺过分的)不同意它 #### 关联右键菜单? -可以在工具→设置(Ctrl+Alt+,)打开设置,找到“常用配置”手动选中【关联右键菜单】。 +可以在工具→设置(Ctrl+Alt+,)打开设置,找到“常用配置”手动选中【关联右键菜单】。
@@ -160,4 +160,4 @@ dizhi 08年奥运会 声称(仅声明,但还是挺过分的)不同意它
-另外出于多方面原因,不推荐使用 GitHub 官方出品的 Atom,它已在 2022 年 12 月由于安全原因宣布停止维护。 +另外出于多方面原因,不推荐使用 GitHub 官方出品的 Atom,它已在 2022 年 12 月由于安全原因宣布停止维护。 diff --git a/docs/process/create-art-assets.md b/docs/process/create-art-assets.md index 7e35aac27..56111147c 100644 --- a/docs/process/create-art-assets.md +++ b/docs/process/create-art-assets.md @@ -5,7 +5,7 @@ sidebar_position: 1 # 创作美术资源 -> 大多数市面上的美术风格层次不齐,如果你想让自己服务器元素与原版更贴合,请耐心的看完本页 +> 大多数市面上的美术风格层次不齐,如果你想让自己服务器元素与原版更贴合,请耐心的看完本页 :::info @@ -17,23 +17,23 @@ sidebar_position: 1 ### 元素数量 -MC 美术风格的基础是简约,一个物体的整体形状应该由模型定义、主要的细节则由纹理定义。一方面,你应该在精确描绘一个物体的同时,尽可能减少元素的数量。另一方面,简化也要有限度,你也要避免过度简化导致物体失去识别度。 +MC 美术风格的基础是简约,一个物体的整体形状应该由模型定义、主要的细节则由纹理定义。一方面,你应该在精确描绘一个物体的同时,尽可能减少元素的数量。另一方面,简化也要有限度,你也要避免过度简化导致物体失去识别度。 ### 形状描绘 -基于上面的原因,你最好避免用阶梯表现斜面和曲线,我们更建议你通过旋转元素来创建一个斜面。很多 MC 模型中都能找到旋转的元素,但这样的用法必须有理有据。举例来说,为了创造曲线而将相邻的元素旋转并不符合 MC 的美学 +基于上面的原因,你最好避免用阶梯表现斜面和曲线,我们更建议你通过旋转元素来创建一个斜面。很多 MC 模型中都能找到旋转的元素,但这样的用法必须有理有据。举例来说,为了创造曲线而将相邻的元素旋转并不符合 MC 的美学 旋转元素 vs 用阶梯状表现 ![](_images/旋转元素vs用阶梯状表现.jpg) -球形或圆柱形的物体通常以单个元素示人,你可以在游戏里找到很多这样的例子:桶、蛋糕、原木、磨石、南瓜、西瓜、可可豆…… +球形或圆柱形的物体通常以单个元素示人,你可以在游戏里找到很多这样的例子:桶、蛋糕、原木、磨石、南瓜、西瓜、可可豆…… 单个方块元素 vs 多元素组合 ![](_images/旋转元素vs用阶梯状表现.jpg) -MC 模型会用到平面(只有 2 个面的元素)和透明度,大部分时候会两者兼用。一个物体中较小的部分可以用单个大元素来描绘、有意的使其中的某些像素完全透明。在 MC 的美术风格中,这种解决方案比用多个小元素(比如体素)要更为可取。 +MC 模型会用到平面(只有 2 个面的元素)和透明度,大部分时候会两者兼用。一个物体中较小的部分可以用单个大元素来描绘、有意的使其中的某些像素完全透明。在 MC 的美术风格中,这种解决方案比用多个小元素(比如体素)要更为可取。 以薄面表现 vs 以体素表现 @@ -41,27 +41,27 @@ MC 模型会用到平面(只有 2 个面的元素)和透明度,大部分 ### UV 贴图 -UV 贴图定义了纹理要如何应用到模型,在 MC 中,纹理的一个像素对应着模型上的一个像素(Blockbench 软件中的一个比例单位)。在模型上保持同样的像素比例也非常重要,这样一来,纹理才不会被压扁或拉伸变形。 +UV 贴图定义了纹理要如何应用到模型,在 MC 中,纹理的一个像素对应着模型上的一个像素(Blockbench 软件中的一个比例单位)。在模型上保持同样的像素比例也非常重要,这样一来,纹理才不会被压扁或拉伸变形。 保持一致的比例 vs 拉伸变形的比例 ![](_images/保持一致的比例vs拉伸变形的比例.jpg) -在单个面的 UV 贴图中,你都可以使用 Blockbench 提供的 自动 UV 的功能,正确缩放对应面的 UV 贴图。 +在单个面的 UV 贴图中,你都可以使用 Blockbench 提供的 自动 UV 的功能,正确缩放对应面的 UV 贴图。 Blockbench 中提供了自动 UV 功能 ![](_images/自动UV.jpg) -在箱形 UV 贴图中,元素的贴图会自动展开、默认适用于所有的面。在下图中,你可以看到一个展开的 UV 贴图示例(蓝色 = 北、黄色 = 南、粉色 = 西、绿色 = 东、白色 = 顶、灰色 = 底)。北方通常代表“前面”,像是角色的脸、柜子的门所在的位置。 +在箱形 UV 贴图中,元素的贴图会自动展开、默认适用于所有的面。在下图中,你可以看到一个展开的 UV 贴图示例(蓝色 = 北、黄色 = 南、粉色 = 西、绿色 = 东、白色 = 顶、灰色 = 底)。北方通常代表“前面”,像是角色的脸、柜子的门所在的位置。 箱形 UV 贴图会自动展开一个 box 的 UV 贴图 ![](_images/箱形UV贴图.jpg) -### 混素(Mixels) +### 混素(Mixels) -如果说“像素”(pixel)是图片元素(pix + el),混素(mixel)就是混合了多种分辨率的元素,无论 2D 还是 3D 都混在了一起。大多数低规格的艺术完全避免混素,一般来说,MC 艺术不允许混素(某些模型上略微膨胀的元素除外),模型上的混素表现为两种:小于 1px 的元素(或 Blockbench 中的 1 个比例单位)、过度膨胀的元素。 +如果说“像素”(pixel)是图片元素(pix + el),混素(mixel)就是混合了多种分辨率的元素,无论 2D 还是 3D 都混在了一起。大多数低规格的艺术完全避免混素,一般来说,MC 艺术不允许混素(某些模型上略微膨胀的元素除外),模型上的混素表现为两种:小于 1px 的元素(或 Blockbench 中的 1 个比例单位)、过度膨胀的元素。 均衡的细节分布 vs 失衡的细节分布 @@ -69,15 +69,15 @@ Blockbench 中提供了自动 UV 功能 ### 尺寸与比例 -MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 6.25cm。尽管这个比例应该考虑到设计中,但它不总是适用。小物体的识别度优先于比例(常见的例子比如 MC 里的蜜蜂,完全成比例的话,蜜蜂必须要小于 1px) +MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 6.25cm。尽管这个比例应该考虑到设计中,但它不总是适用。小物体的识别度优先于比例(常见的例子比如 MC 里的蜜蜂,完全成比例的话,蜜蜂必须要小于 1px) -此外,在游戏这套特殊比例之下的功能,可能无法直接参考现实。最直接的例子就是玩家的模型,Steve 看上去比现实里的普通人还笨重,如果要创建需要玩家互动的对象,这类的比例的也要考虑在内。 +此外,在游戏这套特殊比例之下的功能,可能无法直接参考现实。最直接的例子就是玩家的模型,Steve 看上去比现实里的普通人还笨重,如果要创建需要玩家互动的对象,这类的比例的也要考虑在内。 真人 vs Steve ![](_images/真人vsSteve.jpg) -也类似其他的艺术形式,改变模型中特定部位的比例,也会影响用户解读其所描绘的对象及功能。举例来说,大头配上小身体能让角色看起来更加可爱,夸张的躯干和手臂则能表现出力量感。 +也类似其他的艺术形式,改变模型中特定部位的比例,也会影响用户解读其所描绘的对象及功能。举例来说,大头配上小身体能让角色看起来更加可爱,夸张的躯干和手臂则能表现出力量感。 教育版的 Agent vs 原版的铁傀儡 @@ -85,13 +85,13 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 ## 纹理 -### HSV(色相、饱和度、明度) +### HSV(色相、饱和度、明度) -色相(Hue)是由波长决定的色系(例:棕色变成红色或橙色,海蓝宝石色变成蓝色),它可以视作是色环中的一个点,范围是 0-360 度(环状)。 +色相(Hue)是由波长决定的色系(例:棕色变成红色或橙色,海蓝宝石色变成蓝色),它可以视作是色环中的一个点,范围是 0-360 度(环状)。 -饱和度(Saturation)是指颜色的强度,对于指定的色相,饱和度越高、色相越强,它的范围是 0-100(水平轴)。 +饱和度(Saturation)是指颜色的强度,对于指定的色相,饱和度越高、色相越强,它的范围是 0-100(水平轴)。 -明度(Value)是颜色的亮度,值越高颜色越亮,范围是 0-100(垂直轴)。 +明度(Value)是颜色的亮度,值越高颜色越亮,范围是 0-100(垂直轴)。 常见的 HSV 调节面板 @@ -99,11 +99,11 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 颜色渐变与调色板 -渐变色是单一颜色衍生而来的一系列不同亮度的集合,调色板是纹理文件中所用的所有颜色渐变的集合。你最好从中间的颜色开始创建渐变,建议先分别创建一个阴影和一个高光、加上基础的阴影,随后再添加更多颜色。 +渐变色是单一颜色衍生而来的一系列不同亮度的集合,调色板是纹理文件中所用的所有颜色渐变的集合。你最好从中间的颜色开始创建渐变,建议先分别创建一个阴影和一个高光、加上基础的阴影,随后再添加更多颜色。 -改变阴影颜色 HSV 的行为称作偏移(色相偏移、饱和度偏移、明度偏移),保持多个颜色间的跨度平衡很重要。 +改变阴影颜色 HSV 的行为称作偏移(色相偏移、饱和度偏移、明度偏移),保持多个颜色间的跨度平衡很重要。 -当我们说“线性渐变”(Straight Ramp)时,指的是一系列渐变色只做了明度的差异化。线性渐变做起来容易,但外观上过于沉闷、用到的地方不多,它们可以适用于某些材料和颜色。在下图中,左侧是线性渐变,右侧是色相偏移渐变。 +当我们说“线性渐变”(Straight Ramp)时,指的是一系列渐变色只做了明度的差异化。线性渐变做起来容易,但外观上过于沉闷、用到的地方不多,它们可以适用于某些材料和颜色。在下图中,左侧是线性渐变,右侧是色相偏移渐变。 沉闷的蜜脾 vs 鲜艳诱人的蜜脾 @@ -111,62 +111,62 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 ## 阴影 -在像素艺术尤其是 MC 的美术中,放置像素需要慎重。你有必要使用有意限制的调色板、一套没有平滑度的工具(铅笔、图形工具、填充桶以及橡皮擦),你需要明确定义材料的属性。 +在像素艺术尤其是 MC 的美术中,放置像素需要慎重。你有必要使用有意限制的调色板、一套没有平滑度的工具(铅笔、图形工具、填充桶以及橡皮擦),你需要明确定义材料的属性。 -抗锯齿(Anti-aliasing)或 AA 是一种平滑形状之间过渡的方法,你可以手动在边缘放置不同颜色的像素,下图中左侧的鸡蛋有 AA,右侧的则没有。 +抗锯齿(Anti-aliasing)或 AA 是一种平滑形状之间过渡的方法,你可以手动在边缘放置不同颜色的像素,下图中左侧的鸡蛋有 AA,右侧的则没有。 有抗锯齿处理 vs 无抗锯齿的鸡蛋 ![](_images/有抗锯齿处理vs无抗锯齿的鸡蛋.jpg) -抖动(Dithering)是一种在两个像素堆之间以特定形式交叉像素、从而实现过渡的方法,交错抖动(Checkered dithering)是最常见的一种抖动类型。 +抖动(Dithering)是一种在两个像素堆之间以特定形式交叉像素、从而实现过渡的方法,交错抖动(Checkered dithering)是最常见的一种抖动类型。 -在堆状物品的纹理中,用抖动交叉混合像素点 +在堆状物品的纹理中,用抖动交叉混合像素点 ![](_images/混合像素点.jpg) -用笔刷可以产生带噪点的纹理,但噪点不会为纹理添加任何信息,在最坏的情况下,没有上下文的噪点会让纹理变得难以识别。 +用笔刷可以产生带噪点的纹理,但噪点不会为纹理添加任何信息,在最坏的情况下,没有上下文的噪点会让纹理变得难以识别。 有上下文、可识别的纹理 vs 难以识别的纹理 ![](_images/识别纹理.jpg) -阴影有很多可能会出现的错误示范,通常是偶然的。最常见的便是条带(Banding),一系列由亮到暗排列的像素产物,无论是以直线、斜线还是边角的形式出现。之所以要避免这种情况,是因为它会暴露像素网格、分散观看者的注意力,并且会扭曲物体的形状。 +阴影有很多可能会出现的错误示范,通常是偶然的。最常见的便是条带(Banding),一系列由亮到暗排列的像素产物,无论是以直线、斜线还是边角的形式出现。之所以要避免这种情况,是因为它会暴露像素网格、分散观看者的注意力,并且会扭曲物体的形状。 -当美术试图绘制抗锯齿或难以在表面绘制阴影时,通常就会催生出条带。 +当美术试图绘制抗锯齿或难以在表面绘制阴影时,通常就会催生出条带。 原版钻石剑 vs 出现条带的钻石剑 ![](_images/钻石剑.jpg) -枕状阴影(Pillow shading)是一种类似条带的情况,通常出现于围绕中心绘制阴影、试图覆盖表面的情况。 +枕状阴影(Pillow shading)是一种类似条带的情况,通常出现于围绕中心绘制阴影、试图覆盖表面的情况。 原版桶 vs 出现枕状阴影的桶 ![](_images/桶.jpg) -煎饼式阴影(Pancake shading)是将高光、阴影放在两个对立位置的产物,它会使物体失去表面的形状。 +煎饼式阴影(Pancake shading)是将高光、阴影放在两个对立位置的产物,它会使物体失去表面的形状。 原版苹果 vs 出现煎饼式阴影的苹果 ![](_images/苹果.jpg) -不必要的抖动有很多种情况,最基础的是在过渡开始的地方过度使用抖动,以至于覆盖了太多的表面积。其他情况则包括:在不需要抖动的使用抖动、抖动在纹理中的使用不一致(随机、或只在某些地方)。 +不必要的抖动有很多种情况,最基础的是在过渡开始的地方过度使用抖动,以至于覆盖了太多的表面积。其他情况则包括:在不需要抖动的使用抖动、抖动在纹理中的使用不一致(随机、或只在某些地方)。 原版海带 vs 错用抖动的海带 ![](_images/海带.jpg) -纹理中也会出现混素,这只会在美术有意的放大纹理、继续绘制的时候发生。这么做通常是为了添加更多细节,如果 16x16 的分辨率中难以容纳更多细节,就需要重新评估整个纹理、或者看是否不没必要再添加细节。当元素的分辨率冲突时,纹理会变得不那么吸引人,看起来像是被错误的放大或缩小了。 +纹理中也会出现混素,这只会在美术有意的放大纹理、继续绘制的时候发生。这么做通常是为了添加更多细节,如果 16x16 的分辨率中难以容纳更多细节,就需要重新评估整个纹理、或者看是否不没必要再添加细节。当元素的分辨率冲突时,纹理会变得不那么吸引人,看起来像是被错误的放大或缩小了。 原版海洋之心 vs 出现混素的海洋之心 ![](_images/海洋之心.jpg) ### 线条 & 形状 -「锯齿」是像素画中由于线条/边缘未经润色、或缺少抗锯齿而出现的形状(无意中产生的边角),直线的步长需要保持一致,这样看起来就不会过于粗糙。 +「锯齿」是像素画中由于线条/边缘未经润色、或缺少抗锯齿而出现的形状(无意中产生的边角),直线的步长需要保持一致,这样看起来就不会过于粗糙。 -除了直线,曲线中也会出现锯齿,通常表现为棱角或对角线的形式(用于表现圆形)。 +除了直线,曲线中也会出现锯齿,通常表现为棱角或对角线的形式(用于表现圆形)。 直线与曲线中的锯齿表现 @@ -175,24 +175,24 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 ### 物品纹理 所有绘制的物品都应该适配 16x16 网格。 -首先用中间色调画出物品的基础形状,并给它加上一个深色的轮廓 +首先用中间色调画出物品的基础形状,并给它加上一个深色的轮廓 -添加高光和阴影,想象左上角有个光源照射物体,相应的也要为轮廓着色 +添加高光和阴影,想象左上角有个光源照射物体,相应的也要为轮廓着色 -添加调色板剩下的部分,补充更多高光和阴影的细节 +添加调色板剩下的部分,补充更多高光和阴影的细节 -添加一些表面的属性,比如下面的例子中,物品是半透明、光滑的绿宝石。其他情况下,属性可能是粗糙、裂纹、褶皱、脏污的…… +添加一些表面的属性,比如下面的例子中,物品是半透明、光滑的绿宝石。其他情况下,属性可能是粗糙、裂纹、褶皱、脏污的…… 画出基础形状 > 添加高光阴影 > 补充更多细节 > 凸显表面属性 ![](_images/物品纹理.jpg) ### 方块纹理 -对方块纹理的要求不同于物品,方块纹理既需要考虑其单独出现,也需要考虑相邻放置的情况。将多个同类方块紧贴放置的行为称作「平铺」,如果在视觉上能感到纹理中有部分显著重复、凸显出平铺的图案,这种情况就需要加以纠正了。 +对方块纹理的要求不同于物品,方块纹理既需要考虑其单独出现,也需要考虑相邻放置的情况。将多个同类方块紧贴放置的行为称作「平铺」,如果在视觉上能感到纹理中有部分显著重复、凸显出平铺的图案,这种情况就需要加以纠正了。 -你可以直接用 Blockbench 制作方块纹理(使用 Paint 模式)、或只是用于实时 3D 预览你在外部图像编辑器创建的纹理。如果你想预览平铺的效果,最推荐的方法是创建一面 3x3 方块构成的墙。 +你可以直接用 Blockbench 制作方块纹理(使用 Paint 模式)、或只是用于实时 3D 预览你在外部图像编辑器创建的纹理。如果你想预览平铺的效果,最推荐的方法是创建一面 3x3 方块构成的墙。 -在大量绘制阴影之前,你最好检查平铺的效果,有两三种色调的纹理的早期版本就够用了。检查完平铺之后,你可以继续着色,但别忘了这之后也要定期检查平铺。 +在大量绘制阴影之前,你最好检查平铺的效果,有两三种色调的纹理的早期版本就够用了。检查完平铺之后,你可以继续着色,但别忘了这之后也要定期检查平铺。 你可以用 3x3 的墙体实时预览方块纹理的平铺效果 @@ -200,15 +200,15 @@ MC 中方块的尺寸是 16x16x16 像素,对应 1 立方米,单个像素长 ### 实体纹理 -实体纹理会用到箱形 UV 贴图,遵循一套特殊的纹理准则。实体的顶部和正面要比底部和背面更亮,这适用于单独为面着色、以及相对于其他面的着色(例:顶面明显会比底面更亮) +实体纹理会用到箱形 UV 贴图,遵循一套特殊的纹理准则。实体的顶部和正面要比底部和背面更亮,这适用于单独为面着色、以及相对于其他面的着色(例:顶面明显会比底面更亮) -为了让绘制纹理的过程更轻松,先生成纹理模版,Blockbench 也会自动映射好元素 +为了让绘制纹理的过程更轻松,先生成纹理模版,Blockbench 也会自动映射好元素 -画出不同颜色的分布,添加阴影和高光 +画出不同颜色的分布,添加阴影和高光 在其中添加更多色调 -通过编辑特定色调像素堆的相对位置来定义材质,消除前面步骤中的条带和其他的阴影产物 +通过编辑特定色调像素堆的相对位置来定义材质,消除前面步骤中的条带和其他的阴影产物 生成纹理模板 > 画出颜色与高光阴影 > 添加更多细节 > 表现出材质效果 diff --git a/docs/process/dashboard.md b/docs/process/dashboard.md index 80546a6a4..74ef8d727 100644 --- a/docs/process/dashboard.md +++ b/docs/process/dashboard.md @@ -15,7 +15,7 @@ sidebar_position: 2 # MCSManager -MCSManager是一款免费,易用,现代化的游戏服务器管理面板,非常适合小白 +MCSManager是一款免费,易用,现代化的游戏服务器管理面板,非常适合小白 ## 下载与安装 @@ -43,7 +43,7 @@ sudo su -c "wget -qO- https://script.mcsmanager.com/setup_cn.sh | bash" ```shell # 先启动面板守护进程。 -# 这是用于进程控制,终端管理的服务进程。 +# 这是用于进程控制,终端管理的服务进程。 systemctl start mcsm-daemon.service # 再启动面板 Web 服务。 # 这是用来实现支持网页访问和用户管理的服务。 @@ -60,19 +60,19 @@ systemctl stop mcsm-daemon.service :::tip -如果 `systemctl` 命令无法启动面板,或无法获得sudo权限,可以参考下文的 `手动安装` 中的 `启动方式` 来启动 MCSManager。 但这需要你用其他后台运行程序(比如screen)来接管它,否则当你的 `SSH` 终端断开之时,手动启动的 MCSManager 面板也会随之被系统强制结束。 +如果 `systemctl` 命令无法启动面板,或无法获得sudo权限,可以参考下文的 `手动安装` 中的 `启动方式` 来启动 MCSManager。 但这需要你用其他后台运行程序(比如screen)来接管它,否则当你的 `SSH` 终端断开之时,手动启动的 MCSManager 面板也会随之被系统强制结束。 -面板 Web 服务是提供用户管理与网页访问功能的服务,守护进程是提供进程管理和容器管理的服务,两者缺一不可。如果某个功能不正常,可以只重启这一部分的服务来热修复问题。 +面板 Web 服务是提供用户管理与网页访问功能的服务,守护进程是提供进程管理和容器管理的服务,两者缺一不可。如果某个功能不正常,可以只重启这一部分的服务来热修复问题。 ::: #### 手动安装 ```shell -# 切换到安装目录,你也可以换成其他的目录。 +# 切换到安装目录,你也可以换成其他的目录。 cd /opt/ -# 下载 NodeJS 运行时环境,如果你已经安装了 NodeJS,请忽略此步骤。 +# 下载 NodeJS 运行时环境,如果你已经安装了 NodeJS,请忽略此步骤。 wget https://nodejs.org/dist/v20.11.0/node-v20.11.0-linux-x64.tar.xz tar -xvf node-v20.11.0-linux-x64.tar.xz @@ -84,7 +84,7 @@ ln -s /opt/node-v20.11.0-linux-x64/bin/npm /usr/bin/npm mkdir /opt/mcsmanager/ cd /opt/mcsmanager/ -# 下载 MCSManager(如果无法下载可以先科学上网下载再上传到服务器) +# 下载 MCSManager(如果无法下载可以先科学上网下载再上传到服务器) wget https://github.com/MCSManager/MCSManager/releases/latest/download/mcsmanager_linux_release.tar.gz # 解压到安装目录 @@ -104,7 +104,7 @@ tar -zxf mcsmanager_linux_release.tar.gz # 安装依赖库 ./install.sh -# 请使用 Screen 程序打开两个终端窗口(或者其他接管程序) +# 请使用 Screen 程序打开两个终端窗口(或者其他接管程序) # 先启动节点程序 ./start-daemon.sh @@ -113,7 +113,7 @@ tar -zxf mcsmanager_linux_release.tar.gz ./start-web.sh # 为网络界面访问 http://localhost:23333/ -# 一般来说,网络应用会自动扫描并连接到本地守护进程。 +# 一般来说,网络应用会自动扫描并连接到本地守护进程。 # 默认需要开放的端口:23333 和 24444 ``` diff --git a/docs/process/deploy/apply-for-public-ip-address.md b/docs/process/deploy/apply-for-public-ip-address.md index dc1bd703e..35fe8b752 100644 --- a/docs/process/deploy/apply-for-public-ip-address.md +++ b/docs/process/deploy/apply-for-public-ip-address.md @@ -4,7 +4,7 @@ sidebar_position: 5 --- :::tip -申请公网IP是一件非常非常头疼的事,你可能需要折腾很多步骤,和运营商扯皮,甚至动用你的人脉。 +申请公网IP是一件非常非常头疼的事,你可能需要折腾很多步骤,和运营商扯皮,甚至动用你的人脉。 ::: @@ -15,15 +15,15 @@ sidebar_position: 5 ## IPv4 的枯竭和 IPv6 推广的层层阻力 -从 IPv4 的格式可以看出,IPv4 共可以表示 4,294,967,296(40亿)个地址。然而由于一些特殊的规定,如`192.168`开头的IP地址只能用于内网,实际可以分配给互联网上计算机的IP地址远比总量要少。本来 40 亿地址就不够地球上 70 亿人每人一个,更不幸的是,这些 IP 地址的分配还不均匀。美国的国防部和贝尔实验室就拥有上亿个 IPv4 地址,至于整个中国大陆拥有约 4 亿个,虽然很多,但是远不够 14 亿人分配。为了让 IPv4 够分,出现了 NAT 技术。 NAT 的原理是将一些电脑组成一个局域网,然后不给它们分配公网IP,只让自己拥有公网 IP。那没有在公网上的 IP 地址怎么给访问公网上其他的服务器呢? NAT 的网关就给局域网中的所有电脑都分配局域网 IP,然后让它们在访问互联网时经过自己。而被访问的服务器也是需要客户端的IP地址和端口的,此时 NAT 的网关就将客户端的端口绑定到自己公网IP的一个端口,这样对于服务器来说,就是 NAT 网关把自己假扮成了客户端,然后应客户端的要求和服务器进行通信。 +从 IPv4 的格式可以看出,IPv4 共可以表示 4,294,967,296(40亿)个地址。然而由于一些特殊的规定,如`192.168`开头的IP地址只能用于内网,实际可以分配给互联网上计算机的IP地址远比总量要少。本来 40 亿地址就不够地球上 70 亿人每人一个,更不幸的是,这些 IP 地址的分配还不均匀。美国的国防部和贝尔实验室就拥有上亿个 IPv4 地址,至于整个中国大陆拥有约 4 亿个,虽然很多,但是远不够 14 亿人分配。为了让 IPv4 够分,出现了 NAT 技术。 NAT 的原理是将一些电脑组成一个局域网,然后不给它们分配公网IP,只让自己拥有公网 IP。那没有在公网上的 IP 地址怎么给访问公网上其他的服务器呢? NAT 的网关就给局域网中的所有电脑都分配局域网 IP,然后让它们在访问互联网时经过自己。而被访问的服务器也是需要客户端的IP地址和端口的,此时 NAT 的网关就将客户端的端口绑定到自己公网IP的一个端口,这样对于服务器来说,就是 NAT 网关把自己假扮成了客户端,然后应客户端的要求和服务器进行通信。 -这样电脑访问互联网上服务器的需求就解决了,可是如果 NAT 的局域网里有服务器该怎么办?这个服务器没有被分配到公网 IP,其他客户端用什么访问他? NAT 有两种方式可以实现服务器在公网提供服务:第一种叫端口映射, NAT 网关主动把自己在公网上的一个端口的流量转发到局域网中对应IP的指定端口,这样局域网中特定服务器的特定端口就是 NAT 网关的公网IP上的一个端口,公网上其他客户端直接访问这个公网IP的这个端口,就可以访问到那个服务器上的特定服务了,这样就实现了 NAT 中的服务器将自己的端口开放到公网。第二种叫 NAT 打洞,与第一种方法不同的是,第一种 NAT 需要主动把服务器的局域网IP上的端口和自己在公网IP上的端口进行绑定,而这种方法完全不需要 NAT 主动做任何操作,只需要他进行正常的转换就可以了。上文提到 NAT 为了让局域网中的电脑访问公网上的服务器,需要把自己的指定端口和指定内网IP上的端口之间的流量进行转发,双方就可以进行双向通信了。那么就可以利用 NAT 的这个特性,首先让局域网中的服务器访问公网上的另一台服务器,让 NAT 去接上这根线,再让客户端也去访问公网上的那台服务器,让它的 NAT 也建立这个连接。两边连接建立好后,这个服务器告诉双方彼此的 NAT 为这些连接准备的端口号,双方就可以通过彼此的IP地址和已经接好的这根线,透过 NAT 愉快地连接了。 +这样电脑访问互联网上服务器的需求就解决了,可是如果 NAT 的局域网里有服务器该怎么办?这个服务器没有被分配到公网 IP,其他客户端用什么访问他? NAT 有两种方式可以实现服务器在公网提供服务:第一种叫端口映射, NAT 网关主动把自己在公网上的一个端口的流量转发到局域网中对应IP的指定端口,这样局域网中特定服务器的特定端口就是 NAT 网关的公网IP上的一个端口,公网上其他客户端直接访问这个公网IP的这个端口,就可以访问到那个服务器上的特定服务了,这样就实现了 NAT 中的服务器将自己的端口开放到公网。第二种叫 NAT 打洞,与第一种方法不同的是,第一种 NAT 需要主动把服务器的局域网IP上的端口和自己在公网IP上的端口进行绑定,而这种方法完全不需要 NAT 主动做任何操作,只需要他进行正常的转换就可以了。上文提到 NAT 为了让局域网中的电脑访问公网上的服务器,需要把自己的指定端口和指定内网IP上的端口之间的流量进行转发,双方就可以进行双向通信了。那么就可以利用 NAT 的这个特性,首先让局域网中的服务器访问公网上的另一台服务器,让 NAT 去接上这根线,再让客户端也去访问公网上的那台服务器,让它的 NAT 也建立这个连接。两边连接建立好后,这个服务器告诉双方彼此的 NAT 为这些连接准备的端口号,双方就可以通过彼此的IP地址和已经接好的这根线,透过 NAT 愉快地连接了。 -随着互联网的发展,越来越多的人拥有了网络终端,而每个网络终端都需要一个IP地址来访问互联网。 NAT 技术出现后,很多路由器都具备了这个功能,因此每家只需要在自己办的宽带上接一个有AT 功能的路由器,然后把自己所有要上网的设备连接到这个路由器,就可以实现每户人家只需要一个 IPv4 地址。然而这样的人家越来越多,就算一家只给一个 IPv4 地址然后让所有人自行准备路由器来搭建 NAT , IPv4 地址也已经不够分了。于是运营商想了一个办法,他们自己准备了 NAT 网关,把几户人家的网线接到这个 NAT 网关下,就实现了这几户共用同一个公网IP。这下对于运营商来说,公网IP终于是够用了。可是对于这几户人家来说,自己搭建服务器却成了难题:虽然能控制自己的 NAT 网关,却无法控制运营商的 NAT 网关,由于端口映射需要 NAT 网关主动,这个方案就用不了了。此时 NAT 打洞的方案仍然可行,可是这个方案对于联网用途本身要求很高,首先它需要服务端和客户端软件都支持特定的 NAT 打洞方式,而且它还需要服务端和客户端采用特殊的协议进行通信,对于现有的大部分从未考虑过 NAT 打洞方案的软件来说,这个办法也行不通。就这样,被接到运营商的 NAT 下的设备就几乎都失去了成为服务器的能力。不过还好IP地址没到非常稀缺的程度,现在仍然有一些宽带可以分配到公网 IP,也就能掌握位于公网的 NAT 网关的控制权,并通过端口映射方案在局域网中搭建服务器。 +随着互联网的发展,越来越多的人拥有了网络终端,而每个网络终端都需要一个IP地址来访问互联网。 NAT 技术出现后,很多路由器都具备了这个功能,因此每家只需要在自己办的宽带上接一个有AT 功能的路由器,然后把自己所有要上网的设备连接到这个路由器,就可以实现每户人家只需要一个 IPv4 地址。然而这样的人家越来越多,就算一家只给一个 IPv4 地址然后让所有人自行准备路由器来搭建 NAT , IPv4 地址也已经不够分了。于是运营商想了一个办法,他们自己准备了 NAT 网关,把几户人家的网线接到这个 NAT 网关下,就实现了这几户共用同一个公网IP。这下对于运营商来说,公网IP终于是够用了。可是对于这几户人家来说,自己搭建服务器却成了难题:虽然能控制自己的 NAT 网关,却无法控制运营商的 NAT 网关,由于端口映射需要 NAT 网关主动,这个方案就用不了了。此时 NAT 打洞的方案仍然可行,可是这个方案对于联网用途本身要求很高,首先它需要服务端和客户端软件都支持特定的 NAT 打洞方式,而且它还需要服务端和客户端采用特殊的协议进行通信,对于现有的大部分从未考虑过 NAT 打洞方案的软件来说,这个办法也行不通。就这样,被接到运营商的 NAT 下的设备就几乎都失去了成为服务器的能力。不过还好IP地址没到非常稀缺的程度,现在仍然有一些宽带可以分配到公网 IP,也就能掌握位于公网的 NAT 网关的控制权,并通过端口映射方案在局域网中搭建服务器。 -造成以上种种现象的根本原因,其实就是 IPv4 太少了。为了解决这种现象, IPv6 特意加长了表示方式,看那长长的地址就知道, IPv6 的地址肯定是用不完了。事实上, IPv6 的地址一共有 3.4 百万亿亿亿亿个,确实是分不完啊!难怪会有人说地球上的每一粒沙子都能分配到一个 IPv6 地址。 IPv6 的出现打破了层层 NAT 的现状,让每台电脑都能重新获得公网IP。然而 IPv6 由于和 IPv4 不兼容,在推广时遇到了大难题。首先是现有的老旧设备需要更新,因为它们不支持新的 IPv6 协议。很多软件也需要大改,因为它们是专为 IPv4 设计的。要从 IPv4 更换到 IPv6 ,所需要进行的工作极其庞大,所以出现了 IPv4 和 IPv6 共存的方案,即双栈网络。支持双栈的设备既可以使用 IPv4 工作也可以使用 IPv6 工作,而且为了加速 IPv4 的淘汰,很多设备会刻意地默认使用 IPv6 上网,在 IPv6 无法使用时再使用 IPv4 。就这样,一段漫长的过渡阶段开始了。越来越多的设备和网络开始支持 IPv6 ,可 IPv4 始 终无法淘汰,因为旧设备和旧软件实在是太多了。 +造成以上种种现象的根本原因,其实就是 IPv4 太少了。为了解决这种现象, IPv6 特意加长了表示方式,看那长长的地址就知道, IPv6 的地址肯定是用不完了。事实上, IPv6 的地址一共有 3.4 百万亿亿亿亿个,确实是分不完啊!难怪会有人说地球上的每一粒沙子都能分配到一个 IPv6 地址。 IPv6 的出现打破了层层 NAT 的现状,让每台电脑都能重新获得公网IP。然而 IPv6 由于和 IPv4 不兼容,在推广时遇到了大难题。首先是现有的老旧设备需要更新,因为它们不支持新的 IPv6 协议。很多软件也需要大改,因为它们是专为 IPv4 设计的。要从 IPv4 更换到 IPv6 ,所需要进行的工作极其庞大,所以出现了 IPv4 和 IPv6 共存的方案,即双栈网络。支持双栈的设备既可以使用 IPv4 工作也可以使用 IPv6 工作,而且为了加速 IPv4 的淘汰,很多设备会刻意地默认使用 IPv6 上网,在 IPv6 无法使用时再使用 IPv4 。就这样,一段漫长的过渡阶段开始了。越来越多的设备和网络开始支持 IPv6 ,可 IPv4 始 终无法淘汰,因为旧设备和旧软件实在是太多了。 -可是近年来,据说 IPv6 的更新速度减缓了,据说主要是运营商尝到了 NAT 的甜头,因为套上运营商 NAT 后,用户就无法自行搭建服务器了,这样用户既不会用家用宽带提供未经审查的服务,也会被迫花更多钱去运营商那里购买昂贵的商用宽带,总地来说就是处处都利好了运营商,让他们既能给自己降低维护成本,又能让用户多给他们花钱。 +可是近年来,据说 IPv6 的更新速度减缓了,据说主要是运营商尝到了 NAT 的甜头,因为套上运营商 NAT 后,用户就无法自行搭建服务器了,这样用户既不会用家用宽带提供未经审查的服务,也会被迫花更多钱去运营商那里购买昂贵的商用宽带,总地来说就是处处都利好了运营商,让他们既能给自己降低维护成本,又能让用户多给他们花钱。
@@ -32,20 +32,20 @@ sidebar_position: 5 ## 开通IPv6 -通常来说国内手机流量(移动数据)的网络环境在绝大部分地区已经支持 IPv6 。然而由于设备老旧或配置不当等原因,很多宽带(例如家里办的宽带,网吧、酒店、饭店等公共场所的免费 Wi-Fi )都仍然不支持 IPv6 。如果你想知道自己正在使用的网络是否支持 IPv6 ,可以访问这两个网站:ipw.cn 和 testipv6.cn,它们会告诉你你现在的网络对 IPv6 的支持情况。如果你的网络还不支持 IPv6 ,你可能需要自行操作来开启。由于开通 IPv6 仅仅是一个开关,但是接触到这个开关的途径每个运营商、厂商和路由器品牌的方式都不同。下面仅给出2024年一种可能的方式,如果其中有步骤失效,可以上网搜索其他实现该步骤的方法,或者直接上网搜索其他方法操作。 -1. 检查是否已经有 IPv6 :如果是 Windows 系统,先打开任务管理器,点击性能选项卡,侧边栏找到以太网点击,下面的信息如果有显示 IPv6 地址,而且前缀不是`fe80`,那基本就证明是已经有 IPv6 了。国内绝大多数都是 `2408` `2409` `240e` 开头,如果是其他的你也可以百度一下这个开头,没有说是内网地址或者虚拟机就行 -2. 检查宽带是否有开通 IPv6 的条件,如果还不支持 IPv6 那么无法开通,只能换家运营商或者等运营商方面升级。有的时候宽带已经支持 IPv6 ,但是路由器并没有开启。路由器如何开启 IPv6 可以百度搜索路由器品牌+怎么开 IPv6 。这里给出常见的华为路由器和tplink路由器的开启方法 - - 华为路由器:登录后台之后,点击顶部更多功能,侧边栏找到网络设置点击展开,选择 IPv6 ,打开开关,下面所有选项全选择自动配置,点击保存。切换到侧边栏里面的路由器信息页面,如果 IPv6 那一段显示出来的地址里面有不是`fe80`这种的 IPv6 地址(可能也会有fe80开头的,别全都是就行),那就是成功开启了 IPv6 。 - - tplink路由器:登录后台后点击底部路由设置,侧边栏找到 IPv6 设置点击, IPv6 功能调整为开启,WAN口连接类型选择自动获取IP地址,点击保存。我没有tplink路由器,不清楚怎么找 IPv6 地址,总之找到 IPv6 地址之后,跟上段华为路由器要求的效果一样就行。 -如果按照上面的方法设置之后路由器里也显示fe80的地址,证明你的光猫也需要配置,或者宽带不支持 IPv6 。现在仍然有一些小运营商和一些地区不支持 IPv6 ,因为网络铺设的成本在那, IPv6 的普及还需要时间。 -3. 检查路由器的上网方式:此时先打开路由器的后台,查看路由器的上网方式。不会操作可以百度路由器品牌+怎么设置拨号上网。华为路由器点击顶部“我要上网”就可以看到上网方式,TP-Link路由器点击底部路由设置,侧边栏找到上网设置,就可以看到上网方式。如果这一步设置的是 DDNS(自动获取IP地址),那就需要修改光猫设置。如果这一步设置的已经是拨号上网(PPPOE),那就证明你的运营商没有给你开 IPv6 或者不支持 IPv6 ,你就可以直接跳过下面修改光猫的步骤,直接跟运营商报修说要开通 IPv6 。 -4. 修改光猫为桥接:下面需要修改光猫设置。如果安装师傅没给你超级密码,此时有以下三种解决办法: - 1. (成功率最高,但需要花钱)在某宝某多搜索“光猫超级密码”,会有很多破解光猫超级密码的服务。这里有没有水深的情况我不清楚,我也没研究过,但是确实有些人在用这个途径,比较有效。 - 2. (完全自行操作,社恐患者福音)在搜索引擎搜索自己的运营商+光猫品牌+超级密码,然后在光猫后台挨个试。这是一个很漫长的过程,因为每个地区的运营商的默认超级密码都不同,甚至有可能你那边的运营商给你的密码是完全随机的,因此你在网上找到的大多数密码可能都不能用。 -有了超级密码之后,登录光猫后台,先记下原来的帐号密码,然后将上网方式修改为桥接。运营商的光猫型号众多,没有主流的后台界面,这里需要大家上网搜索光猫型号(在光猫的外壳,后台界面,底部的铭牌都有可能看到)+怎么改桥接,并根据实际情况灵活应对。这里对动手能力要求很高,单凭这个教程很难讲明白。 - 3. 如果你搞不到超级密码,也可以直接报修,跟安装师傅说你要改桥接。大部分都会直接给改,一部分运营商的安装师傅会说需要给你报备,我家这个就是,我电话说完之后他说要给我报备,报备之后才能改桥接。 -5. 使用路由器拨号:光猫改成桥接之后,进入路由器后台,将按上文查看上网方式的方法找到上网方式,改成拨号上网(PPPoE),填入在光猫后台找到的帐号密码并保存。此时你家宽带的质量应该会有所提升,毕竟这次网关给到了路由器,自己的路由器性能一般都比运营商给的那个光猫的要好。此外一部分用联通电信宽带的路由器应该会直接有 IPv4 公网了。如果你是联通电信但仍然没有 IPv4 公网,可以报修说让他给开一下,一些地方是可以给开的,一些地方会要求额外收费,或者直接不给开,毕竟 IPv4 资源紧缺,运营商能靠商宽捞一笔。这时候再去查看 IPv6 的情况,如果仍然没有,就可能是需要联系运营商开,或者运营商不支持了。 -6. 折腾完路由器之后,回到服务器上,任务管理器里应该就显示公网v6地址了。要测试这个v6是不是真的生效了,可以访问ipw.cn或testipv6.cn测试。 +通常来说国内手机流量(移动数据)的网络环境在绝大部分地区已经支持 IPv6 。然而由于设备老旧或配置不当等原因,很多宽带(例如家里办的宽带,网吧、酒店、饭店等公共场所的免费 Wi-Fi )都仍然不支持 IPv6 。如果你想知道自己正在使用的网络是否支持 IPv6 ,可以访问这两个网站:ipw.cn 和 testipv6.cn,它们会告诉你你现在的网络对 IPv6 的支持情况。如果你的网络还不支持 IPv6 ,你可能需要自行操作来开启。由于开通 IPv6 仅仅是一个开关,但是接触到这个开关的途径每个运营商、厂商和路由器品牌的方式都不同。下面仅给出2024年一种可能的方式,如果其中有步骤失效,可以上网搜索其他实现该步骤的方法,或者直接上网搜索其他方法操作。 +1. 检查是否已经有 IPv6 :如果是 Windows 系统,先打开任务管理器,点击性能选项卡,侧边栏找到以太网点击,下面的信息如果有显示 IPv6 地址,而且前缀不是`fe80`,那基本就证明是已经有 IPv6 了。国内绝大多数都是 `2408` `2409` `240e` 开头,如果是其他的你也可以百度一下这个开头,没有说是内网地址或者虚拟机就行 +2. 检查宽带是否有开通 IPv6 的条件,如果还不支持 IPv6 那么无法开通,只能换家运营商或者等运营商方面升级。有的时候宽带已经支持 IPv6 ,但是路由器并没有开启。路由器如何开启 IPv6 可以百度搜索路由器品牌+怎么开 IPv6 。这里给出常见的华为路由器和tplink路由器的开启方法 + - 华为路由器:登录后台之后,点击顶部更多功能,侧边栏找到网络设置点击展开,选择 IPv6 ,打开开关,下面所有选项全选择自动配置,点击保存。切换到侧边栏里面的路由器信息页面,如果 IPv6 那一段显示出来的地址里面有不是`fe80`这种的 IPv6 地址(可能也会有fe80开头的,别全都是就行),那就是成功开启了 IPv6 。 + - tplink路由器:登录后台后点击底部路由设置,侧边栏找到 IPv6 设置点击, IPv6 功能调整为开启,WAN口连接类型选择自动获取IP地址,点击保存。我没有tplink路由器,不清楚怎么找 IPv6 地址,总之找到 IPv6 地址之后,跟上段华为路由器要求的效果一样就行。 +如果按照上面的方法设置之后路由器里也显示fe80的地址,证明你的光猫也需要配置,或者宽带不支持 IPv6 。现在仍然有一些小运营商和一些地区不支持 IPv6 ,因为网络铺设的成本在那, IPv6 的普及还需要时间。 +3. 检查路由器的上网方式:此时先打开路由器的后台,查看路由器的上网方式。不会操作可以百度路由器品牌+怎么设置拨号上网。华为路由器点击顶部“我要上网”就可以看到上网方式,TP-Link路由器点击底部路由设置,侧边栏找到上网设置,就可以看到上网方式。如果这一步设置的是 DDNS(自动获取IP地址),那就需要修改光猫设置。如果这一步设置的已经是拨号上网(PPPOE),那就证明你的运营商没有给你开 IPv6 或者不支持 IPv6 ,你就可以直接跳过下面修改光猫的步骤,直接跟运营商报修说要开通 IPv6 。 +4. 修改光猫为桥接:下面需要修改光猫设置。如果安装师傅没给你超级密码,此时有以下三种解决办法: + 1. (成功率最高,但需要花钱)在某宝某多搜索“光猫超级密码”,会有很多破解光猫超级密码的服务。这里有没有水深的情况我不清楚,我也没研究过,但是确实有些人在用这个途径,比较有效。 + 2. (完全自行操作,社恐患者福音)在搜索引擎搜索自己的运营商+光猫品牌+超级密码,然后在光猫后台挨个试。这是一个很漫长的过程,因为每个地区的运营商的默认超级密码都不同,甚至有可能你那边的运营商给你的密码是完全随机的,因此你在网上找到的大多数密码可能都不能用。 +有了超级密码之后,登录光猫后台,先记下原来的帐号密码,然后将上网方式修改为桥接。运营商的光猫型号众多,没有主流的后台界面,这里需要大家上网搜索光猫型号(在光猫的外壳,后台界面,底部的铭牌都有可能看到)+怎么改桥接,并根据实际情况灵活应对。这里对动手能力要求很高,单凭这个教程很难讲明白。 + 3. 如果你搞不到超级密码,也可以直接报修,跟安装师傅说你要改桥接。大部分都会直接给改,一部分运营商的安装师傅会说需要给你报备,我家这个就是,我电话说完之后他说要给我报备,报备之后才能改桥接。 +5. 使用路由器拨号:光猫改成桥接之后,进入路由器后台,将按上文查看上网方式的方法找到上网方式,改成拨号上网(PPPoE),填入在光猫后台找到的帐号密码并保存。此时你家宽带的质量应该会有所提升,毕竟这次网关给到了路由器,自己的路由器性能一般都比运营商给的那个光猫的要好。此外一部分用联通电信宽带的路由器应该会直接有 IPv4 公网了。如果你是联通电信但仍然没有 IPv4 公网,可以报修说让他给开一下,一些地方是可以给开的,一些地方会要求额外收费,或者直接不给开,毕竟 IPv4 资源紧缺,运营商能靠商宽捞一笔。这时候再去查看 IPv6 的情况,如果仍然没有,就可能是需要联系运营商开,或者运营商不支持了。 +6. 折腾完路由器之后,回到服务器上,任务管理器里应该就显示公网v6地址了。要测试这个v6是不是真的生效了,可以访问ipw.cn或testipv6.cn测试。 自此服务器的 IPv6 已经全部配置完毕了。 @@ -53,96 +53,96 @@ sidebar_position: 5 ## 为家里的宽带申请公网 IPv4 -由于 IPv4 地址枯竭,家用宽带中的服务器基本都处于 NAT 网络下。我的世界服务器由于本身不支持 NAT 打洞功能,所以只有端口映射一个办法可用。为了能进行端口映射,你需要获得公网上 NAT 网关的控制权。 +由于 IPv4 地址枯竭,家用宽带中的服务器基本都处于 NAT 网络下。我的世界服务器由于本身不支持 NAT 打洞功能,所以只有端口映射一个办法可用。为了能进行端口映射,你需要获得公网上 NAT 网关的控制权。 -### 找到主路由(NAT 网关) +### 找到主路由(NAT 网关) 首先你必须要找到这个 NAT 网关的位置。 -现在找到你家里的弱电箱,也就是放“猫”的位置,那里肯定有一个运营商借你们的网络设备“猫”,现在新建的小区楼里一般家用网络都是通过光纤接入互联网,这种连接方式叫光纤入户。如果弱电箱里有一根黄色的细线,那就是光纤,而它连接的“猫”就是“光猫”。 +现在找到你家里的弱电箱,也就是放“猫”的位置,那里肯定有一个运营商借你们的网络设备“猫”,现在新建的小区楼里一般家用网络都是通过光纤接入互联网,这种连接方式叫光纤入户。如果弱电箱里有一根黄色的细线,那就是光纤,而它连接的“猫”就是“光猫”。 -有时光猫上带有天线,自己就可以发射 Wi-Fi 信号,而有的光猫只是一个小盒子,上面需要另外接一个用来发射 Wi-Fi 信号的路由器才能让自己家有 Wi-Fi 。 +有时光猫上带有天线,自己就可以发射 Wi-Fi 信号,而有的光猫只是一个小盒子,上面需要另外接一个用来发射 Wi-Fi 信号的路由器才能让自己家有 Wi-Fi 。 你家网络的 NAT 网关肯定就在光猫和那个路由器之间。 #### 进入路由器后台 -为了知道究竟哪个是最上游的 NAT 网关,你必须要进入其中一个设备的后台。网关的后台是一个只能由它下面的设备访问的网站。这个网站可以通过路由器的局域网IP地址访问,使用任何一个连接到家里 Wi-Fi 的设备都可以查看这个IP地址,而由于不同品牌和系统的设备查看的方法不一样,可以上网搜索“路由器的ip地址怎么看”,可以找到大量相关教程。 +为了知道究竟哪个是最上游的 NAT 网关,你必须要进入其中一个设备的后台。网关的后台是一个只能由它下面的设备访问的网站。这个网站可以通过路由器的局域网IP地址访问,使用任何一个连接到家里 Wi-Fi 的设备都可以查看这个IP地址,而由于不同品牌和系统的设备查看的方法不一样,可以上网搜索“路由器的ip地址怎么看”,可以找到大量相关教程。
- 点击展开 Windows,MacOS,Linux,iOS 和原生安卓的操作教程 + 点击展开 Windows,MacOS,Linux,iOS 和原生安卓的操作教程 -- Windows:打开控制面板(不知道怎么打开就按Win+R然后输入Ctrl回车),点击网络和共享中心,查看活动网络下面会有一个网络几(可能也叫别的名,反正就会显示一个网络),点击右边那趟连接右边的蓝字,会弹出窗口“xxx状态”,点击详细信息再弹出一个窗口,里面的 IPv4 默认网关就是路由器的 IP 地址。 -- MacOS:打开设置(不知道的就点击菜单栏上苹果菜单展开点系统设置,旧版系统叫系统偏好设置),点击网络,然后里面哪个绿灯了就点哪个,点进去之后点击右边有一个叫详细信息的按钮,点击会弹窗,左边选择TCP/IP,右边显示的路由器那个地址就是自己的路由器地址。 -- Linux:执行`ip route`命令,第一行输出就是路由器 IP 地址。 -- iOS:进入设置,进入 WLAN ,自己已经连接的 Wi-Fi 右侧会有一个蓝色的i,往下翻,路由器那行的 IP 地址就是路由器地址。 -- 原生安卓:进入设置,进入网络和互联网,旧版系统进入WLAN,新版系统进入互联网,点击连接的那个 Wi-Fi 右边的齿轮,往下翻会有一个网关(如果没有但是有个高级就把那个高级展开),网关显示的就是路由器的地址。 +- Windows:打开控制面板(不知道怎么打开就按Win+R然后输入Ctrl回车),点击网络和共享中心,查看活动网络下面会有一个网络几(可能也叫别的名,反正就会显示一个网络),点击右边那趟连接右边的蓝字,会弹出窗口“xxx状态”,点击详细信息再弹出一个窗口,里面的 IPv4 默认网关就是路由器的 IP 地址。 +- MacOS:打开设置(不知道的就点击菜单栏上苹果菜单展开点系统设置,旧版系统叫系统偏好设置),点击网络,然后里面哪个绿灯了就点哪个,点进去之后点击右边有一个叫详细信息的按钮,点击会弹窗,左边选择TCP/IP,右边显示的路由器那个地址就是自己的路由器地址。 +- Linux:执行`ip route`命令,第一行输出就是路由器 IP 地址。 +- iOS:进入设置,进入 WLAN ,自己已经连接的 Wi-Fi 右侧会有一个蓝色的i,往下翻,路由器那行的 IP 地址就是路由器地址。 +- 原生安卓:进入设置,进入网络和互联网,旧版系统进入WLAN,新版系统进入互联网,点击连接的那个 Wi-Fi 右边的齿轮,往下翻会有一个网关(如果没有但是有个高级就把那个高级展开),网关显示的就是路由器的地址。
-把设备通过 Wi-Fi 或者网线连接到家里的宽带网络上后,直接进入浏览器,输入路由器的IP地址访问,就可以进入到路由器的后台页面。如果连不上去,首先确认自己是否真正连上了家里的网络,比如手机有没有连上 Wi-Fi ,或者连上 Wi-Fi 后有没有因为各种原因而仍然在使用流量。 +把设备通过 Wi-Fi 或者网线连接到家里的宽带网络上后,直接进入浏览器,输入路由器的IP地址访问,就可以进入到路由器的后台页面。如果连不上去,首先确认自己是否真正连上了家里的网络,比如手机有没有连上 Wi-Fi ,或者连上 Wi-Fi 后有没有因为各种原因而仍然在使用流量。 -成功进入后台之后,你首先要确认你进入的这个后台究竟是你自己的路由器,还是那个光猫。如果你进入了光猫的后台,那么网站上一般会标着运营商大大的 logo,如果你进入了路由器,那么网站上一般只会标着路由器品牌的 logo,而没有运营商的 logo。 +成功进入后台之后,你首先要确认你进入的这个后台究竟是你自己的路由器,还是那个光猫。如果你进入了光猫的后台,那么网站上一般会标着运营商大大的 logo,如果你进入了路由器,那么网站上一般只会标着路由器品牌的 logo,而没有运营商的 logo。 #### 登录路由器后台 -这时路由器一般会提示你输入密码。我相信有很多人设置完这个密码之后就忘了,因为在开我的世界服务器之前,没有人告诉你这个密码很重要。但是忘了是不行的,你必须要知道这个密码。 -- 如果是别人设置的,那你就要找到那个人要来密码。 -- 如果是装宽带的时候师傅告诉你的,那就联系给你装宽带的那个师傅问密码。 -- 如果确实是你自己设置的,而且你实在是想不起来了,~~那可能是这个路由器之前对于你真的不重要吧,~~ 那就只能给路由器重置了。**注意如果是光猫就无论如何都不要重置!路由器重置后需要重新设置,家里的所有设备都暂时会断网!重置路由器前务必确保你自己或身边的人有能力重新设置这个路由器!** 不同品牌路由器的重置方法不一样,这里不做展开,可以翻出路由器的说明书,或者上网搜索“「路由器品牌」怎么重置”(有些路由器重置非常麻烦,我之前就遇到过一个路由器,我折腾了十分钟才给重置好)。重置完成后,再根据当初安装这个路由器时的设置方法进行设置。 +这时路由器一般会提示你输入密码。我相信有很多人设置完这个密码之后就忘了,因为在开我的世界服务器之前,没有人告诉你这个密码很重要。但是忘了是不行的,你必须要知道这个密码。 +- 如果是别人设置的,那你就要找到那个人要来密码。 +- 如果是装宽带的时候师傅告诉你的,那就联系给你装宽带的那个师傅问密码。 +- 如果确实是你自己设置的,而且你实在是想不起来了,~~那可能是这个路由器之前对于你真的不重要吧,~~ 那就只能给路由器重置了。**注意如果是光猫就无论如何都不要重置!路由器重置后需要重新设置,家里的所有设备都暂时会断网!重置路由器前务必确保你自己或身边的人有能力重新设置这个路由器!** 不同品牌路由器的重置方法不一样,这里不做展开,可以翻出路由器的说明书,或者上网搜索“「路由器品牌」怎么重置”(有些路由器重置非常麻烦,我之前就遇到过一个路由器,我折腾了十分钟才给重置好)。重置完成后,再根据当初安装这个路由器时的设置方法进行设置。 :::info -部分地区的部分运营商可能不允许用户自行登录光猫。如果你遇到了类似的情况,建议直接跳转到 [主动向运营商申请公网 IPv4](#主动向运营商申请公网-ipv4) +部分地区的部分运营商可能不允许用户自行登录光猫。如果你遇到了类似的情况,建议直接跳转到 [主动向运营商申请公网 IPv4](#主动向运营商申请公网-ipv4) ::: #### 查看 WAN IP -登录路由器后台以后,网站上一般会显示一个 “WAN IP”,这里的 “WAN” 代表公网,但它显示的并不一定是公网 IP,用一些小技巧可以判断出来它到底是不是,一共分为三种情况: -1. 显示 `192.168`,不是 NAT 网关 -2. 是显示10 或 100 开头,是 NAT 网关 -3. 一种是其他数字开头,是 NAT 网关 +登录路由器后台以后,网站上一般会显示一个 “WAN IP”,这里的 “WAN” 代表公网,但它显示的并不一定是公网 IP,用一些小技巧可以判断出来它到底是不是,一共分为三种情况: +1. 显示 `192.168`,不是 NAT 网关 +2. 是显示10 或 100 开头,是 NAT 网关 +3. 一种是其他数字开头,是 NAT 网关 -如果这个路由器不是 NAT 网关,你就需要换一个路由器重复这些操作,直到它的 WAN IP 符合上述其中一种是 NAT 网关的情况。 +如果这个路由器不是 NAT 网关,你就需要换一个路由器重复这些操作,直到它的 WAN IP 符合上述其中一种是 NAT 网关的情况。 ### 确认是否已有公网 IPv4 -找到 NAT 网关并进入它的后台之后,你就可以操作进行端口映射了。但是等一下!上文还提到,由于部分运营商为了节省公网 IPv4 地址而不给一些家里分配 IPv4 地址,这样的情况下是无法成功进行端口映射的,因为你家里的 NAT 网关并不是公网上的 NAT 网关,真正公网上的 NAT 网关在运营商手里,**你根本拿不到控制权。你必须先确认一下你的网络是不是这个类型,别白费了工夫。** +找到 NAT 网关并进入它的后台之后,你就可以操作进行端口映射了。但是等一下!上文还提到,由于部分运营商为了节省公网 IPv4 地址而不给一些家里分配 IPv4 地址,这样的情况下是无法成功进行端口映射的,因为你家里的 NAT 网关并不是公网上的 NAT 网关,真正公网上的 NAT 网关在运营商手里,**你根本拿不到控制权。你必须先确认一下你的网络是不是这个类型,别白费了工夫。** -方法还是查看那个 WAN IP,如果它不是 10 或 100 开头,你就可以继续进行端口映射了。 +方法还是查看那个 WAN IP,如果它不是 10 或 100 开头,你就可以继续进行端口映射了。 ### 主动向运营商申请公网 IPv4 -但是如果是 10 或 100 开头,就没有办法进行端口映射了吗?其实还是有一丝希望,但是**这需要你大量的努力**,因为你可以通过和运营商交涉让他们给你把 IP 变成真正的公网 IP ,这一步就是主动向运营商申请公网IP。 +但是如果是 10 或 100 开头,就没有办法进行端口映射了吗?其实还是有一丝希望,但是**这需要你大量的努力**,因为你可以通过和运营商交涉让他们给你把 IP 变成真正的公网 IP ,这一步就是主动向运营商申请公网IP。 -首先如果你的宽带必须是**联通或电信**运营商,因为目前只有这两个运营商有相对充足的公网 IPv4 地址分配给家用宽带,其他运营商无论如何都不会给你改成真正的公网IP。 +首先如果你的宽带必须是**联通或电信**运营商,因为目前只有这两个运营商有相对充足的公网 IPv4 地址分配给家用宽带,其他运营商无论如何都不会给你改成真正的公网IP。 -而联通和电信也分地区,现在尤其南方的一些省份由于人口稠密,宽带办理非常多,当地的 IPv4 地址也已经枯竭,所以当地的联通和电信有的对公网IP额外收费,有的则是直接不再提供,说什么也不行。要想和这些运营商申请公网IP,你可以打电话直接要公网,或者一些省份的电信有自助开通公网 IPv4 的渠道。 +而联通和电信也分地区,现在尤其南方的一些省份由于人口稠密,宽带办理非常多,当地的 IPv4 地址也已经枯竭,所以当地的联通和电信有的对公网IP额外收费,有的则是直接不再提供,说什么也不行。要想和这些运营商申请公网IP,你可以打电话直接要公网,或者一些省份的电信有自助开通公网 IPv4 的渠道。 -通常来说,和运营商申请公网IP一般有以下几种情况: -- **路由器已经有公网 IPv4 了**,不需要申请了。 -- 运营商说可以有公网 IPv4 ,**但是你必须得先把 IPv6 停了**。这种情况一般出现在南方部分省份的电信宽带上。 -- **运营商要求你进行报备**。有的时候不需要你自己跑去营业厅办手续签字什么的,运营商那边自己给你登记一下就行了。 +通常来说,和运营商申请公网IP一般有以下几种情况: +- **路由器已经有公网 IPv4 了**,不需要申请了。 +- 运营商说可以有公网 IPv4 ,**但是你必须得先把 IPv6 停了**。这种情况一般出现在南方部分省份的电信宽带上。 +- **运营商要求你进行报备**。有的时候不需要你自己跑去营业厅办手续签字什么的,运营商那边自己给你登记一下就行了。 - **运营商要求带宽达到某个速度以上或资费达到某个标准以上才能给公网 IP。** - **运营商要求公网要额外收费**。 -- 运营商告诉你虽然没有公网,但是他们的**上级 NAT 网关的种类是 NAT1**。 +- 运营商告诉你虽然没有公网,但是他们的**上级 NAT 网关的种类是 NAT1**。 - **运营商打死也不给公网。** -如果联系运营商也解决不了,就没有办法进行端口映射了。可是如果不能进行端口映射,就不能在自己家开服务器了吗?办法总比困难多,下面继续介绍一种特殊但确实有效的办法。 +如果联系运营商也解决不了,就没有办法进行端口映射了。可是如果不能进行端口映射,就不能在自己家开服务器了吗?办法总比困难多,下面继续介绍一种特殊但确实有效的办法。 ## 商用宽带 -上文提到,运营商不愿意推广 IPv6 有可能是因为想让用户给他们交更多的钱买商用宽带。没错,平时我们办理的都是家用宽带,而还有一种宽带可以用于商用,这种宽带一定有公网 IPv4 地址,而且很多宽带都拥有不止一个公网 IP。这种宽带一般用于公司、营业场所、专业服务器机房等。由于是商业用途,这种宽带要**比普通宽带贵得多,而且要求严格,并不是所有人都能办得了**。 +上文提到,运营商不愿意推广 IPv6 有可能是因为想让用户给他们交更多的钱买商用宽带。没错,平时我们办理的都是家用宽带,而还有一种宽带可以用于商用,这种宽带一定有公网 IPv4 地址,而且很多宽带都拥有不止一个公网 IP。这种宽带一般用于公司、营业场所、专业服务器机房等。由于是商业用途,这种宽带要**比普通宽带贵得多,而且要求严格,并不是所有人都能办得了**。 -要办这种宽带,你必须至少满足以下两个条件: -1. **你自己有一个公司**,或者你能联系到一个公司能够为你办理这种宽带。商用宽带都是以公司为单位办理的,这里的公司必须是已经在相关部分登记,而且有营业执照的那种。 -2. **你必须有十分充足的预算**。商用宽带极其昂贵,一般家庭都承担不起,就连企业也要精打细算地用。 +要办这种宽带,你必须至少满足以下两个条件: +1. **你自己有一个公司**,或者你能联系到一个公司能够为你办理这种宽带。商用宽带都是以公司为单位办理的,这里的公司必须是已经在相关部分登记,而且有营业执照的那种。 +2. **你必须有十分充足的预算**。商用宽带极其昂贵,一般家庭都承担不起,就连企业也要精打细算地用。 -满足以上条件之后,你就可以联系运营商办理商用宽带了。 +满足以上条件之后,你就可以联系运营商办理商用宽带了。 :::tip -一些地区的运营商有时会放出一些低价低配的企业宽带,这些宽带虽然低配,但是上行够高,也一定有公网IP。如果你的公司预算还是挺紧张的,你可以试着和运营商那边的人处好关系,及时了解到刚放出来的企业宽带并抢购。 +一些地区的运营商有时会放出一些低价低配的企业宽带,这些宽带虽然低配,但是上行够高,也一定有公网IP。如果你的公司预算还是挺紧张的,你可以试着和运营商那边的人处好关系,及时了解到刚放出来的企业宽带并抢购。 ::: diff --git a/docs/process/deploy/connect-to-the-cloud.md b/docs/process/deploy/connect-to-the-cloud.md index c4c66bce9..310b35c0d 100644 --- a/docs/process/deploy/connect-to-the-cloud.md +++ b/docs/process/deploy/connect-to-the-cloud.md @@ -5,7 +5,7 @@ sidebar_position: 4 # 连接到云 -当你买好服务器后,你应该如何连接到服务器并部署你的服务端 +当你买好服务器后,你应该如何连接到服务器并部署你的服务端 ## 面板 @@ -29,11 +29,11 @@ sidebar_position: 4 #### 映射驱动器 -可以在 vps 中点击 `此电脑` 看到本地的 **驱动器**(c 盘 d 盘的,这下听懂了吧) +可以在 vps 中点击 `此电脑` 看到本地的 **驱动器**(c 盘 d 盘的,这下听懂了吧) 方便你传输文件 -或者,你也可以 `Ctrl c` + `Ctrl v` 来传文件 +或者,你也可以 `Ctrl c` + `Ctrl v` 来传文件 ![](_images/连接服务器/2.png) @@ -42,7 +42,7 @@ sidebar_position: 4 ### MacOS 和手机 -在 iOS 和 macOS 上,需要在 App Store 登录海外的 Apple ID ,然后搜索 Microsoft Remote Desktop ,就可以找到这个应用。在安卓手机上需要在 Google play 上搜索 Microsoft Remote Desktop 就可以找到这个应用,如果手机无法使用 Google play ,也可以在网上搜索安装包下载。打开应用后,点击加号,点击 **Add PC** ,选择或输入那台电脑上的那串代码,然后点击添加或保存。随后点击或双击添加的那台电脑,然后输入帐号和密码,就可以连接到那台电脑。 +在 iOS 和 macOS 上,需要在 App Store 登录海外的 Apple ID ,然后搜索 Microsoft Remote Desktop ,就可以找到这个应用。在安卓手机上需要在 Google play 上搜索 Microsoft Remote Desktop 就可以找到这个应用,如果手机无法使用 Google play ,也可以在网上搜索安装包下载。打开应用后,点击加号,点击 **Add PC** ,选择或输入那台电脑上的那串代码,然后点击添加或保存。随后点击或双击添加的那台电脑,然后输入帐号和密码,就可以连接到那台电脑。
@@ -50,34 +50,34 @@ sidebar_position: 4 #### 放行端口 -然后你需要在防火墙放行你 mc 服务端使用的端口,可参考教程:https://blog.csdn.net/aa1213366512/article/details/119964839 。 +然后你需要在防火墙放行你 mc 服务端使用的端口,可参考教程:https://blog.csdn.net/aa1213366512/article/details/119964839 。 -如果你使用的是家宽公网,你需要在路由器里后台放行远程桌面使用的端口,协议同时选择 TCP 和 UDP 。远程桌面使用的端口为 3389 ,所以你需要把服务器的 **3389** 端口映射到外网。 +如果你使用的是家宽公网,你需要在路由器里后台放行远程桌面使用的端口,协议同时选择 TCP 和 UDP 。远程桌面使用的端口为 3389 ,所以你需要把服务器的 **3389** 端口映射到外网。 :::danger -配置直接在公网使用3389端口连接服务器远程桌面**会导致严重的安全性问题**,详见 [如何抵御网络攻击](../maintenance/how-to-defend-against-cyber-attacks.md)。 +配置直接在公网使用3389端口连接服务器远程桌面**会导致严重的安全性问题**,详见 [如何抵御网络攻击](../maintenance/how-to-defend-against-cyber-attacks.md)。 ::: -接着用外网地址连接你的服务器。注意,除非你直接在外网使用 3389 端口,否则连接服务器时需要使用外网端口连接,比如服务器 IP 是 yizhan.wiki,外网使用的是 41982 端口,你就需要连接 `yizhan.wiki:41982`,而不是`yizhan.wiki`。 +接着用外网地址连接你的服务器。注意,除非你直接在外网使用 3389 端口,否则连接服务器时需要使用外网端口连接,比如服务器 IP 是 yizhan.wiki,外网使用的是 41982 端口,你就需要连接 `yizhan.wiki:41982`,而不是`yizhan.wiki`。 -**举例,不一定正确:** +**举例,不一定正确:** 你远程桌面连接用的是 `yizhan.wiki:12345` -你的服务商告诉你,除了`12345`,你可以使用 `12346` 端口 +你的服务商告诉你,除了`12345`,你可以使用 `12346` 端口 -那你就把你服务端的 [端口](https://yizhan.wiki/NitWikit/Java/start/connect-to-server#%E7%AB%AF%E5%8F%A3) 设置为 `12346` ,记得 [放行端口](#放行端口) +那你就把你服务端的 [端口](https://yizhan.wiki/NitWikit/Java/start/connect-to-server#%E7%AB%AF%E5%8F%A3) 设置为 `12346` ,记得 [放行端口](#放行端口) -然后在你的游戏客户端里添加服务器,填地址为 `yizhan.wiki:12346` +然后在你的游戏客户端里添加服务器,填地址为 `yizhan.wiki:12346` ## 家里云
我有公网 IP -按照上文 VPS 的方式打开电脑的远程桌面或 SSH 服务即可。**如果要公网访问,记得在路由器里配置端口映射,把电脑的远程控制端口开放到公网** +按照上文 VPS 的方式打开电脑的远程桌面或 SSH 服务即可。**如果要公网访问,记得在路由器里配置端口映射,把电脑的远程控制端口开放到公网**
@@ -86,18 +86,18 @@ sidebar_position: 4 [申请公网ip](apply-for-public-ip-address.md) -如果申请不到,那么为了在没有公网IP的情况下连接到你的内外机器,你需要 **内网穿透(Frp)** +如果申请不到,那么为了在没有公网IP的情况下连接到你的内外机器,你需要 **内网穿透(Frp)** [内网穿透](intranet-penetration.md) -[Linux | 搭建内网穿透(Frp)](../../advance/Linux/frp.md) +[Linux | 搭建内网穿透(Frp)](../../advance/Linux/frp.md)
## 独立机 -机房的运维一般会帮你设置。如果你用的是第三方远程桌面,但是服务器本身又有远程控制的条件,按照上文中 VPS 的方式操作即可。 +机房的运维一般会帮你设置。如果你用的是第三方远程桌面,但是服务器本身又有远程控制的条件,按照上文中 VPS 的方式操作即可。 ## 开服器 -不教,自己查开服器的食用方式。 +不教,自己查开服器的食用方式。 diff --git a/docs/process/deploy/deploy.md b/docs/process/deploy/deploy.md index c3e147701..c6b2550ed 100644 --- a/docs/process/deploy/deploy.md +++ b/docs/process/deploy/deploy.md @@ -8,23 +8,23 @@ sidebar_position: 1 **什么是生产环境?** -> 正式对外提供服务的环境,此处指可以让玩家加入到你的服务器的环境 +> 正式对外提供服务的环境,此处指可以让玩家加入到你的服务器的环境 -通过前面的学习,你现在已经进入了你本地的服务器,但是我该怎么让其他玩家加入进来呢? +通过前面的学习,你现在已经进入了你本地的服务器,但是我该怎么让其他玩家加入进来呢? -也许你有和朋友联机的经验,知道我们需要有 **公网** 那种东西 +也许你有和朋友联机的经验,知道我们需要有 **公网** 那种东西 -不知道也没关系,这是一个通俗易懂的讲解(不一定正确): +不知道也没关系,这是一个通俗易懂的讲解(不一定正确): -在开服这一话题中,“公网”一般指“公网 IP”。它就像是你的服务器在网络上的住址,玩家们的游戏需要有这个地址才能找到你的服务器,就像快递员需要知道你家的地址才能送货上门。在继续深入学习和实践开服的过程中,你将经常接触到“公网 IP”这个东西。 +在开服这一话题中,“公网”一般指“公网 IP”。它就像是你的服务器在网络上的住址,玩家们的游戏需要有这个地址才能找到你的服务器,就像快递员需要知道你家的地址才能送货上门。在继续深入学习和实践开服的过程中,你将经常接触到“公网 IP”这个东西。 -而服主们谈论的“有公网”则是指服务器能够将自己的端口直接开放到公网。为了让服务器能开服,你必须保证你的服务器“有公网”,至于如何让服务器有这个“公网”,本章将会进行详尽的介绍。 +而服主们谈论的“有公网”则是指服务器能够将自己的端口直接开放到公网。为了让服务器能开服,你必须保证你的服务器“有公网”,至于如何让服务器有这个“公网”,本章将会进行详尽的介绍。 # 有何建议? -个人建议使用 vps,你会在 [可选方式#vps](optional-mode.md#vps) 了解到相关内容 +个人建议使用 vps,你会在 [可选方式#vps](optional-mode.md#vps) 了解到相关内容 -如果是新手刚起步,那就不要买东西瞎费钱了,自己电脑上做就可,做成之后可以考虑 vps 了 +如果是新手刚起步,那就不要买东西瞎费钱了,自己电脑上做就可,做成之后可以考虑 vps 了 import DocCardList from '@theme/DocCardList'; diff --git a/docs/process/deploy/intranet-penetration.md b/docs/process/deploy/intranet-penetration.md index f494e20a9..91f580cf4 100644 --- a/docs/process/deploy/intranet-penetration.md +++ b/docs/process/deploy/intranet-penetration.md @@ -11,28 +11,28 @@ sidebar_position: 5 **来几个?** -内网穿透一抓一大把,比如[樱花内网穿透](https://www.natfrp.com/)和[OpenFrp](https://www.openfrp.net/) +内网穿透一抓一大把,比如[樱花内网穿透](https://www.natfrp.com/)和[OpenFrp](https://www.openfrp.net/) -~~因为rz用户比较多,你甚至能用某人用不用樱花来定性判断这人有没有技术~~ +~~因为rz用户比较多,你甚至能用某人用不用樱花来定性判断这人有没有技术~~ Linux自建frp参见[此页面](/advance/Linux/frp) ## 可能的问题? -内网穿透后相当于玩家的连接传递到了你机器上的软件上,用这个软件访问本地的服务端(类似代理),服务端就会误认为是本地连接访问了服务器,就会出现以下问题: +内网穿透后相当于玩家的连接传递到了你机器上的软件上,用这个软件访问本地的服务端(类似代理),服务端就会误认为是本地连接访问了服务器,就会出现以下问题: ### 登录插件 #### 玩家注册 -支持 IP 限制注册账号的登录插件(如 Authme 、CMI )会出问题 +支持 IP 限制注册账号的登录插件(如 Authme 、CMI )会出问题 -如果内网穿透的话,他们的 IP 地址都是回环地址,所以他们不能注册账号了 +如果内网穿透的话,他们的 IP 地址都是回环地址,所以他们不能注册账号了 #### 自动登录 -此功能依靠 IP 进行识别,如果内网穿透的话,普通玩家和 OP 玩家的 IP 都是回环地址 +此功能依靠 IP 进行识别,如果内网穿透的话,普通玩家和 OP 玩家的 IP 都是回环地址 就出现了玩家登录 OP 账号等 “绕过登录漏洞” @@ -46,19 +46,19 @@ Linux自建frp参见[此页面](/advance/Linux/frp) 因为你们的地址都是回环地址 -所以你 ban-ip 会 ban 掉所有人,包括你自己...... +所以你 ban-ip 会 ban 掉所有人,包括你自己...... ### 反假人插件 -这会导致反假人插件几乎不能使用,因为无论是封禁 IP 还是 IP 白名单都会因为所有玩家 IP 相同而失效。 +这会导致反假人插件几乎不能使用,因为无论是封禁 IP 还是 IP 白名单都会因为所有玩家 IP 相同而失效。 ### 解决以上无法显示IP地址的办法:proxy protocol -正是因为frp在转发玩家请求时重写了请求头部,导致了以上情况的发生。 frp 虽然不能不重写这个请求头部,但是他可以通过一种方式还原请求头部,让服务器正常显示出连接 IP 。Proxy Protocol 是由 HAProxy 开发者 Willy 提出的一种反向代理协议,可以参考 [HAProxy 文档](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) 获取更多信息。frp 内置的 proxy protocol 要求被其穿透的服务器也支持 proxy protocol ,否则会造成对应的服务无法使用,所以并不是随便拿一个服务就能用 proxy protocol 。 frp 启用 proxy protocol 的方式参考 [Linux自建frp](/advance/Linux/frp)。 +正是因为frp在转发玩家请求时重写了请求头部,导致了以上情况的发生。 frp 虽然不能不重写这个请求头部,但是他可以通过一种方式还原请求头部,让服务器正常显示出连接 IP 。Proxy Protocol 是由 HAProxy 开发者 Willy 提出的一种反向代理协议,可以参考 [HAProxy 文档](http://www.haproxy.org/download/1.8/doc/proxy-protocol.txt) 获取更多信息。frp 内置的 proxy protocol 要求被其穿透的服务器也支持 proxy protocol ,否则会造成对应的服务无法使用,所以并不是随便拿一个服务就能用 proxy protocol 。 frp 启用 proxy protocol 的方式参考 [Linux自建frp](/advance/Linux/frp)。 -对于mc服务器来说,支持 proxy protocol 的软件有: +对于mc服务器来说,支持 proxy protocol 的软件有: - bungeecord 系 -- paper 分支(1.18.2)(仅支持v2) +- paper 分支(1.18.2)(仅支持v2) - [Geyser](../../../Java/process/mobile-player/Geyser/introduction/FAQ#frp搭建内网穿透想显示真实ip怎么办) - Spigot端插件 [HAProxyDetector](https://github.com/andylizi/haproxy-detector) diff --git a/docs/process/deploy/optional-mode.md b/docs/process/deploy/optional-mode.md index 21777dc6b..4f087335a 100644 --- a/docs/process/deploy/optional-mode.md +++ b/docs/process/deploy/optional-mode.md @@ -7,7 +7,7 @@ sidebar_position: 3 :::warning -这里所说的 **人话** 只是用于辅助理解,与实际情况可能存在偏差 +这里所说的 **人话** 只是用于辅助理解,与实际情况可能存在偏差 ::: @@ -16,7 +16,7 @@ sidebar_position: 3 ## 面板 ``` -相当简单无脑的开服方式,大多会有一键开服之类的选项,要自己配置的东西少,但限制太多 +相当简单无脑的开服方式,大多会有一键开服之类的选项,要自己配置的东西少,但限制太多 ```
MCSManager 和翼龙俩面板长什么样 @@ -33,51 +33,51 @@ sidebar_position: 3 :::tip -不是说面板一定不好,你甚至能在自己机器上安装面板来用,只是咱**不推荐**你购置服务器的时候买面板来用 +不是说面板一定不好,你甚至能在自己机器上安装面板来用,只是咱**不推荐**你购置服务器的时候买面板来用 ::: ## VPS -虚拟专用服务器(Virtual Private Server,简称 VPS),是利用虚拟服务器软件(如微软的 Virtual Server、VMware 的 ESX server、SWsoft 的 Virtuozzo)将一台物理服务器分割成多个虚拟专享服务器。每个 VPS 主机都可选配独立公网 IP 地址、独立操作系统、独立超大空间、独立内存、独立 CPU 资源、独立执行程序和独立系统配置等。VPS 可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。 +虚拟专用服务器(Virtual Private Server,简称 VPS),是利用虚拟服务器软件(如微软的 Virtual Server、VMware 的 ESX server、SWsoft 的 Virtuozzo)将一台物理服务器分割成多个虚拟专享服务器。每个 VPS 主机都可选配独立公网 IP 地址、独立操作系统、独立超大空间、独立内存、独立 CPU 资源、独立执行程序和独立系统配置等。VPS 可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。 -人话就是云电脑(**云服务器**) +人话就是云电脑(**云服务器**) :::info -大厂(指腾讯云,阿里云等)那些服务器不是不能买,但是贵,而且大厂不是专搞mc服务器的 +大厂(指腾讯云,阿里云等)那些服务器不是不能买,但是贵,而且大厂不是专搞mc服务器的 -你去一些技术群里找人买一般能有更低的价格,以及一些附赠服务(如提供付费插件,一些服务端,服务器技术咨询等) +你去一些技术群里找人买一般能有更低的价格,以及一些附赠服务(如提供付费插件,一些服务端,服务器技术咨询等) ::: ## 家里云 -一种调侃的说法,故名思义“放在自己家里的云服务器”(都能伸手摸到了还能叫“云”吗?所以仅仅是调侃,**并非计算机术语**)。也就是说,家里云通常是你自己手里的一台电脑,它可以是你用过的、新买的、别人借你的或送你的等等。要想使用家里云方案,你必须清楚家里云的优劣,如果安排不当很可能会对服务器的运营造成严重的经济损失。 +一种调侃的说法,故名思义“放在自己家里的云服务器”(都能伸手摸到了还能叫“云”吗?所以仅仅是调侃,**并非计算机术语**)。也就是说,家里云通常是你自己手里的一台电脑,它可以是你用过的、新买的、别人借你的或送你的等等。要想使用家里云方案,你必须清楚家里云的优劣,如果安排不当很可能会对服务器的运营造成严重的经济损失。 -通常来说,家里云有以下几点优势: -1. 价格便宜。这是家里云最大的优势,因为你可以自行选择硬件的购买渠道,比如在购物平台用优惠券低价购买高性能硬件,甚至“捡垃圾”。如果你已经有现成的可以开服的电脑,比如闲置的笔记本或者台式机,就可以直接拿来开服,不花一分钱。 -2. 几乎完全可控。除了网络受运营商限制、电力受电业局等影响外,你可以对家里云的主机进行完全的控制。你可以为它安装任何系统,也可以直接接触并设置它的主板,这也意味着你可以随时更换家里云的硬件,而不需要去联系忙得不可开交的机房运维。 -3. 积累经验。如果你是一个好折腾的人,你可以从中积累大量的经验,因为从购买或安装三件到配置网络,再到后期保证服务器稳定性,自行设计应急措施等,都可以让你积累大量的经验,把你变成一个没有受过培训但是能力完全不输专业运维工程师的极客。 +通常来说,家里云有以下几点优势: +1. 价格便宜。这是家里云最大的优势,因为你可以自行选择硬件的购买渠道,比如在购物平台用优惠券低价购买高性能硬件,甚至“捡垃圾”。如果你已经有现成的可以开服的电脑,比如闲置的笔记本或者台式机,就可以直接拿来开服,不花一分钱。 +2. 几乎完全可控。除了网络受运营商限制、电力受电业局等影响外,你可以对家里云的主机进行完全的控制。你可以为它安装任何系统,也可以直接接触并设置它的主板,这也意味着你可以随时更换家里云的硬件,而不需要去联系忙得不可开交的机房运维。 +3. 积累经验。如果你是一个好折腾的人,你可以从中积累大量的经验,因为从购买或安装三件到配置网络,再到后期保证服务器稳定性,自行设计应急措施等,都可以让你积累大量的经验,把你变成一个没有受过培训但是能力完全不输专业运维工程师的极客。 但是家里云也有明显的缺点: -1. 初期成本可能较高。举个例子,一台 e3 CPU 的服务器完全自行购买需要数百元,而性能非常强的服务器至少要数千元,甚至一些情况下需要万元以上,到这已经是必须财力雄厚才能负担得起的级别了。另外如果你使用的是笔记本这样的电脑开服(包括拿旧手机开服),长期满电和高温会导致电池损坏,最后电脑变成一台带UPS的台式机。 -2. 不适合短期开服。尤其是想尝鲜的极客们,如果一台电脑买来后开服两天半就腻了不开了,你得想办法处理这台电脑。是转手卖掉还是继续玩一些其他的计算机软件?如果你没法处理这台电脑,那买电脑的几百上千块钱就血本无归。 -3. 可能占用自己大量的时间。一旦服务器硬件需要维护,你就必须亲自回家操作,任何其他管理都帮不了你。 -4. 可能需要一定的运气。首先一旦运营商出了问题(业务升级、施工队挖断光纤等)要断网,就会导致你的服务器断网。而且一旦停电(比如下大雨发水把小区电线泡了,或者施工队把电线挖断了),就会导致你的服务器跟着家里停电而宕机。此外你还要有能搞到公网 IPv4 的运气,否则被迫用内网穿透,延迟爆炸。 +1. 初期成本可能较高。举个例子,一台 e3 CPU 的服务器完全自行购买需要数百元,而性能非常强的服务器至少要数千元,甚至一些情况下需要万元以上,到这已经是必须财力雄厚才能负担得起的级别了。另外如果你使用的是笔记本这样的电脑开服(包括拿旧手机开服),长期满电和高温会导致电池损坏,最后电脑变成一台带UPS的台式机。 +2. 不适合短期开服。尤其是想尝鲜的极客们,如果一台电脑买来后开服两天半就腻了不开了,你得想办法处理这台电脑。是转手卖掉还是继续玩一些其他的计算机软件?如果你没法处理这台电脑,那买电脑的几百上千块钱就血本无归。 +3. 可能占用自己大量的时间。一旦服务器硬件需要维护,你就必须亲自回家操作,任何其他管理都帮不了你。 +4. 可能需要一定的运气。首先一旦运营商出了问题(业务升级、施工队挖断光纤等)要断网,就会导致你的服务器断网。而且一旦停电(比如下大雨发水把小区电线泡了,或者施工队把电线挖断了),就会导致你的服务器跟着家里停电而宕机。此外你还要有能搞到公网 IPv4 的运气,否则被迫用内网穿透,延迟爆炸。 -建议所有人在使用家里云方案之前都去给自己家宽带申请公网v4 ,能改桥接的改桥接,用移动的换成联通电信,不要等最后开上家里云了发现服务器人多用内网穿透带不动,自己又申请不了公网v4,努力全白费了。确定条件符合后,你就可以开始选购服务器硬件了。 +建议所有人在使用家里云方案之前都去给自己家宽带申请公网v4 ,能改桥接的改桥接,用移动的换成联通电信,不要等最后开上家里云了发现服务器人多用内网穿透带不动,自己又申请不了公网v4,努力全白费了。确定条件符合后,你就可以开始选购服务器硬件了。 ## 独立机 -其实就是把你自己的家里云放在机房(IDC)进行托管。部分机房还会提供他们自己的电脑供你租用。和家里云相比,独立机有以下优点: -1. 有专人维护,不需要你自行花费时间 +其实就是把你自己的家里云放在机房(IDC)进行托管。部分机房还会提供他们自己的电脑供你租用。和家里云相比,独立机有以下优点: +1. 有专人维护,不需要你自行花费时间 2. 有稳定的供电和网络 -3. 一定有公网 IPv4 ,还可以选配更高上行带宽 +3. 一定有公网 IPv4 ,还可以选配更高上行带宽 但也有以下缺点: -1. 不够灵活,加装改装比较麻烦 -2. 公网、带宽和维护都要另外收费,而且价格不菲 +1. 不够灵活,加装改装比较麻烦 +2. 公网、带宽和维护都要另外收费,而且价格不菲 ## 开服器 @@ -85,6 +85,6 @@ sidebar_position: 3 一种常被人取笑的开服方式。 -因为使用开服器这件事本身就有点**rz**,使用开服器几乎不需要任何计算机相关知识,这就使得使用开服器的服主看起来“不愿意学习计算机知识”、“伸手党”、“懒惰”。虽然经验非常丰富的服主也有选择使用开服器节省时间的权利,但是不建议任何服主依赖开服器,这可能导致你被开服器**娇生惯养、变得不思进取**,最终沦为开服圈子的笑柄。 +因为使用开服器这件事本身就有点**rz**,使用开服器几乎不需要任何计算机相关知识,这就使得使用开服器的服主看起来“不愿意学习计算机知识”、“伸手党”、“懒惰”。虽然经验非常丰富的服主也有选择使用开服器节省时间的权利,但是不建议任何服主依赖开服器,这可能导致你被开服器**娇生惯养、变得不思进取**,最终沦为开服圈子的笑柄。 而且开服器用户多数有**极为严重**的开服常识匮乏。 diff --git a/docs/process/deploy/purchase-server.md b/docs/process/deploy/purchase-server.md index c40caf099..a69f3262d 100644 --- a/docs/process/deploy/purchase-server.md +++ b/docs/process/deploy/purchase-server.md @@ -7,63 +7,63 @@ sidebar_position: 2 :::danger -低价云超开导致性能下降,不要贪图便宜! +低价云超开导致性能下降,不要贪图便宜! ::: -搭建 Minecraft 服务器对服务器的 CPU 性能、内存大小、硬盘 I/O 速度和网络质量,网络带宽均有较高的要求。 +搭建 Minecraft 服务器对服务器的 CPU 性能、内存大小、硬盘 I/O 速度和网络质量,网络带宽均有较高的要求。 ## 云服务器 -如果你的服务器不是自己购买的而是从服务商处租用的,比如VPS或面板。至于这到底是什么,下一章会讲解。 +如果你的服务器不是自己购买的而是从服务商处租用的,比如VPS或面板。至于这到底是什么,下一章会讲解。 ### CPU #### 核心数 -总的说来,核心数量要根据玩家数量,服务器性质,预算选择。 +总的说来,核心数量要根据玩家数量,服务器性质,预算选择。 -由于 Minecraft 的 [Tick-loop](https://yizhan.wiki/NitWikit/basic/what-is-caton) 逻辑是单线程的。更多核心只能用于生成区块、插件任务等非主线程任务,不建议超过 8 核心的服务器继续增加核心提升流畅度。 +由于 Minecraft 的 [Tick-loop](https://yizhan.wiki/NitWikit/basic/what-is-caton) 逻辑是单线程的。更多核心只能用于生成区块、插件任务等非主线程任务,不建议超过 8 核心的服务器继续增加核心提升流畅度。 -普通插件生存服,人数少于 50 时一般可以使用单端处理,选择核心数量 4 - 8 个。 +普通插件生存服,人数少于 50 时一般可以使用单端处理,选择核心数量 4 - 8 个。 -人数 > 50 推荐使用多端均衡或者 Folia ,常见的分生存 x 区的就是多端。这两种方式都可以有效利用多核心。 +人数 > 50 推荐使用多端均衡或者 Folia ,常见的分生存 x 区的就是多端。这两种方式都可以有效利用多核心。 -对于多端,核心数量主要取决于总人数,每 100 玩家多加 4 - 8 个核心是较为合理的。 +对于多端,核心数量主要取决于总人数,每 100 玩家多加 4 - 8 个核心是较为合理的。 -而 Folia 官方推荐的配置在 16 核心以上,如果是新手或对现有插件有严重依赖的不推荐使用,生态较差。 +而 Folia 官方推荐的配置在 16 核心以上,如果是新手或对现有插件有严重依赖的不推荐使用,生态较差。 #### CPU 单核性能 ![](_images/购置服务器/cpu.jpg) -一般的,当你搭建是纯净的、不含模组的服务器时,对单核性能的要求较低;当你搭建是含模组的服务器时,对单核性能的要求较高。 +一般的,当你搭建是纯净的、不含模组的服务器时,对单核性能的要求较低;当你搭建是含模组的服务器时,对单核性能的要求较高。 -CPU 总占用不算高时,Minecraft 的服务器性能与 CPU 单核性能几乎为线性关系,单核性能翻倍几乎就可以多带一倍**甚至更多**的人。 +CPU 总占用不算高时,Minecraft 的服务器性能与 CPU 单核性能几乎为线性关系,单核性能翻倍几乎就可以多带一倍**甚至更多**的人。 -尽量选择不超开的云(如上图,图中 50% 的性能差就在于低价云超开导致性能下降,不要贪图便宜,服务器到手后要自己跑分) +尽量选择不超开的云(如上图,图中 50% 的性能差就在于低价云超开导致性能下降,不要贪图便宜,服务器到手后要自己跑分) -不超过 20 人时为节省成本可以使用 E5 主机,而单端人数多于 20 基本就意味着需要牺牲玩家的游戏体验或者需要换更好的 CPU 。 +不超过 20 人时为节省成本可以使用 E5 主机,而单端人数多于 20 基本就意味着需要牺牲玩家的游戏体验或者需要换更好的 CPU 。 ### 内存 :::info -内存几乎不用考虑 DDR4 / DDR5,高频/低频内存的区别,最重要的是内存大小。 +内存几乎不用考虑 DDR4 / DDR5,高频/低频内存的区别,最重要的是内存大小。 -使用高频 DDR5 内存和 DDR 4 内存开服基本没有差别,如果是自己买的服务器托管的就省点钱吧。 +使用高频 DDR5 内存和 DDR 4 内存开服基本没有差别,如果是自己买的服务器托管的就省点钱吧。 ::: -一般来说, mod 服比插件服占用高,高版本比低版本略高。尽量选择核心数与内存比例在 1:2 以上的套餐(推荐 1:2 - 1:4 )。 +一般来说, mod 服比插件服占用高,高版本比低版本略高。尽量选择核心数与内存比例在 1:2 以上的套餐(推荐 1:2 - 1:4 )。 -一方面,核心多内存少必然面临性能下降。另一方面,核心多内存少基本为超开,性能会比正常情况下差很多。 +一方面,核心多内存少必然面临性能下降。另一方面,核心多内存少基本为超开,性能会比正常情况下差很多。 -大厅服分配 1G - 2G 内存,普通生存服务器或空岛服务器建议分配 8G - 12G ,单端人数较多建议使用 12G - 24G 内存。 +大厅服分配 1G - 2G 内存,普通生存服务器或空岛服务器建议分配 8G - 12G ,单端人数较多建议使用 12G - 24G 内存。 :::warning -并不是人越多需要的内存越多,不建议分配过多内存,否则导致 GC (内存垃圾回收)时间过长导致顿卡。 +并不是人越多需要的内存越多,不建议分配过多内存,否则导致 GC (内存垃圾回收)时间过长导致顿卡。 ::: @@ -71,70 +71,70 @@ CPU 总占用不算高时,Minecraft 的服务器性能与 CPU 单核性能几 根据玩家数量及视野情况分配。一般情况低版本全默认情况下平均每个玩家会使用 0.25 - 0.4 Mbps 的上行带宽。 -1.18 以上服务器平均每人使用 0.3-0.5Mbps 上行带宽(一群跑图佬另说)也就是说一般提供的 10M 带宽够带 15-20 人。 +1.18 以上服务器平均每人使用 0.3-0.5Mbps 上行带宽(一群跑图佬另说)也就是说一般提供的 10M 带宽够带 15-20 人。 -同样的有的服务商会提供所谓“共享上行”,有时会出现其他用户传文件,VPS 所在宿主机所有用户都变卡的情况,建议无论如何搞到一个独享带宽保底。 +同样的有的服务商会提供所谓“共享上行”,有时会出现其他用户传文件,VPS 所在宿主机所有用户都变卡的情况,建议无论如何搞到一个独享带宽保底。 -需要注意的是,想要家庭带宽开服要考虑到吃 DDOS 和部分运营商不提供公网或者公网上行速度非常慢的情况,只建议基友服使用,或者配合 FRP 等流量转发方式使用。 +需要注意的是,想要家庭带宽开服要考虑到吃 DDOS 和部分运营商不提供公网或者公网上行速度非常慢的情况,只建议基友服使用,或者配合 FRP 等流量转发方式使用。 ### 系统 -Windows 系统一般有 Windows server ,它和普通的 windows 系统操作没有什么区别,只要用过 windows 就能快速上手,但是 Window s系统相对占用系统资源更高。 Linux 系统常见的有 Ubuntu 、 Cent OS 和 Debian 。我们日常很少接触Linux系统,所以你可能需要事先学习 Linux 系统的操作。 Linux 系统占用系统资源更低。 +Windows 系统一般有 Windows server ,它和普通的 windows 系统操作没有什么区别,只要用过 windows 就能快速上手,但是 Window s系统相对占用系统资源更高。 Linux 系统常见的有 Ubuntu 、 Cent OS 和 Debian 。我们日常很少接触Linux系统,所以你可能需要事先学习 Linux 系统的操作。 Linux 系统占用系统资源更低。 -如果希望长期开服,强烈推荐使用 Linux 系统(如 Ubuntu/CentOS 等),因为它不仅占用系统资源更低,而且由于其系统本身机制与 Windows 不同,长期运行要比 Windows 系统稳定得多。很多时候一些服务器软件也仅支持 Linux 。 +如果希望长期开服,强烈推荐使用 Linux 系统(如 Ubuntu/CentOS 等),因为它不仅占用系统资源更低,而且由于其系统本身机制与 Windows 不同,长期运行要比 Windows 系统稳定得多。很多时候一些服务器软件也仅支持 Linux 。 ## 物理机 -如果你的服务器是自己购买的而不是租用的,那就是物理机,家里云和机房的独立机都是物理机。至于这到底是什么,下一章会讲解。 +如果你的服务器是自己购买的而不是租用的,那就是物理机,家里云和机房的独立机都是物理机。至于这到底是什么,下一章会讲解。 ### CPU -通常除非你有明确的需求,不建议为了开mc服务器而购买任何e5(洋垃圾)、至强金银铜牌和EPYC的服务器CPU 。优先选用英特尔酷睿和 AMD 锐龙 CPU 。由于mc服务器对单核要求非常高,所以尽可能选择新款高频版本的 CPU 。区分的方式是英特尔 CPU 后面带 K ,比如 10600K、12700KF ,AMD 的C PU 后面带 X,比如5600X、7950X。级别更高的CPU往往核心数和单核性能都更高。要开的服务器规模越大,就越有必要选购更高端的CPU。比如要开一个小型的服务器,使用 10300F 即可;要开一个大型的服务器,你可能必须要用 12700KF 才够用。 +通常除非你有明确的需求,不建议为了开mc服务器而购买任何e5(洋垃圾)、至强金银铜牌和EPYC的服务器CPU 。优先选用英特尔酷睿和 AMD 锐龙 CPU 。由于mc服务器对单核要求非常高,所以尽可能选择新款高频版本的 CPU 。区分的方式是英特尔 CPU 后面带 K ,比如 10600K、12700KF ,AMD 的C PU 后面带 X,比如5600X、7950X。级别更高的CPU往往核心数和单核性能都更高。要开的服务器规模越大,就越有必要选购更高端的CPU。比如要开一个小型的服务器,使用 10300F 即可;要开一个大型的服务器,你可能必须要用 12700KF 才够用。 -为服务器选择 CPU 并不需要带核显。核显是 CPU 自带的显卡,可以为主板 I/O 面板上自带的显示接口提供显示输出功能,并提供一定的图形渲染功能。由于mc服务器所有渲染图像的工作都由玩家的设备自行完成,所以服务器不需要任何显卡的性能,你的显卡只需要保证能够进行视频输出即可,也就是“亮机卡”。如果你手里已经有现成的低性能的显卡,你可以直接购买不带核显的CPU,比如带F的英特尔 CPU 。如果没有低性能的 CPU ,比如你手里有一张闲置的2070(谁会手里有了2070还闲置啊),那么除非你有特殊的需求,比如除了开服还用服务器跑 AI ,就不建议把这张显卡放到服务器上使用,这种显卡待机情况下功耗更高,导致你家电表转得更快。 +为服务器选择 CPU 并不需要带核显。核显是 CPU 自带的显卡,可以为主板 I/O 面板上自带的显示接口提供显示输出功能,并提供一定的图形渲染功能。由于mc服务器所有渲染图像的工作都由玩家的设备自行完成,所以服务器不需要任何显卡的性能,你的显卡只需要保证能够进行视频输出即可,也就是“亮机卡”。如果你手里已经有现成的低性能的显卡,你可以直接购买不带核显的CPU,比如带F的英特尔 CPU 。如果没有低性能的 CPU ,比如你手里有一张闲置的2070(谁会手里有了2070还闲置啊),那么除非你有特殊的需求,比如除了开服还用服务器跑 AI ,就不建议把这张显卡放到服务器上使用,这种显卡待机情况下功耗更高,导致你家电表转得更快。 :::warning -做高版本生存服务器,买实体机千万不要考虑E5这种洋垃圾,否则你会吃大亏,切记!!! +做高版本生存服务器,买实体机千万不要考虑E5这种洋垃圾,否则你会吃大亏,切记!!! -另外,13700K、13700KF、13900K、13900KF、14700K、14700KF、14900K、14900K 几款CPU被曝出由于其主频过高而导致不稳定(运行软件时软件出错,这可能导致你的服务器崩溃甚至损坏)的问题,建议开服暂时不使用。 +另外,13700K、13700KF、13900K、13900KF、14700K、14700KF、14900K、14900K 几款CPU被曝出由于其主频过高而导致不稳定(运行软件时软件出错,这可能导致你的服务器崩溃甚至损坏)的问题,建议开服暂时不使用。 ::: ### 主板 -虽然mc服务器对主板没什么要求,但是 CPU 对主板的要求还是很高的。在选择主板时你需要注意以下几点: -1. 板型。常见的主板从小到大分为 ITX、mATX、ATX、EATX 这几个标准。小的主板尺寸可以装进更小的机箱,大的主板尺寸可以提供更多硬件功能。通常情况下,购买最便宜的 mATX 或 ATX 板型的主板即可,因为你的服务器不需要便携。但是一定要注意**不能大于机箱尺寸,否则机箱装不下**。 -2. 主芯片组。主芯片组必须要和CPU品牌对应,才能和CPU兼容。英特尔有中端的B系列和高端的 Z 系列, AMD 有中端的 B 系列和高端的 X 系列。通常不需要考虑主芯片组要选哪个,毕竟你也不需要给服务器主板插一大堆三件。但是不建议 i9 和 R9 处理器选用中端芯片组,除非你问过确实“能带动”,否则会出现主板供电不足等问题,这是因为中端芯片组的供电模块性能较低。 +虽然mc服务器对主板没什么要求,但是 CPU 对主板的要求还是很高的。在选择主板时你需要注意以下几点: +1. 板型。常见的主板从小到大分为 ITX、mATX、ATX、EATX 这几个标准。小的主板尺寸可以装进更小的机箱,大的主板尺寸可以提供更多硬件功能。通常情况下,购买最便宜的 mATX 或 ATX 板型的主板即可,因为你的服务器不需要便携。但是一定要注意**不能大于机箱尺寸,否则机箱装不下**。 +2. 主芯片组。主芯片组必须要和CPU品牌对应,才能和CPU兼容。英特尔有中端的B系列和高端的 Z 系列, AMD 有中端的 B 系列和高端的 X 系列。通常不需要考虑主芯片组要选哪个,毕竟你也不需要给服务器主板插一大堆三件。但是不建议 i9 和 R9 处理器选用中端芯片组,除非你问过确实“能带动”,否则会出现主板供电不足等问题,这是因为中端芯片组的供电模块性能较低。 ### 内存 -虽然是服务器,但是毕竟游戏服务器,需要的内存也是非常高的。通常不推荐购买“刚好够用”的内存容量,因为你的需求会随着服务器规模的扩大逐渐提高,导致后期你可能需要对内存进行升级或更换。如果不是预算非常紧张,建议先购买 CPU 所支持的最大内存容量的一半,数量为主板内存插槽数量的一半,后期需要扩容时,直接购买**同品牌、同系列、同参数**的内存加装。 +虽然是服务器,但是毕竟游戏服务器,需要的内存也是非常高的。通常不推荐购买“刚好够用”的内存容量,因为你的需求会随着服务器规模的扩大逐渐提高,导致后期你可能需要对内存进行升级或更换。如果不是预算非常紧张,建议先购买 CPU 所支持的最大内存容量的一半,数量为主板内存插槽数量的一半,后期需要扩容时,直接购买**同品牌、同系列、同参数**的内存加装。 -mc服务器对内存的频率和时序几乎没有任何要求(https://www.minebbs.com/threads/_cpu.17729 )。所以你可以选择更便宜的低频内存,例如 DDR3 的 1333 MHz、DDR4 的 2666 MHz、DDR5 的 4800 MHz。 +mc服务器对内存的频率和时序几乎没有任何要求(https://www.minebbs.com/threads/_cpu.17729 )。所以你可以选择更便宜的低频内存,例如 DDR3 的 1333 MHz、DDR4 的 2666 MHz、DDR5 的 4800 MHz。 -由于各内存颗粒工厂的产量(~~失火频率~~)不同,内存的价格会随时间出现变化。如果你时间充足,可以多关注数码资讯,选择最合适的时机抢购内存。 +由于各内存颗粒工厂的产量(~~失火频率~~)不同,内存的价格会随时间出现变化。如果你时间充足,可以多关注数码资讯,选择最合适的时机抢购内存。 ### 硬盘 -21世纪20年代了,该不会还有人用机械硬盘当系统盘吧。你的服务器至少需要一块固态硬盘作为系统盘,如果固态硬盘容量不大,还最好需要一块机械硬盘专门存放服务器的数据。 +21世纪20年代了,该不会还有人用机械硬盘当系统盘吧。你的服务器至少需要一块固态硬盘作为系统盘,如果固态硬盘容量不大,还最好需要一块机械硬盘专门存放服务器的数据。 -主流的硬盘按接口分为 nvme 和 SATA 两种类型。nvme 只有固态硬盘,而 SATA 既可以是固态硬盘也可以是机械硬盘。 +主流的硬盘按接口分为 nvme 和 SATA 两种类型。nvme 只有固态硬盘,而 SATA 既可以是固态硬盘也可以是机械硬盘。 -选购固态硬盘时,需要注意以下事项: +选购固态硬盘时,需要注意以下事项: -1. **数据无价!!!**,不要选择小厂品牌的固态硬盘,尽可能选择大品牌,比如三星、长江、铠侠(东芝)、西数、爱国者、英特尔。希捷和金士顿的固态硬盘虽然性价比不高,但是如果你有明确的需求,也不失为一种选择。 +1. **数据无价!!!**,不要选择小厂品牌的固态硬盘,尽可能选择大品牌,比如三星、长江、铠侠(东芝)、西数、爱国者、英特尔。希捷和金士顿的固态硬盘虽然性价比不高,但是如果你有明确的需求,也不失为一种选择。 2. 固态硬盘的价格和内存一样存在较大波动。 -选购机械硬盘时,需要注意以下事项: +选购机械硬盘时,需要注意以下事项: -1. 避免选择“叠瓦盘”( SMR 记录),尽可能选择“垂直盘”( CMR 记录)。叠瓦盘的性能和寿命都不如垂直盘。如果你不确定一款硬盘是叠瓦还是垂直,可以上网搜索。 -2. 网传希捷硬盘在到寿命的时候损坏更快,也就是“容易暴毙”。虽然这对日常使用没有影响,但是一旦发现希捷硬盘出现故障,就要尽快采取措施。 -3. 酷鱼和蓝盘是家用硬盘,价格便宜,稳定性和性能一般;酷鹰和紫盘是监控硬盘,运行稳定但写入时有小概率出现数据损坏;酷狼(酷狼 Pro)和红盘是 NAS 硬盘,运行稳定;黑盘是旗舰性能的硬盘,性能高但价格昂贵;银河和金盘是企业用硬盘,运行稳定但性能较低,而且金盘网传噪音非常大。对于mc服务器来说,选择NAS专用盘或企业盘即可满足大部分需求。如果你能保证勤于维护,也可以选择家用硬盘。 -4. 价格便宜的硬盘多为二手硬盘,有小概率存在故障,或寿命相对较短。购买二手硬盘时,一定要善用 CrystalDiskInfo、HDTune Pro、DiskGenius 等工具检查硬盘的通电时间、坏道等情况,一旦买到有故障的硬盘,要善用网购平台的退货功能。 +1. 避免选择“叠瓦盘”( SMR 记录),尽可能选择“垂直盘”( CMR 记录)。叠瓦盘的性能和寿命都不如垂直盘。如果你不确定一款硬盘是叠瓦还是垂直,可以上网搜索。 +2. 网传希捷硬盘在到寿命的时候损坏更快,也就是“容易暴毙”。虽然这对日常使用没有影响,但是一旦发现希捷硬盘出现故障,就要尽快采取措施。 +3. 酷鱼和蓝盘是家用硬盘,价格便宜,稳定性和性能一般;酷鹰和紫盘是监控硬盘,运行稳定但写入时有小概率出现数据损坏;酷狼(酷狼 Pro)和红盘是 NAS 硬盘,运行稳定;黑盘是旗舰性能的硬盘,性能高但价格昂贵;银河和金盘是企业用硬盘,运行稳定但性能较低,而且金盘网传噪音非常大。对于mc服务器来说,选择NAS专用盘或企业盘即可满足大部分需求。如果你能保证勤于维护,也可以选择家用硬盘。 +4. 价格便宜的硬盘多为二手硬盘,有小概率存在故障,或寿命相对较短。购买二手硬盘时,一定要善用 CrystalDiskInfo、HDTune Pro、DiskGenius 等工具检查硬盘的通电时间、坏道等情况,一旦买到有故障的硬盘,要善用网购平台的退货功能。 ### 电源 -电源要尽可能选择最大功率至少大于电脑所有配件功率之和以上再加100w功率的型号,而且尽可能选择更高功率的。品牌也要选择大品牌,否则劣质电源容易出现短路,不仅导致其自身损坏,还很可能导致主板损坏。 +电源要尽可能选择最大功率至少大于电脑所有配件功率之和以上再加100w功率的型号,而且尽可能选择更高功率的。品牌也要选择大品牌,否则劣质电源容易出现短路,不仅导致其自身损坏,还很可能导致主板损坏。 ### 散热器 -你的服务器不需要给玩家看,所以你没有必要选择可以发光的散热器。散热器要尽量选择配置更高的,并且建议十代以上的 i7 i9 和 5 代以上的 r7 r9 选用双风扇水冷(240 mm),如果后期有给 CPU 超频的需求,你可能需要三风扇水冷(360 mm)。 +你的服务器不需要给玩家看,所以你没有必要选择可以发光的散热器。散热器要尽量选择配置更高的,并且建议十代以上的 i7 i9 和 5 代以上的 r7 r9 选用双风扇水冷(240 mm),如果后期有给 CPU 超频的需求,你可能需要三风扇水冷(360 mm)。 ### 系统 与云服务器选择系统的方式相同。 :::warning -除非你有明确的需求,否则不要使用普通的 Windows 操作系统,否则你会面临自动更新这一头疼的问题,还有后续一系列各种麻烦。 +除非你有明确的需求,否则不要使用普通的 Windows 操作系统,否则你会面临自动更新这一头疼的问题,还有后续一系列各种麻烦。 ::: diff --git a/docs/process/maintenance/how-to-defend-against-cyber-attacks.md b/docs/process/maintenance/how-to-defend-against-cyber-attacks.md index efab9d880..2e7b7bd9d 100644 --- a/docs/process/maintenance/how-to-defend-against-cyber-attacks.md +++ b/docs/process/maintenance/how-to-defend-against-cyber-attacks.md @@ -5,39 +5,39 @@ sidebar_position: 6 # 如何抵御网络攻击 -随着你的 Minecraft 服务器人数和宣传越来越多,你的服务器越有可能收到其他“友商”或者某些不怀好意的玩家攻击。 +随着你的 Minecraft 服务器人数和宣传越来越多,你的服务器越有可能收到其他“友商”或者某些不怀好意的玩家攻击。 -别害怕,大多数网络攻击没有那么致命,可能只会引起玩家高 Ping 掉线、后台操作卡顿等。 +别害怕,大多数网络攻击没有那么致命,可能只会引起玩家高 Ping 掉线、后台操作卡顿等。 ## 分类 下面将列出几种常见的 Minecraft 服务器容易遭受的攻击类型。 -### 应用层(也称为 L7 ) +### 应用层(也称为 L7 ) -在服务器上运行并绑定了指定地址和端口的应用程序,可以在这一层接受连接。 +在服务器上运行并绑定了指定地址和端口的应用程序,可以在这一层接受连接。 应用层的攻击往往意味着针对某个应用程序发起的攻击。 -通常攻击者会利用应用中的漏洞,来让应用占用更多的计算机资源,或者通过大量请求使带宽不堪重负,使服务器难以处理新连接。 +通常攻击者会利用应用中的漏洞,来让应用占用更多的计算机资源,或者通过大量请求使带宽不堪重负,使服务器难以处理新连接。 #### 假人攻击 -简单来说,假人攻击一般是通过模拟客户端协议,伪造有玩家接入服务器,并发送进入服务器的数据包。 +简单来说,假人攻击一般是通过模拟客户端协议,伪造有玩家接入服务器,并发送进入服务器的数据包。 这些假人大多数是不动的、名字高度相似或者非常随机的。 -随着假人的快速加入和退出游戏,导致服务器需要处理大量的数据包,会让服务器卡顿。 +随着假人的快速加入和退出游戏,导致服务器需要处理大量的数据包,会让服务器卡顿。 #### MOTD (状态请求) 攻击 -简单来说,就是向服务器请求状态 (也就是 Ping),玩家每次 Ping 服务器时,服务器将返回一个 MOTD 。 +简单来说,就是向服务器请求状态 (也就是 Ping),玩家每次 Ping 服务器时,服务器将返回一个 MOTD 。 -由于 MOTD 中包含图片和文字信息,大量的请求会占满服务器带宽,使服务器难以处理新的连接。 +由于 MOTD 中包含图片和文字信息,大量的请求会占满服务器带宽,使服务器难以处理新的连接。 -Minecraft 后端服务器一般是不会对 Ping 进行过滤和记录的,这会导致 MOTD 攻击难以察觉。 +Minecraft 后端服务器一般是不会对 Ping 进行过滤和记录的,这会导致 MOTD 攻击难以察觉。 -但是对于 Velocity / BungeeCord 等反向代理服务端,默认 Ping 服务器的行为是会被记录的,类似于: +但是对于 Velocity / BungeeCord 等反向代理服务端,默认 Ping 服务器的行为是会被记录的,类似于: ``` [/127.0.0.1:61647] <-> InitialHandler has pinged @@ -51,119 +51,119 @@ Minecraft 后端服务器一般是不会对 Ping 进行过滤和记录的,这 #### 其他插件 -如果你使用了 Plan, Dynmap 等插件,这些插件会在某个端口开启网站。 +如果你使用了 Plan, Dynmap 等插件,这些插件会在某个端口开启网站。 -请注意这些端口如果被不怀好意的人知道,则可能会导致这些 HTTP 端口遭受攻击。 +请注意这些端口如果被不怀好意的人知道,则可能会导致这些 HTTP 端口遭受攻击。 #### Minecraft 漏洞攻击 -通过利用 Minecraft 游戏本身的漏洞,向服务器发送 (可能是大量的)不合法的数据包,造成服务器卡顿甚至**崩溃**,例如攻击者可以向 BDS 服务器发送大量空数据包使其不断打印日志而不再正常处理游戏内容。 +通过利用 Minecraft 游戏本身的漏洞,向服务器发送 (可能是大量的)不合法的数据包,造成服务器卡顿甚至**崩溃**,例如攻击者可以向 BDS 服务器发送大量空数据包使其不断打印日志而不再正常处理游戏内容。 #### 远程桌面 / SSH爆破 -众所周知,只要足够有耐心,就一定能赢得猜数游戏。远程桌面或 SSH 也是如此。由于其并没有针对用户的复杂的验证机制,这导致任何人都可以无限制地试错。所以攻击者可以通过编写脚本等方式制作软件,不断地假设密码登录服务器远控服务,这就是**爆破攻击**,或者叫暴力破解密码。最终当登录成功时,攻击即成功,攻击者将**获得你服务器完全的控制权**。 +众所周知,只要足够有耐心,就一定能赢得猜数游戏。远程桌面或 SSH 也是如此。由于其并没有针对用户的复杂的验证机制,这导致任何人都可以无限制地试错。所以攻击者可以通过编写脚本等方式制作软件,不断地假设密码登录服务器远控服务,这就是**爆破攻击**,或者叫暴力破解密码。最终当登录成功时,攻击即成功,攻击者将**获得你服务器完全的控制权**。 -注意由于该服务在电脑上非常常见,所以世界各处经常有攻击者通过扫描 IPv4 地址(扫段攻击,通过对某个 IP 段的所有 IP 逐个检测来找出可以攻击的目标),并通过扫描端口(扫端口,通过对某个 IP 上的所有端口进行检测来找出可以攻击的目标),来找到你的服务器的远控地址,而不需要事先对你的服务器或你本人有任何了解。也就是说,如果你遭遇了这种攻击,不要一味地反思自己是否激怒过他人或和小人有了过节,而是要专注于防范你所遭受的攻击本身。 +注意由于该服务在电脑上非常常见,所以世界各处经常有攻击者通过扫描 IPv4 地址(扫段攻击,通过对某个 IP 段的所有 IP 逐个检测来找出可以攻击的目标),并通过扫描端口(扫端口,通过对某个 IP 上的所有端口进行检测来找出可以攻击的目标),来找到你的服务器的远控地址,而不需要事先对你的服务器或你本人有任何了解。也就是说,如果你遭遇了这种攻击,不要一味地反思自己是否激怒过他人或和小人有了过节,而是要专注于防范你所遭受的攻击本身。 ### 网络层 -网络层攻击是 DDoS 攻击的一种形式,它针对于网络基础架构进行攻击。 +网络层攻击是 DDoS 攻击的一种形式,它针对于网络基础架构进行攻击。 -最常见的网络层攻击是IP地址欺骗,攻击者可以伪造IP地址并向目标服务器发送大量数据包,以消耗目标服务器的网络带宽和系统资源。 +最常见的网络层攻击是IP地址欺骗,攻击者可以伪造IP地址并向目标服务器发送大量数据包,以消耗目标服务器的网络带宽和系统资源。 -Minecraft JAVA 服务端采用 TCP 作为通信协议,所以你可能会遭受到如 TCP Flood (TCP 洪水攻击) 等攻击方式。 +Minecraft JAVA 服务端采用 TCP 作为通信协议,所以你可能会遭受到如 TCP Flood (TCP 洪水攻击) 等攻击方式。 -防御这种类型的攻击唯一办法就是增大宽带,没有什么别的好办法。 +防御这种类型的攻击唯一办法就是增大宽带,没有什么别的好办法。 ## 解决方案 -### 低调做人,不要惹是生非 +### 低调做人,不要惹是生非 -在开服圈子里,有大量的攻击并非无故发起。多数时候是因为服主招惹了一些有攻击能力的人,才招致服务器受到攻击。你不是专业的企业家、生意人,你的服务器非常脆弱。我的世界作为世界上销量最高的游戏,其玩家社区非常复杂而混乱。如果你对其做不到非常了解,请务必谨慎对待。 -1. 遇到对服务器中违规感到愤怒的玩家,不要一味地对他采取强硬态度。尽可能和他私下解决,保证他对处罚结果感到满意,如从轻处罚、删除处罚名单等。遇到不讲理的玩家,虽然其行为本身不合理,但顾客就是上帝,你仍然需要与其协商做出让步,在对方确实执意要破坏服务器时,再对其采取强硬态度来保证自身利益。注意协商成功后不要和其他任何玩家提及此事。 -2. 对已付费、已赞助或活跃的玩家放宽违规行为的评判标准,并优先响应其反馈。愿意为服务器花费真金白银或大把时间的玩家通常更在意服务器,他们的体验往往更重要,不仅后期有潜力为服务器带来更多收入和更多玩家,还很有可能在服务器中遭遇负责情绪时采取更极端的行为。你可以在这类玩家违反规定后视其影响对其适当采取宽容态度(睁一只眼闭一只眼),并在他们和其他玩家起冲突时以协调为主,尽可能不对其进行处罚。 -3. 千万不要在其他服务器玩家交流平台(比如服务器群)里宣传自己的服务器。如果你的服务器非常缺人,这时突然来人宣传把你的玩家全抢走了,你怎么想?在其他服务器交流平台上宣传自己的服务器往往会被对方的玩家或管理团队视为不正当竞争,这将激怒他们,并导致他们对你的服务器发起攻击。 -4. 不要招惹任何人,包括任何从事或爱好计算机行业的人和所有mc玩家。请注意,很多人嘴上不说自己喜欢攻击他人,但是他们会在愤怒的情况下想尽一切方法搞砸你的服务器,就像他们和其他人闹矛盾时会起肢体冲突一样。 +在开服圈子里,有大量的攻击并非无故发起。多数时候是因为服主招惹了一些有攻击能力的人,才招致服务器受到攻击。你不是专业的企业家、生意人,你的服务器非常脆弱。我的世界作为世界上销量最高的游戏,其玩家社区非常复杂而混乱。如果你对其做不到非常了解,请务必谨慎对待。 +1. 遇到对服务器中违规感到愤怒的玩家,不要一味地对他采取强硬态度。尽可能和他私下解决,保证他对处罚结果感到满意,如从轻处罚、删除处罚名单等。遇到不讲理的玩家,虽然其行为本身不合理,但顾客就是上帝,你仍然需要与其协商做出让步,在对方确实执意要破坏服务器时,再对其采取强硬态度来保证自身利益。注意协商成功后不要和其他任何玩家提及此事。 +2. 对已付费、已赞助或活跃的玩家放宽违规行为的评判标准,并优先响应其反馈。愿意为服务器花费真金白银或大把时间的玩家通常更在意服务器,他们的体验往往更重要,不仅后期有潜力为服务器带来更多收入和更多玩家,还很有可能在服务器中遭遇负责情绪时采取更极端的行为。你可以在这类玩家违反规定后视其影响对其适当采取宽容态度(睁一只眼闭一只眼),并在他们和其他玩家起冲突时以协调为主,尽可能不对其进行处罚。 +3. 千万不要在其他服务器玩家交流平台(比如服务器群)里宣传自己的服务器。如果你的服务器非常缺人,这时突然来人宣传把你的玩家全抢走了,你怎么想?在其他服务器交流平台上宣传自己的服务器往往会被对方的玩家或管理团队视为不正当竞争,这将激怒他们,并导致他们对你的服务器发起攻击。 +4. 不要招惹任何人,包括任何从事或爱好计算机行业的人和所有mc玩家。请注意,很多人嘴上不说自己喜欢攻击他人,但是他们会在愤怒的情况下想尽一切方法搞砸你的服务器,就像他们和其他人闹矛盾时会起肢体冲突一样。 ### 使用 Velocity / BungeeCord 不要试图单独使用任何后端服务器 (如 Spigot / Paper / Purpur 等) 抵御大规模应用层攻击。 -后端服务器处理连接的速度较慢,这将会导致消耗比代理更多的计算机资源,一旦攻击规模过大,这会导致后端服务器卡顿甚至崩溃。 +后端服务器处理连接的速度较慢,这将会导致消耗比代理更多的计算机资源,一旦攻击规模过大,这会导致后端服务器卡顿甚至崩溃。 -但对于 Velocity / BungeeCord 等代理服务器,它们被设计为允许接受大量连接,且反向代理自带单个 IP 多次重新连接的配置: +但对于 Velocity / BungeeCord 等代理服务器,它们被设计为允许接受大量连接,且反向代理自带单个 IP 多次重新连接的配置: ``` connection_throttle: 4000 connection_throttle_limit: 3 ``` -这意味着,在 4000ms 内最多能连接服务器 3 次,如果超过该值,服务器将拒绝其登入请求。 +这意味着,在 4000ms 内最多能连接服务器 3 次,如果超过该值,服务器将拒绝其登入请求。 ### 在代理端安装反假人插件 -你可以在代理端安装假人过滤插件,同样的,由于代理端相较后端服务器在面对大量连接时更加高效,请务必在**代理端**安装插件。 +你可以在代理端安装假人过滤插件,同样的,由于代理端相较后端服务器在面对大量连接时更加高效,请务必在**代理端**安装插件。 以下是推荐的反机器人插件列表 | 名称 | 介绍 | 支持平台 | 缺点 | |----------------------------------------------------------|--------------------------------|-----------------------------------|-------------------------------| -| [Sonar](https://github.com/jonesdevelopment/sonar) | 轻量级反机器人,皆在检测和移除机器人,而不影响任何真正的玩家 | Velocity, BungeeCord | 暂时没有? | -| [LimboFilter](https://github.com/jonesdevelopment/sonar) | 强大的过滤机器人方案 | Velocity | 笨重且配置复杂,且仅在必要的时候提供更新。 (缺少维护) | -| [nAntiBot](https://en.docs.nickuc.com/v/nantibot) | 一个高效反机器人插件 | Spigot, Velocity, BungeeCord | 依赖云服务,无法在服务器网络不好的情况下使用该插件。 | -| [EpicGuard](https://github.com/4drian3d/EpicGuard) | 基于事件的反机器人和反VPN插件 | Waterfall (停止维护), Paper, Velocity | 容易绕过(但没那么烦人),且只支持特定的Paper服务端。 | -| [AntiAttackRL](https://github.com/AntiAttackMC/AATRL_Public) | 支持多平台的AntiBot插件 | Bukkit, BungeeCord, Folia, Sponge, Velocity与它们的分支 | 受攻击时新玩家无法直接进入,需要管理员操作; 防御方案过时 | +| [Sonar](https://github.com/jonesdevelopment/sonar) | 轻量级反机器人,皆在检测和移除机器人,而不影响任何真正的玩家 | Velocity, BungeeCord | 暂时没有? | +| [LimboFilter](https://github.com/jonesdevelopment/sonar) | 强大的过滤机器人方案 | Velocity | 笨重且配置复杂,且仅在必要的时候提供更新。 (缺少维护) | +| [nAntiBot](https://en.docs.nickuc.com/v/nantibot) | 一个高效反机器人插件 | Spigot, Velocity, BungeeCord | 依赖云服务,无法在服务器网络不好的情况下使用该插件。 | +| [EpicGuard](https://github.com/4drian3d/EpicGuard) | 基于事件的反机器人和反VPN插件 | Waterfall (停止维护), Paper, Velocity | 容易绕过(但没那么烦人),且只支持特定的Paper服务端。 | +| [AntiAttackRL](https://github.com/AntiAttackMC/AATRL_Public) | 支持多平台的AntiBot插件 | Bukkit, BungeeCord, Folia, Sponge, Velocity与它们的分支 | 受攻击时新玩家无法直接进入,需要管理员操作; 防御方案过时 | :::warning -该列表目前仅列出了免费的反假人插件,实际情况可能需要使用者自行决定。 +该列表目前仅列出了免费的反假人插件,实际情况可能需要使用者自行决定。 使用插件直接对抗超大规模的网络攻击是不太现实的。 -如果正在遭受这种攻击,最合理的办法是提升服务器带宽或使用专门针对于此类攻击的代理 +如果正在遭受这种攻击,最合理的办法是提升服务器带宽或使用专门针对于此类攻击的代理 ::: ### 付费防御核心 -如果你非常有钱,你可以打开跨服端[核心选择](https://yizhan.wiki/NitWikit/Java/advance/cross-server/server-core-choose),选择那些付费的跨服端核心,NullCordX 是一个较好的选择。 +如果你非常有钱,你可以打开跨服端[核心选择](https://yizhan.wiki/NitWikit/Java/advance/cross-server/server-core-choose),选择那些付费的跨服端核心,NullCordX 是一个较好的选择。 -但在没有想好的情况下,**不建议为反假人付费**。 +但在没有想好的情况下,**不建议为反假人付费**。 ### 爆破攻击防御 #### 改掉默认端口 -修改默认端口为其他端口。尽可能使用**高位端口**,例如`5000`和`55555`端口尽可能不要使用,`8371`不推荐使用,`36752`推荐使用。 +修改默认端口为其他端口。尽可能使用**高位端口**,例如`5000`和`55555`端口尽可能不要使用,`8371`不推荐使用,`36752`推荐使用。 ##### [修改Windows默认远程桌面端口](https://learn.microsoft.com/zh-cn/windows-server/remote/remote-desktop-services/clients/change-listening-port) ##### [修改Linux系统中默认ssh端口](https://cloud.tencent.com/developer/article/1635355) #### 设置强密码 -对于容易被爆破的服务,如 MCSM、机器人框架、背包同步软件服务端、远程控制等服务,设置强密码,最好 20 位以上,只要软件允许就要包含: +对于容易被爆破的服务,如 MCSM、机器人框架、背包同步软件服务端、远程控制等服务,设置强密码,最好 20 位以上,只要软件允许就要包含: - 大小写英文 - 数字 -- 特殊符号,如`!@#$*_.` +- 特殊符号,如`!@#$*_.` 例如不要使用以下密码: -- `123456`(又短又简单,黑客的最爱) -- `114514`(极常见词汇,114514 是互联网上常见的梗) -- `#sI3wA@!`(虽然复杂但是由于较短仍然容易被暴力破解) -- `skyworkserver`(服务器名) -- `yizhan`(人名、物品名、地名等) -- `111111111111111111111111111`(虽然很长,但是不复杂,仍然容易被破解) -- `minimouse4820030611`(包含生日等个人信息) +- `123456`(又短又简单,黑客的最爱) +- `114514`(极常见词汇,114514 是互联网上常见的梗) +- `#sI3wA@!`(虽然复杂但是由于较短仍然容易被暴力破解) +- `skyworkserver`(服务器名) +- `yizhan`(人名、物品名、地名等) +- `111111111111111111111111111`(虽然很长,但是不复杂,仍然容易被破解) +- `minimouse4820030611`(包含生日等个人信息) 并尽可能不使用以下密码: -- `yizhan114514`(由常见词汇组成) -- `shuodedaoli`(汉语拼音而且对应的汉语为常见词汇,本密码对应的汉语词汇为常见的梗“说的道理”) -- `#tianjifuwuqi`(除了寥寥几位强密码以外其他都是弱密码) +- `yizhan114514`(由常见词汇组成) +- `shuodedaoli`(汉语拼音而且对应的汉语为常见词汇,本密码对应的汉语词汇为常见的梗“说的道理”) +- `#tianjifuwuqi`(除了寥寥几位强密码以外其他都是弱密码) #### 在操作系统中安装防御软件 ##### Windows -有火绒(家庭版即自带安全防护无需付费)等杀毒软件可供选择,宝塔面板也可以购买付费的防爆破功能 +有火绒(家庭版即自带安全防护无需付费)等杀毒软件可供选择,宝塔面板也可以购买付费的防爆破功能 ##### Linux 有雷池waf、1P等面板可供选择 @@ -171,39 +171,39 @@ connection_throttle_limit: 3 #### 将服务器托管到高防机房/购买高防 VPS -对于大多数 MC 服务器,150G 的防御是足够的,性价比较高。 +对于大多数 MC 服务器,150G 的防御是足够的,性价比较高。 -一般托管一个月大概 800 RMB,速率为 50 Mbps。 +一般托管一个月大概 800 RMB,速率为 50 Mbps。 建议最多升级到 300G 防御 (再多就放弃吧这是想让你倒闭的)。 -如果是 VPS,建议向 VPS 提供商咨询防御服务。 +如果是 VPS,建议向 VPS 提供商咨询防御服务。 #### 套 CloudFlare -最稳定的办法还是白嫖 CloudFlare 的免费套餐,无限防御流量。 +最稳定的办法还是白嫖 CloudFlare 的免费套餐,无限防御流量。 -但不太好的地方就是免费用户是没有办法使用国内节点的,所以国内访问会较慢。 +但不太好的地方就是免费用户是没有办法使用国内节点的,所以国内访问会较慢。 #### 使用第三方Minecraft代理 例如 TCPShield 和 Infinity-Filter。 -包含专门针对于缓解 Minecraft 攻击的负载均衡代理,且能够有效隐藏服务器 IP 地址。 +包含专门针对于缓解 Minecraft 攻击的负载均衡代理,且能够有效隐藏服务器 IP 地址。 -缺点是似乎还没有任何一家这样的代理拥有国内服务器(延迟高),且需要花费一点时间设置。 +缺点是似乎还没有任何一家这样的代理拥有国内服务器(延迟高),且需要花费一点时间设置。 -这些代理的免费套餐都具有一定的限制(例如限制玩家数或流量),除非你升级套餐。 +这些代理的免费套餐都具有一定的限制(例如限制玩家数或流量),除非你升级套餐。 使用前请三思。 #### 狂套 Frp -这个方法比较缺德,我们只需要疯狂 Frp ,一个 Frp 被打死了,我们就换另一个 Frp ,通知玩家重新连接就可以。 +这个方法比较缺德,我们只需要疯狂 Frp ,一个 Frp 被打死了,我们就换另一个 Frp ,通知玩家重新连接就可以。 :::danger -除非迫不得已,不要使用这种方法防御攻击。就算被迫使用这种方法防御攻击,也千万不要告诉任何人,最好对于自己的服务器管理员也闭口不谈,只说“攻击的事我暂时解决了,让玩家进服吧”。因为在开服圈子的任何一处这种方法都是一种十分自私、对同行极不负责任的行为。你的行为可能会导致相应的内网穿透运营商突然出现大量额外支出,并影响大量使用同一节点的人正常使用服务(如果节点被打死了,那么攻击者就是在攻击你的过程中误伤了大量其他无辜用户)。不要因为你图省事的想法牵连无辜的陌生人。 +除非迫不得已,不要使用这种方法防御攻击。就算被迫使用这种方法防御攻击,也千万不要告诉任何人,最好对于自己的服务器管理员也闭口不谈,只说“攻击的事我暂时解决了,让玩家进服吧”。因为在开服圈子的任何一处这种方法都是一种十分自私、对同行极不负责任的行为。你的行为可能会导致相应的内网穿透运营商突然出现大量额外支出,并影响大量使用同一节点的人正常使用服务(如果节点被打死了,那么攻击者就是在攻击你的过程中误伤了大量其他无辜用户)。不要因为你图省事的想法牵连无辜的陌生人。 ::: @@ -212,12 +212,12 @@ connection_throttle_limit: 3 攻击者需要服务器的 IP 地址才能攻击。 -可以不断的更换 IP 地址,打死一个换一个。 +可以不断的更换 IP 地址,打死一个换一个。 -还可以使用动态DNS (DDNS),换 IP 还能顺便更新 DNS 记录。 +还可以使用动态DNS (DDNS),换 IP 还能顺便更新 DNS 记录。 :::danger -如果你使用的是腾讯云之类的大厂 VPS ,永远不要尝试硬扛 DDOS ,服务器受攻击流量超过其机房黑洞阈值时,VPS 会屏蔽服务器的外网访问,直接断网并且恢复时间未知。 +如果你使用的是腾讯云之类的大厂 VPS ,永远不要尝试硬扛 DDOS ,服务器受攻击流量超过其机房黑洞阈值时,VPS 会屏蔽服务器的外网访问,直接断网并且恢复时间未知。 ::: diff --git a/docs/process/maintenance/how-to-prevent-crash-server.md b/docs/process/maintenance/how-to-prevent-crash-server.md index d527ffd80..91daa89a4 100644 --- a/docs/process/maintenance/how-to-prevent-crash-server.md +++ b/docs/process/maintenance/how-to-prevent-crash-server.md @@ -6,7 +6,7 @@ title: 如何预防崩服 会有部分不怀好意的人去测试服务器的崩溃漏洞。 -别担心,长期保持维护的插件一般不会有崩溃的漏洞,但是我们也要有预防的准备。 +别担心,长期保持维护的插件一般不会有崩溃的漏洞,但是我们也要有预防的准备。 ## 分类 @@ -14,17 +14,17 @@ title: 如何预防崩服 ### 插件类 -在服务器上安装了老版本/未发现漏洞的插件可能导致插件因bug自行崩溃,甚至甚至有漏洞被攻击者利用。这类通常需要服主做好相应的措施预防。首先在选用插件时就应注意: -1. 初次安装时就尽可能解决 WARN 和 ERROR,实在不行就立刻换插件 -2. 少用,最好不用停更插件 -3. 少用,最好不用黑插件 +在服务器上安装了老版本/未发现漏洞的插件可能导致插件因bug自行崩溃,甚至甚至有漏洞被攻击者利用。这类通常需要服主做好相应的措施预防。首先在选用插件时就应注意: +1. 初次安装时就尽可能解决 WARN 和 ERROR,实在不行就立刻换插件 +2. 少用,最好不用停更插件 +3. 少用,最好不用黑插件 4. 尽可能使用用户数多的插件 -就算你已经保证选用了可依赖的插件,仍然要对这类问题进行预防。具体预防方面有: +就算你已经保证选用了可依赖的插件,仍然要对这类问题进行预防。具体预防方面有: -1. 对玩家使用的指令进行限制,最好是通过白名单,仅开放玩家会用到的指令。 +1. 对玩家使用的指令进行限制,最好是通过白名单,仅开放玩家会用到的指令。 -2. 将服务器的插件做好隐藏和伪装,尽可能防止攻击者获得服务器所使用的插件。 +2. 将服务器的插件做好隐藏和伪装,尽可能防止攻击者获得服务器所使用的插件。 #### 推荐添加黑名单的指令
@@ -67,14 +67,14 @@ title: 如何预防崩服 ### 运行环境类 -这类漏洞基本上很难避免,如log4j,在未发现之前谁也不知道。 +这类漏洞基本上很难避免,如log4j,在未发现之前谁也不知道。 -服主还是尽可能的多关注网络信息,保证自己能尽快了解到一些漏洞的产生,防止被攻击者钻空子。 +服主还是尽可能的多关注网络信息,保证自己能尽快了解到一些漏洞的产生,防止被攻击者钻空子。 -### 发包类/物品类(也称原版漏洞) +### 发包类/物品类(也称原版漏洞) -简单来说,就是向服务器发送一些无法处理/处理缓慢的包。 +简单来说,就是向服务器发送一些无法处理/处理缓慢的包。 -如经典的Book崩服/告示牌崩服(高版本已修复) +如经典的Book崩服/告示牌崩服(高版本已修复) -这类如果你是低版本服务器,就需要安装相应的插件进行防御。 +这类如果你是低版本服务器,就需要安装相应的插件进行防御。 diff --git a/docs/process/maintenance/how-to-troubleshoot-problematic-plugins.md b/docs/process/maintenance/how-to-troubleshoot-problematic-plugins.md index c491b9992..7766a0f9b 100644 --- a/docs/process/maintenance/how-to-troubleshoot-problematic-plugins.md +++ b/docs/process/maintenance/how-to-troubleshoot-problematic-plugins.md @@ -5,43 +5,43 @@ sidebar_position: 7 # 如何排除有问题的插件 -当我们更新了服务器一些插件后,可能会发现某些插件出了一些问题,应该如何排除呢? +当我们更新了服务器一些插件后,可能会发现某些插件出了一些问题,应该如何排除呢? ## log 定位 -对于 ERROR 和 WARN 类型的 log 进行分析,查看堆栈报错中是否有某个插件名或者插件的 `.jar` 文件。 +对于 ERROR 和 WARN 类型的 log 进行分析,查看堆栈报错中是否有某个插件名或者插件的 `.jar` 文件。 -将报错先翻译一遍,确定其中是否提示了错误的类型(如缺少前置,缺少类,插件需要更新等)。 +将报错先翻译一遍,确定其中是否提示了错误的类型(如缺少前置,缺少类,插件需要更新等)。 -然后你可以尝试按照[如何向大佬求助](https://yizhan.wiki/NitWikit/Java/start/ask-for-help)中提到的方法,增加问题解决的可能性。 +然后你可以尝试按照[如何向大佬求助](https://yizhan.wiki/NitWikit/Java/start/ask-for-help)中提到的方法,增加问题解决的可能性。 ## 二分法 -二分法的基本思想是通过逐步缩小问题可能出现的范围,直到找到确切的问题所在。 +二分法的基本思想是通过逐步缩小问题可能出现的范围,直到找到确切的问题所在。 具体操作方面: -1. 保留所有的前置插件,如 Protocolib、Luckperms、Xconomy 等。 +1. 保留所有的前置插件,如 Protocolib、Luckperms、Xconomy 等。 -2. 将其他插件复制到新文件夹中,删除 `/plugins/` 中非前置插件的 `.jar` 文件。 +2. 将其他插件复制到新文件夹中,删除 `/plugins/` 中非前置插件的 `.jar` 文件。 -3. 查看新文件夹中的插件数量,选择其中的一半复制到 `/plugins/` 文件夹中,重启。 +3. 查看新文件夹中的插件数量,选择其中的一半复制到 `/plugins/` 文件夹中,重启。 -4. 如果没有问题,重复上一步;如果出现插件无法加载先查看是否出现 `miss dependency` 即缺少前置。 +4. 如果没有问题,重复上一步;如果出现插件无法加载先查看是否出现 `miss dependency` 即缺少前置。 -5. 如果出现问题,说明出问题的插件就在刚才复制的插件中,将确认没问题的插件保留在插件文件夹中,然后再从刚复制的插件中选择一半插件加入插件文件夹中。 +5. 如果出现问题,说明出问题的插件就在刚才复制的插件中,将确认没问题的插件保留在插件文件夹中,然后再从刚复制的插件中选择一半插件加入插件文件夹中。 -6. 重复以上步骤,直到发现某一插件加入前没有问题而加入后出现问题,即可确定为该插件的问题。 +6. 重复以上步骤,直到发现某一插件加入前没有问题而加入后出现问题,即可确定为该插件的问题。 :::tip -实际上,不只是插件问题,你遇到的其他很多问题都可以使用二分法让你在不知道原因的情况下锁定问题 +实际上,不只是插件问题,你遇到的其他很多问题都可以使用二分法让你在不知道原因的情况下锁定问题 ::: # 控制变量法 -当需要排查的范围比较小时,相比二分法,控制变量法可能会更合适 +当需要排查的范围比较小时,相比二分法,控制变量法可能会更合适 具体操作方面: @@ -52,6 +52,6 @@ sidebar_position: 7 :::tip -同二分法底下的提示,不只是插件问题可以用控制变量法 +同二分法底下的提示,不只是插件问题可以用控制变量法 ::: diff --git a/docs/process/maintenance/maintenance.md b/docs/process/maintenance/maintenance.md index 20922e984..c8575fe21 100644 --- a/docs/process/maintenance/maintenance.md +++ b/docs/process/maintenance/maintenance.md @@ -6,15 +6,15 @@ sidebar_position: 2 # 服务器维护 -当你搭建好服务器后,需要做一些维护工作来保证服务器良好的运行,除非你压根不考虑玩家数据安全问题。 +当你搭建好服务器后,需要做一些维护工作来保证服务器良好的运行,除非你压根不考虑玩家数据安全问题。 ## 安装防熊插件 类似 CoreProtect 等防熊插件可以记录玩家的几乎所有操作。 -如果遇到熊孩子恶意毁坏,可以使用插件回溯功能单独回溯熊孩子的操作。 +如果遇到熊孩子恶意毁坏,可以使用插件回溯功能单独回溯熊孩子的操作。 -即使在区块出现损坏的情况下,这些插件也能在一定程度上减少区块损坏所造成的影响。见 [防熊插件](https://yizhan.wiki/NitWikit/Java/AntiGrief)。 +即使在区块出现损坏的情况下,这些插件也能在一定程度上减少区块损坏所造成的影响。见 [防熊插件](https://yizhan.wiki/NitWikit/Java/AntiGrief)。 ## 检查日志 @@ -22,9 +22,9 @@ sidebar_position: 2 每次维护服务器时请务必查看服务器近期的日志。 -对于 ERROR 等级的报错请立即处理,自行在网络查询或咨询其他人。 +对于 ERROR 等级的报错请立即处理,自行在网络查询或咨询其他人。 -对于 WARN 等级的报错,请尝试通过翻译等手段了解 warn 的内容,自行在网络查询或咨询其他人。 +对于 WARN 等级的报错,请尝试通过翻译等手段了解 warn 的内容,自行在网络查询或咨询其他人。 :::warning diff --git a/docs/process/process.md b/docs/process/process.md index e4f22afbe..2e1b0e01c 100644 --- a/docs/process/process.md +++ b/docs/process/process.md @@ -6,7 +6,7 @@ sidebar_position: 5 # 建设阶段 -在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 +在这个阶段,你已经了解了基础知识,是时候学习一些进阶知识了。 在这一章我们主要围绕以下几个点: @@ -14,8 +14,8 @@ import DocCardList from '@theme/DocCardList'; -插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识; +插件 - 推荐一些常见的插件,并且提及相关的注意事项和基础知识; -手机玩家支持 - 这部分比较复杂,且通常在国内网站上没有真正详尽的介绍; +手机玩家支持 - 这部分比较复杂,且通常在国内网站上没有真正详尽的介绍; -跨服 - 介绍反向代理端,指导搭建自己的反向代理服务器。 +跨服 - 介绍反向代理端,指导搭建自己的反向代理服务器。 diff --git a/docs/reading-guide.md b/docs/reading-guide.md index 26c87018a..e04fcffd2 100644 --- a/docs/reading-guide.md +++ b/docs/reading-guide.md @@ -5,13 +5,13 @@ sidebar_position: 2 # 这是什么? -这是本文档的阅读指引,为你提供参考,不至于摸不着头脑 +这是本文档的阅读指引,为你提供参考,不至于摸不着头脑 ## 我想开 Java 版服务器 :::tip -通常与下面的 Bedrock(基岩) 二选一 +通常与下面的 Bedrock(基岩) 二选一 ::: @@ -19,7 +19,7 @@ sidebar_position: 2 然后按照那里的目录顺序从上到下阅读 -## 我想开 Bedrock(基岩) 版服务器 +## 我想开 Bedrock(基岩) 版服务器 :::tip @@ -39,4 +39,4 @@ sidebar_position: 2 # 搜索 -搜索只能在此板块内使用,例如在 **“Java”** 板块不能搜索到 **“Bedrock”** 板块的内容 +搜索只能在此板块内使用,例如在 **“Java”** 板块不能搜索到 **“Bedrock”** 板块的内容 diff --git a/docs/start/ask-for-help.md b/docs/start/ask-for-help.md index 9a4cc0ad1..59f87828b 100644 --- a/docs/start/ask-for-help.md +++ b/docs/start/ask-for-help.md @@ -5,35 +5,35 @@ sidebar_position: 7 # 如何向大佬求助 -首先明确,你是求助者不是少爷,第二,大多数人还是愿意互帮互助的。 +首先明确,你是求助者不是少爷,第二,大多数人还是愿意互帮互助的。 :::warning -在问问题之前一定确保你已经看完这一章,因为有时候你的傲慢、无休止的问题会激怒同行们,导致他们入侵你的服务器,查你户口,给你服务器召唤 200 个假人,或者全服主交流群通报等。 +在问问题之前一定确保你已经看完这一章,因为有时候你的傲慢、无休止的问题会激怒同行们,导致他们入侵你的服务器,查你户口,给你服务器召唤 200 个假人,或者全服主交流群通报等。 ::: ## 错误问问题的方式 -一般来说,入门任何的领域会遇到问题,都需要问问题,但大家基本都不欢迎以下的问题: +一般来说,入门任何的领域会遇到问题,都需要问问题,但大家基本都不欢迎以下的问题: **`怎么开基岩版互通`** -- 太直白了,请别人帮忙之前最好稍微带一些**态度**。 +- 太直白了,请别人帮忙之前最好稍微带一些**态度**。 **`什么是 pojav?插件的 wiki 在哪里?`** -- **不要把群和人当做搜索引擎**(除非打钱了)。 +- **不要把群和人当做搜索引擎**(除非打钱了)。 **`我玩家进不来服务器怎么办`** -- **描述模糊**,可能性太多以至于没有人猜出。 +- **描述模糊**,可能性太多以至于没有人猜出。 **`不正确提供 log 或不提供 log`** -- 以下这些情况,应该去天桥的老大爷找你算算命,因为没有有效的 log 没人能知道你遇到的问题。 +- 以下这些情况,应该去天桥的老大爷找你算算命,因为没有有效的 log 没人能知道你遇到的问题。 - 在 **服务器** 问题中提供 **客户端** log。 -- **不完整** 的 log,甚至 **不提供** log。 +- **不完整** 的 log,甚至 **不提供** log。 - 错误的将**客户端**收到的报错当做**服务端**报错。 - **直接将成百上千行的 log 发到交流群** @@ -41,32 +41,32 @@ sidebar_position: 7 ![](_images/不要截图这个啊.png) -这段话是告诉你去控制台看报错,你把这段话截图给群发干什么?群友是控制台? +这段话是告诉你去控制台看报错,你把这段话截图给群发干什么?群友是控制台? ::: # 我应该怎么做? -为避免无效问题,问问题最好需要符合以下几个基础原则: +为避免无效问题,问问题最好需要符合以下几个基础原则: 1. 先查 wiki 或搜索 - [详细说明](#看完-wiki-再问) 2. 礼貌用语 -例如,你应该: +例如,你应该: - 使用一定的称呼:`请问大佬们我的 xxx 插件报错 NullPointerException 该怎么办呢?` -- 使用敬语:`打扰一下,我最近服务器总是报错 The server has not responded for 35 seconds! 请问有人知道怎么回事吗?` +- 使用敬语:`打扰一下,我最近服务器总是报错 The server has not responded for 35 seconds! 请问有人知道怎么回事吗?` 而不能: - 开门见山:`服务器报错是这个 C++ Exception: std::optional 是啥情况` -- 发言不友好:`你不知道可以不说话,别在这浪费我时间` -- 斥责他人:`你是不不会写插件啊,这插件怎么能开服就报错呢` +- 发言不友好:`你不知道可以不说话,别在这浪费我时间` +- 斥责他人:`你是不不会写插件啊,这插件怎么能开服就报错呢` -3. 明确遇到的问题,到**对应群**里问 +3. 明确遇到的问题,到**对应群**里问 -例如,你应该: +例如,你应该: - 某插件出现不适配问题后在名为“我的世界服主交流群”的开服综合交流群里提问 `请问在升级 paper1.20.4 之后遇到 xxx 插件不适配应该怎么办?` -- 某小众插件与 Leaves 核心出现兼容性问题后在该插件官方交流群里提问 `作者大大,你的 xxx 插件和 leaves 核心是不是有兼容性问题呢?` +- 某小众插件与 Leaves 核心出现兼容性问题后在该插件官方交流群里提问 `作者大大,你的 xxx 插件和 leaves 核心是不是有兼容性问题呢?` 而不能: - PowerNukkitX 核心相关问题到 LeviLemina 交流群里提问 @@ -75,56 +75,56 @@ sidebar_position: 7 4. 提到服务器环境 -例如,你应该: -- `大佬们我是 1.16.5 catserver 服务器,遇到了 xxx 问题` -- `最近我升级到了 1.21 paper 核心,玩家反应 xxx 有人有类似的问题吗?` +例如,你应该: +- `大佬们我是 1.16.5 catserver 服务器,遇到了 xxx 问题` +- `最近我升级到了 1.21 paper 核心,玩家反应 xxx 有人有类似的问题吗?` 而不能: -- 仅给出插件名和报错却不给出服务端版本等信息:`大佬们有没有人知道我这个 xxx 插件怎么加载不了,报错 NoClassDefFoundError?` -- 仅附上报错信息却没有给出任何服务端版本、加载器版本、插件列表等信息:`有没有大佬能帮我看看这个崩服是为什么,什么也不干跑一跑图就崩,ll加载器` +- 仅给出插件名和报错却不给出服务端版本等信息:`大佬们有没有人知道我这个 xxx 插件怎么加载不了,报错 NoClassDefFoundError?` +- 仅附上报错信息却没有给出任何服务端版本、加载器版本、插件列表等信息:`有没有大佬能帮我看看这个崩服是为什么,什么也不干跑一跑图就崩,ll加载器` 5. 给出合理的日志 - [详细说明](#给出日志) ## 看完 Wiki 再问 -Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会获得 `滚过去看 wiki ` 回复。 +Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会获得 `滚过去看 wiki ` 回复。 -几乎所有的软件都会附上 Wiki,它们一般位于: -- 插件的 README 文件(GitHub 主页往下翻一般就是) -- 插件作者在社交媒体发布的视频文章等或自行搭建的网站(入口一般可以在插件的论坛介绍页、官网、 README 中找到) -- 插件作者在即时通讯软件上发布的视频文章等(比如有的插件作者会让你加他的 QQ 群,之后把使用文档放在群文件或群公告里) +几乎所有的软件都会附上 Wiki,它们一般位于: +- 插件的 README 文件(GitHub 主页往下翻一般就是) +- 插件作者在社交媒体发布的视频文章等或自行搭建的网站(入口一般可以在插件的论坛介绍页、官网、 README 中找到) +- 插件作者在即时通讯软件上发布的视频文章等(比如有的插件作者会让你加他的 QQ 群,之后把使用文档放在群文件或群公告里) -**请先耐心寻找这些文档**,实在找不到说明作者可能确实没有写,这种情况下再提问 +**请先耐心寻找这些文档**,实在找不到说明作者可能确实没有写,这种情况下再提问 -此外,Wiki 中一般会有搜索功能。如果 Wiki 中的内容非常多,对于你来说是很难找到自己想要的信息的。好在多数 Wiki 网站中都有搜索功能。你可以在页面中找到搜索框,然后在其中输入关键词即可。 +此外,Wiki 中一般会有搜索功能。如果 Wiki 中的内容非常多,对于你来说是很难找到自己想要的信息的。好在多数 Wiki 网站中都有搜索功能。你可以在页面中找到搜索框,然后在其中输入关键词即可。 -**在搜索时,一定要使用尽可能简短的关键词。Wiki 中的搜索工具不像搜索引擎,无法通过近义词来查找内容。一旦你描述中的词汇与 Wiki 的用词不一致,就可能造成无法找到想要的结果。** +**在搜索时,一定要使用尽可能简短的关键词。Wiki 中的搜索工具不像搜索引擎,无法通过近义词来查找内容。一旦你描述中的词汇与 Wiki 的用词不一致,就可能造成无法找到想要的结果。** -如果 Wiki 中没有搜索功能,你可以使用浏览器的搜索功能。在所有主流浏览器中,Windows 下按下 `Ctrl + F`、macOS 下按下 `Command + F` 即可启用搜索功能。 +如果 Wiki 中没有搜索功能,你可以使用浏览器的搜索功能。在所有主流浏览器中,Windows 下按下 `Ctrl + F`、macOS 下按下 `Command + F` 即可启用搜索功能。 -对于不是网站形式的 Wiki 来说,也有许多种办法来搜索: +对于不是网站形式的 Wiki 来说,也有许多种办法来搜索: -### docx(Word 文档) +### docx(Word 文档) -按下 `Ctrl + F` (Windows)或 `Command + F` (macOS)即可启动 Microsoft Word 或 WPS 的搜索功能,搜索当前文档。 +按下 `Ctrl + F` (Windows)或 `Command + F` (macOS)即可启动 Microsoft Word 或 WPS 的搜索功能,搜索当前文档。 ### txt 按下 `Ctrl + F` 即可启动 Windows 记事本的搜索功能;按下 `Command + F` 即可启动 macOS 文本编辑 app 的搜索功能。 -**只有最后你尝试各种办法都没能在 Wiki 中找到你想要的内容时,证明 Wiki 中确实没有写入相关内容,这时才能进行提问。** +**只有最后你尝试各种办法都没能在 Wiki 中找到你想要的内容时,证明 Wiki 中确实没有写入相关内容,这时才能进行提问。** ## 给出日志 ### 笨蛋脚本 -使用此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/update-log.exe),会将日志自动上传到 mclo.gs (默认上传的日志是 `logs/latest.log`) +使用此[脚本](https://github.com/lilingfengdev/NitWiki-Script/releases/download/windows-latest/update-log.exe),会将日志自动上传到 mclo.gs (默认上传的日志是 `logs/latest.log`) ### 如何上传 -当你询问问题的时候,发出你的报错日志(推荐一个网站 [Mclogs](https://mclo.gs/),很方便的上传日志, +当你询问问题的时候,发出你的报错日志(推荐一个网站 [Mclogs](https://mclo.gs/),很方便的上传日志, -你需要明白你面对的是群友而不是道友,没有人可以在没有日志的情况下帮你解决问题, +你需要明白你面对的是群友而不是道友,没有人可以在没有日志的情况下帮你解决问题, 如果你遇到的是大佬还可以给你算一卦。 @@ -133,7 +133,7 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会 ![](_images/问问题的技巧/如何使用Mclogs-1.png) -服务器 log 文件在服务端根目录的 logs 文件夹,一般上传 latest.log (服务端最新的日志)即可 +服务器 log 文件在服务端根目录的 logs 文件夹,一般上传 latest.log (服务端最新的日志)即可 ![](_images/问问题的技巧/如何使用Mclogs-2.png) @@ -167,7 +167,7 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会 :::warning -不遵守以上规则,可能会导致你写入**乐子文档** +不遵守以上规则,可能会导致你写入**乐子文档** ::: @@ -187,4 +187,4 @@ Wiki 就是让你解决常见问题的,不看这玩意儿就在那瞎问只会 ![](_images/问问题的技巧/林然-2.png) -对不起大佬,是我疏忽了,没说明服务器没停也是会输出日志到 `latest.log` 的 \ No newline at end of file +对不起大佬,是我疏忽了,没说明服务器没停也是会输出日志到 `latest.log` 的 \ No newline at end of file diff --git a/docs/start/basic/basic.md b/docs/start/basic/basic.md index 967d6d31d..7377dcfad 100644 --- a/docs/start/basic/basic.md +++ b/docs/start/basic/basic.md @@ -6,11 +6,11 @@ sidebar_position: 5 # 基础知识 -考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 +考虑到笨蛋教程主要面向新手,我们无法了解你了解什么不了解什么。 -本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, +本文档暂时就开服最重要的基础概念进行介绍,如果有你自认为非常了解或者不重要的部分, -跳过他吧,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 +跳过他吧,因为我们在后面再次提到这些概念的时候会重新跳转到对应链接。 import DocCardList from '@theme/DocCardList'; diff --git a/docs/start/basic/what-is-caton.md b/docs/start/basic/what-is-caton.md index f7b5ae41f..ff782883f 100644 --- a/docs/start/basic/what-is-caton.md +++ b/docs/start/basic/what-is-caton.md @@ -5,15 +5,15 @@ sidebar_position: 2 # 什么是卡顿? -服务器中玩家可感知到的卡顿是多种多样的,其中主要包括服务器处理速度不足导致的 **MSPT** 偏高, **TPS** 偏低, +服务器中玩家可感知到的卡顿是多种多样的,其中主要包括服务器处理速度不足导致的 **MSPT** 偏高, **TPS** 偏低, -服务器网络波动导致的 **Ping** (即为服务器和玩家之间的网络延迟) +服务器网络波动导致的 **Ping** (即为服务器和玩家之间的网络延迟) -总的说来 **MSPT** 和 **TPS** 是用于评价服务器流畅程度的,而 **Ping** 是用于评价服务器和玩家之间的网络稳定性。 +总的说来 **MSPT** 和 **TPS** 是用于评价服务器流畅程度的,而 **Ping** 是用于评价服务器和玩家之间的网络稳定性。 :::tip -玩家往往分不清到底是服务器卡顿还是网络延迟,请服主自行区分。不用因为玩家在社区说一句 `"服务器卡了"` 然后就默认是服务器问题。 +玩家往往分不清到底是服务器卡顿还是网络延迟,请服主自行区分。不用因为玩家在社区说一句 `"服务器卡了"` 然后就默认是服务器问题。 ::: @@ -21,63 +21,63 @@ sidebar_position: 2 Minecraft 服务器卡顿的底层逻辑是什么? -**理想情况下**,Minecraft 无论什么版本都是每秒钟刷新 20 次,也就是说每次刷新之间间隔 50 ms ( 1000 ms / 20 ) 刷新一次,即为一个 **Tick**; +**理想情况下**,Minecraft 无论什么版本都是每秒钟刷新 20 次,也就是说每次刷新之间间隔 50 ms ( 1000 ms / 20 ) 刷新一次,即为一个 **Tick**; ![](https://spark.lucko.me/docs/assets/images/ticks-lagging-0bec1e4f565281af7a643f94222df521.png) -**正常情况下**,每个 Tick 都小于 50ms ,为了保证 Minecraft 以 20 Tick 每秒的速度运行,服务器将选择等待下一个 Tick; +**正常情况下**,每个 Tick 都小于 50ms ,为了保证 Minecraft 以 20 Tick 每秒的速度运行,服务器将选择等待下一个 Tick; ![](https://spark.lucko.me/docs/assets/images/ticks-with-sleeping-3b944bf10f5a21b16d1454f2d7fee434.png) -**服务器滞后时**,当服务器某个 Tick 无法在 50ms 内完成时,服务器将产生滞后,一旦滞后,每个 Tick 将会顺延,每秒钟发生的 Tick 将会减少。 +**服务器滞后时**,当服务器某个 Tick 无法在 50ms 内完成时,服务器将产生滞后,一旦滞后,每个 Tick 将会顺延,每秒钟发生的 Tick 将会减少。 ![](https://spark.lucko.me/docs/assets/images/ticks-lagging-0bec1e4f565281af7a643f94222df521.png) :::warning -此处只是最简单的理解,要对卡顿有更深层的理解请查看 TODO:多线程 +此处只是最简单的理解,要对卡顿有更深层的理解请查看 TODO:多线程 ::: ### TPS -TPS(Ticks Per Second)(每秒 Tick 数) 正常应为 20 ,即服务器每秒钟进行 20 次更新,确保红石、生物 AI 等按照正常工作。 +TPS(Ticks Per Second)(每秒 Tick 数) 正常应为 20 ,即服务器每秒钟进行 20 次更新,确保红石、生物 AI 等按照正常工作。 :::warning -TPS 只是最基础的量化卡顿程度。并不是 TPS 高,玩家就感受不到卡顿,也不是 TPS 低就一定会感受到非常卡顿。这是因为,TPS 只是计算一个平均值,如果某一个 Tick 花费了 800 ms ,而剩下的 18 Tick 只花费了 200 ms,即使计算出的 TPS 为 19 但玩家会感受到的 800 ms 的滞后。下文提到的 MSPT 能够更加精准量化卡顿程度。 +TPS 只是最基础的量化卡顿程度。并不是 TPS 高,玩家就感受不到卡顿,也不是 TPS 低就一定会感受到非常卡顿。这是因为,TPS 只是计算一个平均值,如果某一个 Tick 花费了 800 ms ,而剩下的 18 Tick 只花费了 200 ms,即使计算出的 TPS 为 19 但玩家会感受到的 800 ms 的滞后。下文提到的 MSPT 能够更加精准量化卡顿程度。 ::: ### MSPT -MSPT(Milliseconds Per Tick)(就是每进行一次 Tick 所花费的毫秒数) +MSPT(Milliseconds Per Tick)(就是每进行一次 Tick 所花费的毫秒数) -如果 MSPT 数值较低,说明服务器可以迅速快速进行每次 Tick ,游戏运行更为流畅。 +如果 MSPT 数值较低,说明服务器可以迅速快速进行每次 Tick ,游戏运行更为流畅。 -反之,如果 MSPT 过高,意味着每次 Tick 所需的时间变长,游戏的运行速度就会变慢,进而影响到整体的 TPS。 +反之,如果 MSPT 过高,意味着每次 Tick 所需的时间变长,游戏的运行速度就会变慢,进而影响到整体的 TPS。 -影响 MSPT 的东西很多,如区块生成,AI 计算,插件计划任务等都会影响 MSPT。 +影响 MSPT 的东西很多,如区块生成,AI 计算,插件计划任务等都会影响 MSPT。 ### 查看 TPS 和 MSPT 1. 如果为 purpur fork 服务器可以输入 /tpsbar 查看 MSPT 和 TPS; -2. 如果为 paper 服务器可输入 /mspt 查看 MSPT,输入 /tps 查看 TPS; +2. 如果为 paper 服务器可输入 /mspt 查看 MSPT,输入 /tps 查看 TPS; -3. 安装 [TpsBar](https://hangar.papermc.io/jmp/TabTPS) ,显示更好看。 +3. 安装 [TpsBar](https://hangar.papermc.io/jmp/TabTPS) ,显示更好看。 ## 网络延迟 -在 Minecraft 中,网络延迟(通常表示为 Ping)是玩家连接到服务器时数据传输所花费的时间。 +在 Minecraft 中,网络延迟(通常表示为 Ping)是玩家连接到服务器时数据传输所花费的时间。 -Ping 值的高低直接影响了玩家在游戏中的体验,特别是在需要快速反应和精确操作的场合。 +Ping 值的高低直接影响了玩家在游戏中的体验,特别是在需要快速反应和精确操作的场合。 ### 如何计算 Ping -当玩家在 Minecraft 中尝试与服务器通信时,玩家的计算机会向服务器发送一个数据包,然后等待服务器的响应。 +当玩家在 Minecraft 中尝试与服务器通信时,玩家的计算机会向服务器发送一个数据包,然后等待服务器的响应。 -从数据包发送出去到收到服务器的响应,所花费的时间就是 Ping 值。Ping 通常以 ms 为单位来表示。 +从数据包发送出去到收到服务器的响应,所花费的时间就是 Ping 值。Ping 通常以 ms 为单位来表示。 Ping 值的高低对游戏体验有着显著的影响。 @@ -91,14 +91,14 @@ Ping 的具体要求大概和服务器本身的性质有关系 2. 生存服务器:< 200 ms 3. 建筑服务器:< 500 ms -此处的延迟为玩家在该类型服务器游戏体验明显变差的阈值,并非高于本数值就完全不可玩。总而言之,为玩家提供可靠的链接是每个服务器应尽的义务。 +此处的延迟为玩家在该类型服务器游戏体验明显变差的阈值,并非高于本数值就完全不可玩。总而言之,为玩家提供可靠的链接是每个服务器应尽的义务。 ::: ### 显示 Ping -1. 在多人游戏列表中,当玩家在多人游戏列表中浏览服务器时,每个服务器旁边通常会显示一个 Ping 值。 +1. 在多人游戏列表中,当玩家在多人游戏列表中浏览服务器时,每个服务器旁边通常会显示一个 Ping 值。 -2. 进入服务器后,按下 TAB 即可查看每个人的 Ping 大概状态(根据信号格数)。 +2. 进入服务器后,按下 TAB 即可查看每个人的 Ping 大概状态(根据信号格数)。 -3. 安装了 PlaceholderAPI 和 任意 TAB 类插件,将 `%player_ping%` 作为变量可在目标位置显示具体延迟。 +3. 安装了 PlaceholderAPI 和 任意 TAB 类插件,将 `%player_ping%` 作为变量可在目标位置显示具体延迟。 diff --git a/docs/start/basic/what-is-log.md b/docs/start/basic/what-is-log.md index 8be131420..d6a72940c 100644 --- a/docs/start/basic/what-is-log.md +++ b/docs/start/basic/what-is-log.md @@ -5,17 +5,17 @@ sidebar_position: 6 # 什么是日志? -**日志**记录了服务器的运行信息,运行时产生的错误和警告,同时也是大佬们用来分析为什么功能不正常或不能用的必要途径。 +**日志**记录了服务器的运行信息,运行时产生的错误和警告,同时也是大佬们用来分析为什么功能不正常或不能用的必要途径。 -正常情况下,服务器的最新日志保存在 `服务器根目录/logs/latest.log` ,是**同步控制台输出**的。 +正常情况下,服务器的最新日志保存在 `服务器根目录/logs/latest.log` ,是**同步控制台输出**的。 每天凌晨 00:00 时服务器将会将最新的日志 **latest.log** 压缩为以时间命名的 gz压缩文件。用压缩软件解压对应时间的压缩文件即可进行阅读。 -想要了解日志里写了什么,只需要使用任意文本编辑软件打开即可(不建议使用系统自带的记事本,因为大多数文本编辑软件都会高亮关键词) +想要了解日志里写了什么,只需要使用任意文本编辑软件打开即可(不建议使用系统自带的记事本,因为大多数文本编辑软件都会高亮关键词) ## 日志组成 -日志一般是由 "[时间] [线程 / 日志级别]: 日志内容" 组成的,如下: +日志一般是由 "[时间] [线程 / 日志级别]: 日志内容" 组成的,如下: ``` [00:01:32] [Server thread/WARN]: [PvPManager] Error loading Vault! No Economy plugin found @@ -27,19 +27,19 @@ sidebar_position: 6 ### 时间 -即服务器输出该条日志的事件(有时候输出量特别大的时候时间可能不完全准确)。 +即服务器输出该条日志的事件(有时候输出量特别大的时候时间可能不完全准确)。 ### 线程 -一般为 **Server thread** 即主线程,很多插件会调用 Craft Scheduler Thread 线程,或者为了优化主线程开销开启单独线程(如 Luckperm )。 +一般为 **Server thread** 即主线程,很多插件会调用 Craft Scheduler Thread 线程,或者为了优化主线程开销开启单独线程(如 Luckperm )。 **Craft Scheduler Thread** 一般为插件使用 Bukkit 计划任务时自动开启的线程。 :::info -1. 某些时候如果后台被大量刷屏,可以先检查线程信息,或许对定位日志来源有帮助; +1. 某些时候如果后台被大量刷屏,可以先检查线程信息,或许对定位日志来源有帮助; -2. 除了主线程之外,一个线程卡顿一般不影响其他线程的运行(如聊天线程阻塞,服务器可以继续运行,但无法聊天)。 +2. 除了主线程之外,一个线程卡顿一般不影响其他线程的运行(如聊天线程阻塞,服务器可以继续运行,但无法聊天)。 ::: @@ -48,10 +48,10 @@ sidebar_position: 6 |级别|程度|具体内容| |:---:|:---:|:---| |INFO|信息|聊天内容/玩家状态/玩家指令/插件信息/……| -|WARN|警告|对于一些潜在的风险进行警告,有可能发展为报错| +|WARN|警告|对于一些潜在的风险进行警告,有可能发展为报错| |ERROR|报错|服务器出现错误后输出的信息| -总的来说,当服务器出现异常时请立刻检查日志中是否出现了 WARN 或 ERROR 级别的报错,建议先搜索查看是否有人遇到类似情况,再结合翻译结果尝试修复。如果搞不定可以请教其他人,但是切记一定要先读一读 [如何提问](/docs/start/ask-for-help.md) +总的来说,当服务器出现异常时请立刻检查日志中是否出现了 WARN 或 ERROR 级别的报错,建议先搜索查看是否有人遇到类似情况,再结合翻译结果尝试修复。如果搞不定可以请教其他人,但是切记一定要先读一读 [如何提问](/docs/start/ask-for-help.md) #### INFO @@ -67,20 +67,20 @@ sidebar_position: 6 [00:47:55] [luckperms-command-executor/INFO]: [LP] LOG > (Radiation_pi) [U] (radiation_pi) ``` -这段日志记录了玩家输入指令,以及 Luckperm 插件记录权限更改情况。 +这段日志记录了玩家输入指令,以及 Luckperm 插件记录权限更改情况。 #### WARN -插件版本有不兼容风险、配置文件或数据出现问题,暂时可控,可能导致进一步报错,如: +插件版本有不兼容风险、配置文件或数据出现问题,暂时可控,可能导致进一步报错,如: ``` [00:01:32] [Server thread/WARN]: [PvPManager] Error loading Vault! No Economy plugin found ``` -这段日志说明了插件 **PvPManager** 警告我们未找到经济插件( No Economy plugin found )。 +这段日志说明了插件 **PvPManager** 警告我们未找到经济插件( No Economy plugin found )。 #### ERROR -报错是服务器运行中所遇到的异常情况,它可以来源于服务端本身,也可以来自插件和模组等。 +报错是服务器运行中所遇到的异常情况,它可以来源于服务端本身,也可以来自插件和模组等。 -这些情况有可能破坏服务器的正常运行,导致玩家体验恶化,信息损坏,甚至服务器崩溃。 \ No newline at end of file +这些情况有可能破坏服务器的正常运行,导致玩家体验恶化,信息损坏,甚至服务器崩溃。 \ No newline at end of file diff --git a/docs/start/basic/what-is-messy-code.md b/docs/start/basic/what-is-messy-code.md index b5951cbec..18f62075b 100644 --- a/docs/start/basic/what-is-messy-code.md +++ b/docs/start/basic/what-is-messy-code.md @@ -5,24 +5,24 @@ sidebar_position: 7 # 什么是乱码? -有时候,你会发现你的文本文件中的中文都莫名其妙变成了一些奇奇怪怪的符号,看起来乱糟糟的,毫无逻辑可言。 +有时候,你会发现你的文本文件中的中文都莫名其妙变成了一些奇奇怪怪的符号,看起来乱糟糟的,毫无逻辑可言。 这就是**乱码**。 # 为什么会出现乱码? -乱码出现的原因,就是不使用原来编写文本的时候的编码来打开这个文本。 +乱码出现的原因,就是不使用原来编写文本的时候的编码来打开这个文本。 而不同编码确定一个字符的规则不同。 # 什么是编码? -编码,也叫**字符编码**。通俗的讲,就是计算机的“字典”。你的文本文件在计算机中并不是以明文存在的,而是以一串二进制数表示的。比如: +编码,也叫**字符编码**。通俗的讲,就是计算机的“字典”。你的文本文件在计算机中并不是以明文存在的,而是以一串二进制数表示的。比如: -如果你让计算机使用A编码,然后你输入了一个“人”字。那么在你输入后,计算机就会将“人”字转换为A编码中“人”字对应的二进制数。比如这个二进制数是0010011。 +如果你让计算机使用A编码,然后你输入了一个“人”字。那么在你输入后,计算机就会将“人”字转换为A编码中“人”字对应的二进制数。比如这个二进制数是0010011。 -倘若我再次打开的时候使用了B编码,而计算机中存储的二进制数仍然是0010011。那么计算机就会在B编码的字符库中查找这个二进制数对应的字,比如在B编码中,0010011指的是“你”这个字,那么你再次打开这个文本的时候你就会发现“人”字变成了“你”字。 +倘若我再次打开的时候使用了B编码,而计算机中存储的二进制数仍然是0010011。那么计算机就会在B编码的字符库中查找这个二进制数对应的字,比如在B编码中,0010011指的是“你”这个字,那么你再次打开这个文本的时候你就会发现“人”字变成了“你”字。 -当然,实际的编码规则远没有这么简单,大家只需要理解为什么会乱码就可以了。 +当然,实际的编码规则远没有这么简单,大家只需要理解为什么会乱码就可以了。 # 乱码的类型 @@ -30,15 +30,15 @@ sidebar_position: 7 | 名称 | 示例 | 特点 | 产生原因 | |:----------:|:---------:|:---------:|:---------:| -| 古文码 | 宀佺殑娉曞浗浜嗗緢涔� | 大都为不认识的古文,并夹杂日韩文 | 以GBK方式读取UTF-8编码的中文 | +| 古文码 | 宀佺殑娉曞浗浜嗗緢涔� | 大都为不认识的古文,并夹杂日韩文 | 以GBK方式读取UTF-8编码的中文 | | 口字码 | ��ķ����˺ܾ� | 大部分字符为小方块 | 以UTF-8方式读取GBK编码的中文 | | 符号码 | 岁的法国了很久 | 大部分字符为各种符号 | 以ISO8859-1方式读取UTF-8编码的中文 | | 拼音码 | ËêµÄ·¨¹úÁ˺ܾà | 大部分字符以头顶带有各种类型声调符号的字母 | 以ISO8859-1方式读取GBK编码的中文 | -| 问句码 | 好好学习天天?? | 字符串长度为偶数时正确,长度为奇数时最后的字符变为问号 | 以GBK方式读取UTF-8编码的中文,然后又用UTF-8的格式再次读取 | -| 锟拷码 | 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 | 全中文字符,且大部分字符为"锟斤拷"这几个字符 | 以UTF-8方式读取GBK编码的中文,然后又用GBK的格式再次读取 | +| 问句码 | 好好学习天天?? | 字符串长度为偶数时正确,长度为奇数时最后的字符变为问号 | 以GBK方式读取UTF-8编码的中文,然后又用UTF-8的格式再次读取 | +| 锟拷码 | 锟斤拷锟斤拷锟斤拷锟斤拷锟斤拷 | 全中文字符,且大部分字符为"锟斤拷"这几个字符 | 以UTF-8方式读取GBK编码的中文,然后又用GBK的格式再次读取 | -解决乱码的方式也很简单,只需要根据乱码的特征,进行转码或重新用原来的编码打开就可以了。 +解决乱码的方式也很简单,只需要根据乱码的特征,进行转码或重新用原来的编码打开就可以了。 # 如何设置编码、转码 diff --git a/docs/start/basic/what-is-permission.md b/docs/start/basic/what-is-permission.md index 2db9d1618..a58d6e1c9 100644 --- a/docs/start/basic/what-is-permission.md +++ b/docs/start/basic/what-is-permission.md @@ -5,11 +5,11 @@ sidebar_position: 5 # 什么是权限? -权限 - 在插件服务端中,确认玩家做某行为的能力是否被允许。 +权限 - 在插件服务端中,确认玩家做某行为的能力是否被允许。 -节点 - 权限的单元,一个节点就是一条权限,可以使用权限系统插件给予各个用户,如 `cmi.tp` 就是一条权限节点,而权限节点前的 `cmi` 就是父节点。 +节点 - 权限的单元,一个节点就是一条权限,可以使用权限系统插件给予各个用户,如 `cmi.tp` 就是一条权限节点,而权限节点前的 `cmi` 就是父节点。 -通配符 - 即为 `*` ,当给予玩家权限 `父节点.*` 即可获取父节点对应的所有权限节点,如 `cmi.*` 即代表 所有的 `cmi.kit` `cmi.heal`...等节点。 +通配符 - 即为 `*` ,当给予玩家权限 `父节点.*` 即可获取父节点对应的所有权限节点,如 `cmi.*` 即代表 所有的 `cmi.kit` `cmi.heal`...等节点。 继承 - 继承就是子用户组可以使用从父用户组继承的各种属性。 @@ -21,19 +21,19 @@ sidebar_position: 5 ## 权限的作用 -总的说来,权限就是可以让服主和管理组能有效地管理用户的权限,能够准确地控制一个玩家能干什么、不能干什么。 +总的说来,权限就是可以让服主和管理组能有效地管理用户的权限,能够准确地控制一个玩家能干什么、不能干什么。 ## 权限的设置 -我们有且只推荐 LuckPerms 作为权限插件,具体的使用方法请参考 [Luckperms 使用方法](https://yizhan.wiki/NitWikit/Java/permission) +我们有且只推荐 LuckPerms 作为权限插件,具体的使用方法请参考 [Luckperms 使用方法](https://yizhan.wiki/NitWikit/Java/permission) 以下举例了一些常见的权限组分类: | 组名 | 说明 | |:------------|:------------------------------------------------| -| Newbie(新人) | Newbie 用户组包括最基础的权限节点,应该给予所有新加入玩家在注册时保证安全的权限 | -| Player(玩家) | Player 用户组包括了所有玩家可以使用的权限。一般包含经济、基础传送,和其他的基础指令 | +| Newbie(新人) | Newbie 用户组包括最基础的权限节点,应该给予所有新加入玩家在注册时保证安全的权限 | +| Player(玩家) | Player 用户组包括了所有玩家可以使用的权限。一般包含经济、基础传送,和其他的基础指令 | | helper(协管员) | 一般允许拥有踢出玩家、监禁玩家、封禁玩家 IP 等权限。 | -| Admin(管理员) | 一般允许使用所有权限,且通常是唯一一个拥有控制插件、规定用户组、关闭/重启服务器命令的用户组。 | +| Admin(管理员) | 一般允许使用所有权限,且通常是唯一一个拥有控制插件、规定用户组、关闭/重启服务器命令的用户组。 | -当然你也可以自定义一个例如 VIP1 、 VIP2 的权限组,拥有比普通用户更多的权限。 \ No newline at end of file +当然你也可以自定义一个例如 VIP1 、 VIP2 的权限组,拥有比普通用户更多的权限。 \ No newline at end of file diff --git a/docs/start/basic/what-is-plugin.md b/docs/start/basic/what-is-plugin.md index 134c15f9f..e7f67f1ff 100644 --- a/docs/start/basic/what-is-plugin.md +++ b/docs/start/basic/what-is-plugin.md @@ -5,21 +5,21 @@ sidebar_position: 3 # 什么是插件? -如果你玩过整合包你一定对 `Mod` (即模组)这个概念相当了解,但如果你是第一次开服,你可能不知道什么是 `Plugin`(插件),本文章会详细为你介绍。 +如果你玩过整合包你一定对 `Mod` (即模组)这个概念相当了解,但如果你是第一次开服,你可能不知道什么是 `Plugin`(插件),本文章会详细为你介绍。 ## 工作形式 -不同于大部分模组需要同时安装在客户端和服务端,插件安装在 **服务端**, +不同于大部分模组需要同时安装在客户端和服务端,插件安装在 **服务端**, -玩家只需使用原版客户端即可进入服务器,大多数情况下不需要专门安装 Mod。 +玩家只需使用原版客户端即可进入服务器,大多数情况下不需要专门安装 Mod。 -插件为什么叫插件(Plugins),是因为它相对于模组(Mods)有更高的即时性, +插件为什么叫插件(Plugins),是因为它相对于模组(Mods)有更高的即时性, -能够更为方便地添加或修改游戏内容,对 Minecraft 本身的侵入性修改也更小。 +能够更为方便地添加或修改游戏内容,对 Minecraft 本身的侵入性修改也更小。 ## 安装位置 -插件是需要安装在服务器根目录的 `/plugins` 文件夹,然后需要 **重启** 服务器 +插件是需要安装在服务器根目录的 `/plugins` 文件夹,然后需要 **重启** 服务器 :::danger @@ -29,37 +29,37 @@ sidebar_position: 3 :::warning -如果你正在使用一个没有明确提醒支持哪个子版本的插件,那么要小心: +如果你正在使用一个没有明确提醒支持哪个子版本的插件,那么要小心: -SpigotMC 的插件版本支持除了 1.20.6 只会显示大版本号(如 1.20)而不会显示小版本号(如 1.20.4) +SpigotMC 的插件版本支持除了 1.20.6 只会显示大版本号(如 1.20)而不会显示小版本号(如 1.20.4) -因此如果你不确定这个插件是否支持该小版本,就算加载成功(绿名)也一定要完整测试了这个插件能够正常使用。 +因此如果你不确定这个插件是否支持该小版本,就算加载成功(绿名)也一定要完整测试了这个插件能够正常使用。 ::: ## 插件的优点 -* 插件服的开发大多数时候都更加简单,而不需要接触 Minecraft 的源代码。像 Skript 那样的脚本语言将插件的开发难度降到了有点脑子就会 -* 插件的接口大多数时候都使用了事件来抽象化监听服务器的各种行为的复杂性,同时也提供了更好的兼容性。 -* 由于插件接口都不会因为 Minecraft 源代码更新而被破坏,所以即使版本更新很多东西也不需要跟着修改。比如 Vault 三年前更新的插件到最新版本还可以用。 +* 插件服的开发大多数时候都更加简单,而不需要接触 Minecraft 的源代码。像 Skript 那样的脚本语言将插件的开发难度降到了有点脑子就会 +* 插件的接口大多数时候都使用了事件来抽象化监听服务器的各种行为的复杂性,同时也提供了更好的兼容性。 +* 由于插件接口都不会因为 Minecraft 源代码更新而被破坏,所以即使版本更新很多东西也不需要跟着修改。比如 Vault 三年前更新的插件到最新版本还可以用。 ## 插件的缺点 -* 由于版本 API 的变动,如果插件实现的功能较多,更换一个小版本都很可能导致某些功能失去作用甚至无法正常加载。 -* 接触 Minecraft 本身的代码变得困难,而且通常需要考虑多个版本之间的代码变动。 -* 很难直接像模组那样通过 Mixin 直接更改游戏代码,某些必须需要修改源代码才能实现的功能在插件上很难实现。 +* 由于版本 API 的变动,如果插件实现的功能较多,更换一个小版本都很可能导致某些功能失去作用甚至无法正常加载。 +* 接触 Minecraft 本身的代码变得困难,而且通常需要考虑多个版本之间的代码变动。 +* 很难直接像模组那样通过 Mixin 直接更改游戏代码,某些必须需要修改源代码才能实现的功能在插件上很难实现。 ## 插件可以做的事情 -虽然插件不能像模组那样直接更改游戏源代码,但是依然可以利用游戏本身的内容做出一些超乎寻常的事情 +虽然插件不能像模组那样直接更改游戏源代码,但是依然可以利用游戏本身的内容做出一些超乎寻常的事情 -这里是一些`超乎寻常`的插件(对新手来说) +这里是一些`超乎寻常`的插件(对新手来说) * Slimefun 在插件中实现模组的功能 -* ItemsAdder/Oraxen 自定义方块物品 HUD 家具(还有更多) -* ModelEngine 自定义生物实体,就像模组 +* ItemsAdder/Oraxen 自定义方块物品 HUD 家具(还有更多) +* ModelEngine 自定义生物实体,就像模组 * MythicMob 创造出像模组一样的技能和生物 -插件服目前已经可以使用自定义,物品,方块,HUD,家具,Emoij,生物实体,农作物,树叶,Tooltip,附魔... +插件服目前已经可以使用自定义,物品,方块,HUD,家具,Emoij,生物实体,农作物,树叶,Tooltip,附魔... -所以说不要轻易地认为插件在最终效果上不如 MOD,很多时候实际上不需要像模组那样修改源代码即可达到相同的效果,不是么? +所以说不要轻易地认为插件在最终效果上不如 MOD,很多时候实际上不需要像模组那样修改源代码即可达到相同的效果,不是么? diff --git a/docs/start/basic/what-is-server.md b/docs/start/basic/what-is-server.md index 234bde817..584c18d56 100644 --- a/docs/start/basic/what-is-server.md +++ b/docs/start/basic/what-is-server.md @@ -5,34 +5,34 @@ sidebar_position: 1 # 什么是服务端? -> 服务端是一种有针对性的服务程序。服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。 +> 服务端是一种有针对性的服务程序。服务端是为客户端服务的,服务的内容诸如向客户端提供资源,保存客户端数据。 -简单来说,我们通常通过 *Minecraft* **启动器**玩的游戏属于 **客户端**。 +简单来说,我们通常通过 *Minecraft* **启动器**玩的游戏属于 **客户端**。 -当我们进行 *多人游戏* 联机时,我们需要连接到一个服务器,当玩家们在同一个服务器环境下,我们才能实现联机。 +当我们进行 *多人游戏* 联机时,我们需要连接到一个服务器,当玩家们在同一个服务器环境下,我们才能实现联机。 而这个允许我们进行联机的 **软件/程序** 可以简单称为 **服务端**。 # 为什么需要服务端 -*Minecraft* 本身是开放联机的,也就是说玩家可以在 `ESC 菜单中` 将自己的客户端设置为 `"对局域网开放"` +*Minecraft* 本身是开放联机的,也就是说玩家可以在 `ESC 菜单中` 将自己的客户端设置为 `"对局域网开放"` -我们就可以实现联机了,那么服务端的作用是什么呢?我们可以想象,如果选择 `"对局域网开放"` 的客户端作为服务端时, +我们就可以实现联机了,那么服务端的作用是什么呢?我们可以想象,如果选择 `"对局域网开放"` 的客户端作为服务端时, -如果出现该玩家想要退出客户端,那么所有人的链接都会中断。因此,为了更加稳定的联机, +如果出现该玩家想要退出客户端,那么所有人的链接都会中断。因此,为了更加稳定的联机, -*Minecraft* 提供了让玩家可以进行 *多人游戏* 的服务端,称为 **Minecraft Server**,俗称 **Vanilla Server** 、**香草端**、**原版端**。 +*Minecraft* 提供了让玩家可以进行 *多人游戏* 的服务端,称为 **Minecraft Server**,俗称 **Vanilla Server** 、**香草端**、**原版端**。 :::tip -需要注意的是,`Vanilla` 本身的意思有 “香草(的)”、“原版”、“基本的” 在计算机领域也代指“**原版**”。 +需要注意的是,`Vanilla` 本身的意思有 “香草(的)”、“原版”、“基本的” 在计算机领域也代指“**原版**”。 ::: # 原版服务端的延伸 -由于原版 **Minecraft Server** 拓展性及性能不足,社区衍生出了多种提供 *多人游戏* 的 **服务端**, +由于原版 **Minecraft Server** 拓展性及性能不足,社区衍生出了多种提供 *多人游戏* 的 **服务端**, -这些提供 *多人游戏* 服务的 **程序/软件** 常被人称为 **核心**,大致可分为 **[Mod](https://yizhan.wiki/NitWikit/Java/start/basic/what-is-mod)** 服务端和 **[插件](what-is-plugin.md)** 服务端。 +这些提供 *多人游戏* 服务的 **程序/软件** 常被人称为 **核心**,大致可分为 **[Mod](https://yizhan.wiki/NitWikit/Java/start/basic/what-is-mod)** 服务端和 **[插件](what-is-plugin.md)** 服务端。 常见的 **Mod** 服务端有 **Forge** 和 **Fabric** 等。 diff --git a/docs/start/basic/what-is-startup-script.md b/docs/start/basic/what-is-startup-script.md index 758f1ed2f..9b5b5aee5 100644 --- a/docs/start/basic/what-is-startup-script.md +++ b/docs/start/basic/what-is-startup-script.md @@ -7,29 +7,29 @@ sidebar_position: 4 启动脚本主要部分就是设置 Java 参数设置。 -*对于 Windows 服务器来说,启动脚本是 `.bat` 后缀的文件,对 Linux 服务器而言,启动脚本是 `.sh` 后缀的文件。* +*对于 Windows 服务器来说,启动脚本是 `.bat` 后缀的文件,对 Linux 服务器而言,启动脚本是 `.sh` 后缀的文件。* -`sh` 和 `bat` 是两种不同操作系统环境下用于执行脚本的文件扩展名,它们的主要区别在于运行环境、语法的不同: +`sh` 和 `bat` 是两种不同操作系统环境下用于执行脚本的文件扩展名,它们的主要区别在于运行环境、语法的不同: -## SH (Shell Script)(Linux) +## SH (Shell Script)(Linux) -* 语法: SH脚本使用Shell命令和控制结构,支持条件判断、循环、函数定义等高级编程特性。 -* 执行方式: 在终端通过 `./script.sh` 或 `sh script.sh` 来执行(确保脚本具有执行权限)。 +* 语法: SH脚本使用Shell命令和控制结构,支持条件判断、循环、函数定义等高级编程特性。 +* 执行方式: 在终端通过 `./script.sh` 或 `sh script.sh` 来执行(确保脚本具有执行权限)。 ## BAT (Batch File)(Windows) -* 语法: BAT脚本包含一系列DOS命令和批处理命令,支持简单的条件判断和循环,但相比SH脚本,其功能和灵活性较低。 +* 语法: BAT脚本包含一系列DOS命令和批处理命令,支持简单的条件判断和循环,但相比SH脚本,其功能和灵活性较低。 * 执行方式: 双击文件或者在命令提示符下输入 `script.bat` 来执行。 注意:Windows和Linux的启动脚本不能通用,不是改一下后缀名就可以 # 什么是启动参数 -启动参数(也称 Flag)主要分为3类: +启动参数(也称 Flag)主要分为3类: -* 标准参数(-):所有的 JVM 实现都必须实现这些参数的功能,而且向后兼容; -* 非标准参数(-X):默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容; -* 非Stable参数(-XX):此类参数各个 JVM 实现会有所不同,将来可能会随时取消,需要慎重使用; +* 标准参数(-):所有的 JVM 实现都必须实现这些参数的功能,而且向后兼容; +* 非标准参数(-X):默认 JVM 实现这些参数的功能,但是并不保证所有 JVM 实现都满足,且不保证向后兼容; +* 非Stable参数(-XX):此类参数各个 JVM 实现会有所不同,将来可能会随时取消,需要慎重使用; ## 基础 @@ -39,7 +39,7 @@ java -Xms12G -Xmx12G -jar 核心名.jar nogui :::warning -作为新手,不用在意大多数参数的作用,你需要做的就是开启服务器。 +作为新手,不用在意大多数参数的作用,你需要做的就是开启服务器。 **不要忘记改最后的“核心名.jar!** @@ -47,10 +47,10 @@ java -Xms12G -Xmx12G -jar 核心名.jar nogui | 参数 | 说明 | | ----------- | ----------- | -| -Xmx[size] | 设置最大内存大小,默认为物理内存的1/4或者1G,需大于2M,可以指定单位K/M/G | -| -Xms[size] | 设置最小内存大小,默认为物理内存的1/64,需大于1M | +| -Xmx[size] | 设置最大内存大小,默认为物理内存的1/4或者1G,需大于2M,可以指定单位K/M/G | +| -Xms[size] | 设置最小内存大小,默认为物理内存的1/64,需大于1M | | -jar | 为 Java 指定需要运行的 Jar 程序 | -| --nogui | 关闭服务器 GUI,少量性能提升,大多数人不需要用到 | +| --nogui | 关闭服务器 GUI,少量性能提升,大多数人不需要用到 |
--nogui干了什么 @@ -59,15 +59,15 @@ java -Xms12G -Xmx12G -jar 核心名.jar nogui ![](_images/nogui.jpg) -真的,这个GUI一点用没有,别开它了 +真的,这个GUI一点用没有,别开它了
:::info -1. 无论什么时候,分配内存时一定要多预留15%左右内存,如服务器还剩余 10G 内存, 不要将 -Xms 设置到大于 9G 的内存,否则会很危险。 -2. 在 G1GC 模式下,尽量保证 Xmx = Xms 因为如果二者不同 JVM 需要更多的内存时候,JVM需要申请更多内存,这个过程的耗时会导致顿卡。 -3. 更多的参数讲解,请前往 [JVM参数优化](https://yizhan.wiki/NitWikit/Java/process/maintenance/optimize/jvm-optimization) +1. 无论什么时候,分配内存时一定要多预留15%左右内存,如服务器还剩余 10G 内存, 不要将 -Xms 设置到大于 9G 的内存,否则会很危险。 +2. 在 G1GC 模式下,尽量保证 Xmx = Xms 因为如果二者不同 JVM 需要更多的内存时候,JVM需要申请更多内存,这个过程的耗时会导致顿卡。 +3. 更多的参数讲解,请前往 [JVM参数优化](https://yizhan.wiki/NitWikit/Java/process/maintenance/optimize/jvm-optimization) ::: diff --git a/docs/start/start.md b/docs/start/start.md index c18cf5820..49765eeaa 100644 --- a/docs/start/start.md +++ b/docs/start/start.md @@ -6,7 +6,7 @@ sidebar_position: 4 # 开始阶段 -在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 +在这个阶段,我们主要为你介绍服务器基础知识,如何区别客户端和服务端、如何选择服务端、如何搭建并连接等。 import DocCardList from '@theme/DocCardList'; diff --git a/i18n/zh-Hans/plugin-ideal-image.json b/i18n/zh-Hans/plugin-ideal-image.json index a86b96648..2a3484944 100644 --- a/i18n/zh-Hans/plugin-ideal-image.json +++ b/i18n/zh-Hans/plugin-ideal-image.json @@ -1,6 +1,6 @@ { "theme.IdealImageMessage.404error": "未找到图片", - "theme.IdealImageMessage.error": "出现错误,点击重试", + "theme.IdealImageMessage.error": "出现错误,点击重试", "theme.IdealImageMessage.load": "点击加载图片{sizeMessage}", "theme.IdealImageMessage.loading": "加载中……", "theme.IdealImageMessage.offline": "你的浏览器处于离线状态。图片未加载" diff --git a/i18n/zh-Hans/theme-common.json b/i18n/zh-Hans/theme-common.json index 765531062..730dc2705 100644 --- a/i18n/zh-Hans/theme-common.json +++ b/i18n/zh-Hans/theme-common.json @@ -10,7 +10,7 @@ "theme.ErrorPageContent.tryAgain": "重试", "theme.NavBar.navAriaLabel": "主导航", "theme.NotFound.p1": "我们找不到你要找的页面。", - "theme.NotFound.p2": "请联系原始链接来源网站的所有者,并告知他们链接已损坏。", + "theme.NotFound.p2": "请联系原始链接来源网站的所有者,并告知他们链接已损坏。", "theme.NotFound.title": "找不到页面", "theme.TOCCollapsible.toggleButtonLabel": "本页总览", "theme.admonition.caution": "警告", @@ -32,7 +32,7 @@ "theme.blog.post.readingTime.plurals": "阅读需 {readingTime} 分钟", "theme.blog.sidebar.navAriaLabel": "最近博文导航", "theme.blog.tagTitle": "{nPosts} 含有标签「{tagName}」", - "theme.colorToggle.ariaLabel": "切换浅色/暗黑模式(当前为{mode})", + "theme.colorToggle.ariaLabel": "切换浅色/暗黑模式(当前为{mode})", "theme.colorToggle.ariaLabel.mode.dark": "暗黑模式", "theme.colorToggle.ariaLabel.mode.light": "浅色模式", "theme.common.editThisPage": "编辑此页", @@ -56,7 +56,7 @@ "theme.docs.versionBadge.label": "版本:{versionLabel}", "theme.docs.versions.latestVersionLinkLabel": "最新版本", "theme.docs.versions.latestVersionSuggestionLabel": "最新的文档请参阅 {latestVersionLink} ({versionLabel})。", - "theme.docs.versions.unmaintainedVersionLabel": "此为 {siteTitle} {versionLabel} 版的文档,现已不再积极维护。", + "theme.docs.versions.unmaintainedVersionLabel": "此为 {siteTitle} {versionLabel} 版的文档,现已不再积极维护。", "theme.docs.versions.unreleasedVersionLabel": "此为 {siteTitle} {versionLabel} 版尚未发行的文档。", "theme.lastUpdated.atDate": "于 {date} ", "theme.lastUpdated.byUser": "由 {user} ", @@ -67,6 +67,6 @@ "theme.tags.tagsListLabel": "标签:", "theme.tags.tagsPageLink": "查看所有标签", "theme.tags.tagsPageTitle": "标签", - "theme.unlistedContent.message": "此页面未列出。搜索引擎不会对其索引,只有拥有直接链接的用户才能访问。", + "theme.unlistedContent.message": "此页面未列出。搜索引擎不会对其索引,只有拥有直接链接的用户才能访问。", "theme.unlistedContent.title": "未列出页" }