Merge branch 'postyizhan:main' into main
68
README.md
@ -61,6 +61,7 @@ https://nitwikit.yizhan.wiki/
|
||||
`git clone https://github.com/你的用户名/NitWikit.git`
|
||||
3. 在本地仓库中进行修改并构建文档测试,无误后 push 至自己的仓库
|
||||
4. 回到此仓库,点击 Pull requests -> New pull request 发起 PR
|
||||
5. 前往 [NitWikit-PR](https://github.com/users/postyizhan/projects/2) 查看审核状态
|
||||
|
||||
# 🤝 贡献者
|
||||
|
||||
@ -195,10 +196,10 @@ https://nitwikit.yizhan.wiki/
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/CkaDebug">
|
||||
<img src="https://avatars.githubusercontent.com/u/141492699?v=4" width="50;" alt="CkaDebug"/>
|
||||
<a href="https://github.com/MengHanLOVE1027">
|
||||
<img src="https://avatars.githubusercontent.com/u/99132833?v=4" width="50;" alt="MengHanLOVE1027"/>
|
||||
<br />
|
||||
<sub><b>Debug-Cracked</b></sub>
|
||||
<sub><b>梦涵LOVE</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
@ -209,10 +210,10 @@ https://nitwikit.yizhan.wiki/
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/MengHanLOVE1027">
|
||||
<img src="https://avatars.githubusercontent.com/u/99132833?v=4" width="50;" alt="MengHanLOVE1027"/>
|
||||
<a href="https://github.com/CkaDebug">
|
||||
<img src="https://avatars.githubusercontent.com/u/141492699?v=4" width="50;" alt="CkaDebug"/>
|
||||
<br />
|
||||
<sub><b>梦涵LOVE</b></sub>
|
||||
<sub><b>Debug-Cracked</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
@ -252,15 +253,6 @@ https://nitwikit.yizhan.wiki/
|
||||
<sub><b>蛟龙</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/LittleChest">
|
||||
<img src="https://avatars.githubusercontent.com/u/81231195?v=4" width="50;" alt="LittleChest"/>
|
||||
<br />
|
||||
<sub><b>LittleChest</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/SeaOrangejuice">
|
||||
<img src="https://avatars.githubusercontent.com/u/116551329?v=4" width="50;" alt="SeaOrangejuice"/>
|
||||
@ -268,6 +260,8 @@ https://nitwikit.yizhan.wiki/
|
||||
<sub><b>Sea_of_Orange</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/serverbread-DEV">
|
||||
<img src="https://avatars.githubusercontent.com/u/176056410?v=4" width="50;" alt="serverbread-DEV"/>
|
||||
@ -275,6 +269,50 @@ https://nitwikit.yizhan.wiki/
|
||||
<sub><b>SB-Reborn</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/minimouse0">
|
||||
<img src="https://avatars.githubusercontent.com/u/116894415?v=4" width="50;" alt="minimouse0"/>
|
||||
<br />
|
||||
<sub><b>Minimouse48</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/LittleChest">
|
||||
<img src="https://avatars.githubusercontent.com/u/81231195?v=4" width="50;" alt="LittleChest"/>
|
||||
<br />
|
||||
<sub><b>LittleChest</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/HanSiqi2008">
|
||||
<img src="https://avatars.githubusercontent.com/u/136245260?v=4" width="50;" alt="HanSiqi2008"/>
|
||||
<br />
|
||||
<sub><b>HanSiqi2008</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Virgil692">
|
||||
<img src="https://avatars.githubusercontent.com/u/83110631?v=4" width="50;" alt="Virgil692"/>
|
||||
<br />
|
||||
<sub><b>MrVirgil</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/alazeprt">
|
||||
<img src="https://avatars.githubusercontent.com/u/92018941?v=4" width="50;" alt="alazeprt"/>
|
||||
<br />
|
||||
<sub><b>alazeprt</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/zzzyyylllty">
|
||||
<img src="https://avatars.githubusercontent.com/u/167876309?v=4" width="50;" alt="zzzyyylllty"/>
|
||||
<br />
|
||||
<sub><b>zzzyyylllty</b></sub>
|
||||
</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/IAFEnvoy">
|
||||
<img src="https://avatars.githubusercontent.com/u/83523430?v=4" width="50;" alt="IAFEnvoy"/>
|
||||
|
12
docs-bedrock/bds-core/preparation/vcruntime.md
Normal file
@ -0,0 +1,12 @@
|
||||
---
|
||||
title: Visual C++运行库
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# Visual C++运行库
|
||||
|
||||
我的世界基岩版由于使用c++编写,需要依赖微软开发的Visual C++运行库(vc运行库)才能正常运行。在玩家的电脑上,由于windows系统会自动为游戏补全这些运行库,所以玩家下载好基岩版之后就可以直接开始游戏。
|
||||
|
||||
但是在基岩版的服务器软件BDS这边情况就有所不同了。BDS只是一个软件,它并不具备自己补全vc运行库的功能,需要手动进行安装,否则就会报错“缺少vmruntimexxx.dll”。你需要为服务器安装至少vc2015-2022这个运行库才行。
|
||||
|
||||
[下载地址](https://aka.ms/vs/17/release/vc_redist.x64.exe)。有时一些辅助软件也会依赖这个运行库,例如LeviLamina在缺少运行库时会报错“Error code: 1114 动态裢接库(DLL)初始化例程失败。”,安装这个运行库也可以解决问题。
|
@ -20,7 +20,7 @@ sidebar_position: 1
|
||||
|
||||
# MineBBS
|
||||
|
||||
国内较为知名的综合性 Minecraft 论坛。
|
||||
国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。
|
||||
|
||||
<details>
|
||||
<summary>点击展开</summary>
|
||||
@ -80,7 +80,15 @@ sidebar_position: 1
|
||||
<details>
|
||||
<summary>连不上怎么办</summary>
|
||||
|
||||
使用魔法或者[点击此处](https://cn.bing.com/search?q=%E8%BF%9E%E4%B8%8D%E4%B8%8AGitHub%E6%80%8E%E4%B9%88%E5%8A%9E)
|
||||
|
||||
这是由于 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了
|
||||
<!--[点击此处](https://cn.bing.com/search?q=%E8%BF%9E%E4%B8%8D%E4%B8%8AGitHub%E6%80%8E%E4%B9%88%E5%8A%9E)-->
|
||||
|
||||
|
||||
</details>
|
||||
|
||||
|
@ -84,7 +84,13 @@ SpigotMC 应该是目前 Minecraft 开服圈最大的插件网站了,最大的
|
||||
<details>
|
||||
<summary>连不上怎么办</summary>
|
||||
|
||||
使用魔法或者[点击此处](https://cn.bing.com/search?q=%E8%BF%9E%E4%B8%8D%E4%B8%8AGitHub%E6%80%8E%E4%B9%88%E5%8A%9E)
|
||||
这是由于 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了
|
||||
<!--[点击此处](https://cn.bing.com/search?q=%E8%BF%9E%E4%B8%8D%E4%B8%8AGitHub%E6%80%8E%E4%B9%88%E5%8A%9E)-->
|
||||
|
||||
</details>
|
||||
|
||||
@ -109,7 +115,7 @@ GitHub 汉化插件:https://github.com/maboloshi/github-chinese
|
||||
|
||||
# MineBBS
|
||||
|
||||
国内较为知名的综合性 Minecraft 论坛。
|
||||
国内较为知名的综合性 Minecraft 论坛。曾以基岩版开服内容为主,MCBBS 关闭后其 Java 版相关内容丰富了许多。
|
||||
|
||||
<details>
|
||||
<summary>点击展开</summary>
|
||||
|
@ -95,6 +95,33 @@ spawn-limits:
|
||||
|
||||
```
|
||||
|
||||
高版本的 config/paper-world-default.yml 中将 `animals` 改为了 `creature`,将 `water-animals` 改为了 `water-creature`,可参考这份配置文件:
|
||||
|
||||
```yaml
|
||||
spawn-limits:
|
||||
monsters: 70
|
||||
#怪物包括 远古守卫者、末影人、监守者、蠹虫、猪灵蛮兵、流浪者、幻术师、骷髅、潜影贝、僵尸疣猪兽、守卫者、岩浆怪、僵尸村民、僵尸猪灵、卫道士、幻翼、猪灵、史莱姆、末影龙、溺尸、掠夺者、唤魔者、僵尸、蜘蛛、尸壳、恶魂、劫掠兽、疣猪兽、洞穴蜘蛛、女巫、枯萎、末影螨、凋灵骷髅、烈焰人、巨人、爬行者、恼鬼。
|
||||
|
||||
creature: 10
|
||||
#动物包括 猪、北极熊、狐狸、猫、僵尸马、嗅探者、熊猫、兔子、狼、牛、海龟、青蛙、悦灵、行商羊驼、驴、蜜蜂、骆驼、绵羊、蝌蚪、豹猫、鸡、哞菇、马、羊驼、流浪商人、鹦鹉、山羊、骡、骷髅马刷、炽足兽.
|
||||
|
||||
water-creature: 5
|
||||
# 包括鱿鱼和海豚
|
||||
|
||||
water-ambient: 20
|
||||
# 包括鳕鱼、河豚、鲑鱼、热带鱼
|
||||
|
||||
water-underground-creature: 5
|
||||
# 包括发光鱿鱼
|
||||
|
||||
axolotls: 5
|
||||
# 美西螈
|
||||
|
||||
ambient: 15
|
||||
# 只包括蝙蝠,建议0
|
||||
|
||||
```
|
||||
|
||||
大多数情况下,直接将所有限制降低到原来的 50% 是合理的,由于限制和实际实体数量不成线性,实际存在的实体数量大约是原来的 72%。
|
||||
|
||||
## 更低的实体显示距离(不推荐)
|
||||
|
Before Width: | Height: | Size: 70 KiB After Width: | Height: | Size: 61 KiB |
@ -1,10 +1,11 @@
|
||||
---
|
||||
title: 概览
|
||||
sidebar_position: 3
|
||||
slug: /plugins/essentials
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# 概览
|
||||
|
||||
CMI屎山插件,谁愿意写谁写
|
||||
|
||||
TODO
|
||||
TODO
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Config 快速指南
|
||||
sidebar_position: 4
|
||||
sidebar_position: 2
|
||||
---
|
||||
|
||||
# Config 快速指南
|
||||
|
@ -1,6 +1,7 @@
|
||||
---
|
||||
title: 概览
|
||||
sidebar_position: 2
|
||||
slug: /plugins/essentials
|
||||
sidebar_position: 1
|
||||
---
|
||||
|
||||
# 概览
|
||||
@ -55,3 +56,9 @@ Essentials插件分为两个版本:
|
||||
| EssentialsX Geo | 地理 IP 查找功能. |
|
||||
| EssentialsProtect | 是一个基本的世界保护, 可以设置世界规则. |
|
||||
| EssentialsX XMPP | 轻量级聊天、消息和服务器日志与Jabber/XMPP服务集成. |
|
||||
|
||||
## MySQL 存储扩展
|
||||
|
||||
[Essentials MySQL Storage Extension](https://www.spigotmc.org/resources/.25673/)
|
||||
|
||||
一个付费插件,为 Essentials 的带来了 MySQL 支持
|
||||
|
@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Papi支持
|
||||
sidebar_position: 5
|
||||
title: papi支持
|
||||
sidebar_position: 4
|
||||
---
|
||||
|
||||
:::info
|
||||
@ -11,4 +11,53 @@ sidebar_position: 5
|
||||
|
||||
:::
|
||||
|
||||
执行 `/papi ecloud download Essentials` 即可。
|
||||
## 安装此扩展
|
||||
```
|
||||
/papi ecloud download Essentials
|
||||
/papi reload
|
||||
```
|
||||
|
||||
## 变量
|
||||
|
||||
```
|
||||
%essentials_afk%
|
||||
%essentials_afk_reason%
|
||||
%essentials_fly%
|
||||
%essentials_geolocation%
|
||||
%essentials_godmode%
|
||||
%essentials_has_kit_<kitname>%
|
||||
%essentials_home_<number>
|
||||
%essentials_home_<number>_<w|x|y|z>%
|
||||
%essentials_homes_set%
|
||||
%essentials_homes_max%
|
||||
%essentials_is_muted%
|
||||
%essentials_is_pay_confirm%
|
||||
%essentials_is_pay_enabled%
|
||||
%essentials_is_teleport_enabled%
|
||||
%essentials_jailed%
|
||||
%essentials_jailed_time_remaining%
|
||||
%essentials_kit_is_available_<kitname>%
|
||||
%essentials_kit_last_use_<kitname>%
|
||||
%essentials_kit_time_until_available_<kitname>%
|
||||
%essentials_kit_time_until_available_raw_<kitname>%
|
||||
%essentials_msg_ignore%
|
||||
%essentials_muted_time_remaining%
|
||||
%essentials_nickname%
|
||||
%essentials_nickname_stripped%
|
||||
%essentials_pm_recipient%
|
||||
%essentials_safe_online%
|
||||
%essentials_unique%
|
||||
%essentials_vanished%
|
||||
%essentials_world_date%
|
||||
%essentials_world_time%
|
||||
%essentials_world_time_24%
|
||||
%essentials_worth%
|
||||
%essentials_worth:<item>%
|
||||
%essentials_baltop_balance_fixed_<rank>%
|
||||
%essentials_baltop_balance_formatted_<rank>%
|
||||
%essentials_baltop_balance_commas_<rank>%
|
||||
%essentials_baltop_balance_<rank>%
|
||||
%essentials_baltop_player_<rank>%
|
||||
%essentials_baltop_rank%
|
||||
%essentials_baltop_player_stripped_<num>%
|
||||
```
|
||||
|
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 7.2 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 2.6 KiB |
After Width: | Height: | Size: 4.4 KiB |
@ -0,0 +1,75 @@
|
||||
---
|
||||
title: kit 礼包
|
||||
sidebar_position: 5
|
||||
---
|
||||
|
||||
# kit 礼包
|
||||
|
||||
## 创建礼包
|
||||
|
||||
```
|
||||
/kitcreate <kit名字> 冷却
|
||||
```
|
||||
|
||||

|
||||
|
||||
他会将你背包中所有物品保存到这个 kit 礼包中
|
||||
|
||||
值得一提的是,如果冷却写 -1 ,那么这个礼包只能被领取一次
|
||||
|
||||
可用于制作新手礼包
|
||||
|
||||
## 获得礼包
|
||||
|
||||
```
|
||||
/kit <kit名字>
|
||||
```
|
||||
|
||||

|
||||
|
||||
**权限**
|
||||
|
||||
普通玩家需要 `essentials.kit` 才可使用礼包功能
|
||||
|
||||
但只给 `essentials.kit` 会提示:
|
||||
|
||||

|
||||
|
||||
是的,除了 `essentials.kit` 我们还需要给予 `essentials.kits.<kit名字>` 玩家才能领取
|
||||
|
||||
## 删除礼包
|
||||
|
||||
```
|
||||
/deletekit <kit名字>
|
||||
```
|
||||
|
||||
## 更多信息
|
||||
|
||||
### 保存nbt
|
||||
|
||||
[点击此处](ConfigTips.md#礼包工具包)
|
||||
|
||||
### kit 执行命令
|
||||
|
||||
是的,你能在里面写命令
|
||||
|
||||
```yaml
|
||||
iloveyizhan:
|
||||
delay: 0
|
||||
items:
|
||||
- golden_apple 64
|
||||
- /give {USERNAME} apple 1
|
||||
- /say 1
|
||||
```
|
||||
|
||||

|
||||
|
||||
### 变量
|
||||
|
||||
[点击此处](PapiSupport.md)
|
||||
|
||||
```
|
||||
%essentials_has_kit_<kitname>% - 是否有XX工具包
|
||||
%essentials_kit_is_available_<kitname>% - 是否可以获得XX工具包
|
||||
%essentials_kit_time_until_available_<kitname>% - 礼包冷却时间
|
||||
```
|
@ -0,0 +1,42 @@
|
||||
---
|
||||
title: warp 地标
|
||||
sidebar_position: 6
|
||||
---
|
||||
|
||||
# warp 地标
|
||||
|
||||
跨世界定点传送
|
||||
|
||||
## 创建地标
|
||||
|
||||
```
|
||||
/setwarp <地标名>
|
||||
```
|
||||
|
||||

|
||||
|
||||
## 传送地标
|
||||
|
||||
```
|
||||
/warp <地标名>
|
||||
```
|
||||
|
||||

|
||||
|
||||
你需要给予玩家 `essentials.warp` 权限来允许使用 `warp` 命令
|
||||
|
||||
接着给予 `essentials.warps.<地标名>` 来允许传送到某指定地标
|
||||
|
||||
## 删除地标
|
||||
|
||||
```
|
||||
/delwarp <地标名>
|
||||
```
|
||||
|
||||

|
||||
|
||||
## 更多
|
||||
|
||||
如果你想让玩家自行设置私有地标,公开地标,甚至导航到地标等
|
||||
|
||||
或许你可以看看 [Waypoints](https://www.minebbs.com/resources/.9062) 插件
|
18
docs-java/process/plugin/ManageTool/BasicPlugins/delete.md
Normal file
@ -0,0 +1,18 @@
|
||||
---
|
||||
title: 删掉基础插件
|
||||
sidebar_position: 3
|
||||
---
|
||||
|
||||
# 删掉基础插件
|
||||
|
||||
[CMI](CMI/Outline.md) 在拼命的加新功能,多而不精,插件变得臃肿不堪小白比较难上手
|
||||
|
||||
[EssentialsX](EssentialsX/Outline.md) 却在拼命追求稳定性,一点新功能不加的,现在随便个 tpa 插件都有点击聊天框信息同意传送的功能,他却没有,你还不能自己写 json 补
|
||||
|
||||
也许,是时候删除这俩玩意了
|
||||
|
||||
实际上,经济功能装个 [XConomy](../../Front-Plugin/XConomy.md) 足够了
|
||||
|
||||
而对于 tpa,warp,home,back 等传送功能,或许你可以试试 [HuskHomes](https://www.spigotmc.org/resources/.83767/)
|
||||
|
||||
CMI 的那些功能几乎都有可以平替的插件
|
@ -195,7 +195,7 @@ memory 键名 using lp
|
||||
|
||||
### 称号系统
|
||||
|
||||
见 [案例 | Invero|称号系统](../../other/Menu/TrMenu.md#称号系统)
|
||||
见 [案例 | Invero|称号系统](../../other/Menu/Invero.md#称号系统)
|
||||
|
||||
## 限时meta
|
||||
|
||||
|
145
docs/advance/Linux/backup.md
Normal file
@ -0,0 +1,145 @@
|
||||
---
|
||||
title: 自动备份存档
|
||||
sidebar_position: 8
|
||||
---
|
||||
|
||||
# 编写备份脚本
|
||||
|
||||
在你的服务器上创建一个备份脚本:
|
||||
|
||||
```bash
|
||||
sudo vim /root/backup.sh
|
||||
```
|
||||
|
||||
然后将以下内容粘贴到文件中,按实际情况与需要修改:
|
||||
|
||||
```bash
|
||||
#!/bin/bash
|
||||
|
||||
usage() {
|
||||
echo "用法: $0 --server-dir <存档路径> --backup-dir <备份文件保存目录> [--max-backups <最大备份文件数>]"
|
||||
echo "参数:"
|
||||
echo " --server-dir, -s: 服务器目录(绝对路径)"
|
||||
echo " --backup-dir, -b: 备份文件保存目录(绝对路径)"
|
||||
echo " --max-backups, -m: 最大备份文件数,选填(默认: 5)"
|
||||
exit 1
|
||||
}
|
||||
|
||||
PARSED_ARGUMENTS=$(getopt -n "$0" -o s:b:m: --long server-dir:,backup-dir:,max-backups: -- "$@")
|
||||
if [ $? -ne 0 ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
eval set -- "$PARSED_ARGUMENTS"
|
||||
|
||||
while true; do
|
||||
case "$1" in
|
||||
-s|--server-dir)
|
||||
SERVER_DIR=$2
|
||||
shift 2
|
||||
;;
|
||||
-b|--backup-dir)
|
||||
BACKUP_DIR=$2
|
||||
shift 2
|
||||
;;
|
||||
-m|--max-backups)
|
||||
MAX_BACKUPS=$2
|
||||
shift 2
|
||||
;;
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# 检查必需的参数是否已提供
|
||||
if [ -z "$SERVER_DIR" ] || [ -z "$BACKUP_DIR" ]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
# 检查存档路径 SERVER_DIR/server.properties 是否存在
|
||||
if [ ! -f "$SERVER_DIR/server.properties" ]; then
|
||||
echo "存档路径 $SERVER_DIR/server.properties 不存在"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 检查备份文件保存目录是否存在
|
||||
if [ ! -d "$BACKUP_DIR" ]; then
|
||||
echo "备份文件保存目录 $BACKUP_DIR 不存在,自动创建"
|
||||
mkdir -p $BACKUP_DIR || exit 1
|
||||
fi
|
||||
|
||||
# 检查最大备份文件数是否为正整数
|
||||
if [ -z "$MAX_BACKUPS" ]; then
|
||||
MAX_BACKUPS=5
|
||||
elif ! [[ "$MAX_BACKUPS" =~ ^[1-9][0-9]*$ ]]; then
|
||||
echo "最大备份文件数必须为正整数"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 备份存档
|
||||
SERVER_PARENT_DIR=$(dirname $SERVER_DIR)
|
||||
SERVER_NAME=$(basename $SERVER_DIR)
|
||||
cd $SERVER_PARENT_DIR || exit
|
||||
time=$(date "+%Y%m%d-%H%M%S")
|
||||
tar -czvf "${time}.tar.gz" --exclude="${SERVER_NAME}/session.lock" $SERVER_NAME
|
||||
mv "${time}.tar.gz" $BACKUP_DIR
|
||||
|
||||
# 删除多余的备份文件
|
||||
cd $BACKUP_DIR || exit
|
||||
tar_gz_files=($(ls -t *.tar.gz))
|
||||
if [ ${#tar_gz_files[@]} -gt $MAX_BACKUPS ]; then
|
||||
rm "${tar_gz_files[${#tar_gz_files[@]}-1]}"
|
||||
fi
|
||||
```
|
||||
|
||||
按 `Esc` 键,切换到英文输入法输入 `:wq` 保存并退出。
|
||||
|
||||
# 将备份脚本添加到定时任务
|
||||
|
||||
编辑定时任务:
|
||||
|
||||
```bash
|
||||
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
|
||||
# 以此类推...
|
||||
```
|
||||
|
||||
其中:
|
||||
|
||||
- `/path/to/server`: 替换为你的服务器目录的绝对路径;
|
||||
- `/path/to/backup`: 替换为你的备份文件保存目录的绝对路径;
|
||||
- `5`: 是最大备份文件数;
|
||||
|
||||
> 如何获得服务器目录的绝对路径?对应目录下执行 `pwd` 命令即可获得当前目录的绝对路径。
|
||||
|
||||
上面这个例子表示每天凌晨 3 点执行备份脚本,这里的 `0 3 * * *` 是 cron 表达式。有关 cron 表达式的更多信息,请参阅 [Linux crontab 命令](https://www.runoob.com/linux/linux-comm-crontab.html)。
|
||||
|
||||
我在这里提供几个常用的 cron 表达式:
|
||||
|
||||
- `0 3 * * *`:每天凌晨 3 点
|
||||
- `0 3 * * 0`:每周日凌晨 3 点
|
||||
- `0 3 1 * *`:每月 1 号凌晨 3 点
|
||||
- `0 3 * * 1`:每周一凌晨 3 点
|
||||
- `0 3 * * 1,3,5`:每周一、三、五凌晨 3 点
|
||||
- `0 3 * * 1-5`:每周一至周五凌晨 3 点
|
||||
- `0 3 * * 1-5`:每周一至周五凌晨 3 点
|
||||
|
||||
# 备份文件恢复
|
||||
|
||||
1. 首先确定要恢复的备份文件;
|
||||
2. 将备份文件解压:`tar -zxvf 备份文件名.tar.gz`;
|
||||
3. 将解压后的文件覆盖到服务器目录:`cp -r 解压后的文件路径/* 服务器目录`。
|
||||
|
@ -9,12 +9,25 @@ sidebar_position: 7
|
||||
|
||||
## 使用现成的内网穿透提供商
|
||||
|
||||
[Sakura Frp](https://www.natfrp.com/?page=panel&module=download) - 注册登录后前往 [下载页面](https://www.natfrp.com/tunnel/download) 下载 Frp 启动器。安装过程参考官方 [安装教程](https://doc.natfrp.com/launcher/usage.html) 即可。
|
||||
笔者无法在这里推荐运营商,因为目前在开服方面还没有受到广泛认可的内网穿透运营商。不同的运营商收费不同,限量不同,节点也不同。上网搜索“内网穿透”就能找到大量内网穿透的运营商,但是在选购的时候非常建议多家对比,找到最适合自己使用的运营商。下面是选择过程中除了价格外尤其需要注意的地方:
|
||||
1. 正规性:最好能在运营商的官网最下面看到网站备案信息,并且运营商也介绍了自己的公司名称,公司名称上网也能查得到。
|
||||
2. 流量:小服务器每月只能用掉几G,但是大服务器每月能用掉几百G甚至几T的流量。你需要确定对流量的收费是否适合自己。如果不确定多少流量适合自己,你可以先找一家运营商用一个月,看看自己要花掉乐多少流量。
|
||||
3. 带宽:一些内网穿透运营商只会给每个服务器几M的带宽,对于大型服务器完全不够用。注意,一般不限流量的内网穿透运营商带宽都很低。
|
||||
4. 隧道数:内网穿透每映射一个端口出去就叫一条隧道。每个服务端都可能需要占用一条隧道,你还需要一些隧道用来管理服务器等。一般新手有一个隧道就够,但是后面你可能需要远程桌面等要用到更多隧道。
|
||||
5. 节点:由于内网穿透是客户端向节点发送数据后节点再向服务器发送数据,和客户端与服务器直接通信相比,数据需要在节点上绕一下,这样一来延迟到来到了客户端到节点的延迟和服务端到节点延迟的总和。
|
||||
<details>
|
||||
<summary>如何选择合适的节点?</summary>
|
||||
|
||||
根据三角形两边之和大于第三边的定理,节点距离客户端或服务端越近,游戏延迟就越小。然而你无法确定客户端的地理位置,毕竟玩家来自大江南北。那么只有缩短节点与服务器之间的距离,才能保证所有玩家的延迟都最低。例如服务器位于河北,有两个节点分别位于山东枣庄和江苏宿迁,有两个玩家分别位于广东和辽宁,那么当选择离服务器更近的枣庄节点时,假设辽宁玩家到节点为20ms,广东玩家到节点为50ms,服务器到节点为10ms,那么辽宁玩家的游戏延迟就是20+10=30ms,广东玩家的游戏延迟就是50ms+10ms=60ms。当选择离服务器更远的宿迁节点时,假设辽宁玩家到节点为40ms,广东玩家到节点为30ms,服务器到节点为30ms,那么辽宁玩家的游戏延迟就是50+30=70ms,广东玩家的游戏延迟就是40+30=60ms。选择宿迁节点时虽然广东玩家的延迟不变,但是辽宁玩家连接服务器时,数据从更远的宿迁绕了一圈再回来,延迟高了很多。因此选择运营商时,优先选择拥有离自己近的节点的运营商。
|
||||
</details>
|
||||
6. 实名认证:为了在意外事故中更好地规划责任,很多内网穿透运营商都要求实名认证才能开始使用,或者部分节点需要实名认证。还有一些实名认证时还要求用户必须成年(年满18岁)。况且实名认证服务提供方收费,内网穿透运营商可能会让你自行承担费用,目前价格通常在1元。所以在选择运营商时,如果你未成年,或者没有在线支付的能力,那么在一些运营商处可能会受到限制。
|
||||
|
||||
## 自建 Frp
|
||||
|
||||
首先你得确保你有一台有公网 IP 的机器,最好是**Linux**的。
|
||||
|
||||
如果你的朋友愿意把他的服务器作为节点提供给你,你还需要注意配置方法包括了需要在他的服务器上进行的操作,你可能需要他交给你服务器的控制权,或者请求他的帮助。
|
||||
|
||||
这里假定你有一台符合条件的 Linux 服务器,并且你已经可以连上你服务器的**SSH**。
|
||||
|
||||
import Tabs from '@theme/Tabs';
|
||||
@ -24,7 +37,7 @@ import TabItem from '@theme/TabItem';
|
||||
|
||||
1. 首先确保服务器所有软件包是最新的:
|
||||
|
||||
不同的 linux 发行版更新方法大同小异
|
||||
不同的 Linux 发行版更新方法大同小异
|
||||
|
||||
<Tabs>
|
||||
<TabItem value="debian" label="Debian/Ubuntu Linux" default>
|
||||
|
@ -26,7 +26,7 @@ sidebar_position: 5
|
||||
|
||||
从右往左数第 n 个被 `.` 分开的片段就是 n 级域名,下表示意了例子中对应的域名级别:
|
||||
|
||||
:::tips
|
||||
:::tip
|
||||
|
||||
有些资料认为顶级域名后的域名为一级域名,此处以顶级、二级、三级为准。
|
||||
|
||||
@ -182,7 +182,7 @@ SRV 记录,使用二级域名记录了端口的信息,使用 SRV 可以隐
|
||||
|
||||
填写主机记录名,比如 playv6 。记录值改为服务器 IPv6 地址。
|
||||
|
||||
等待解析生效。如果记录名为 playv6 ,此时支持I Pv6 的玩家就可通过 `playv6.xxx.top:22222` 进入服务器了。
|
||||
等待解析生效。如果记录名为 playv6 ,此时支持 IPv6 的玩家就可通过 `playv6.xxx.top:22222` 进入服务器了。
|
||||
|
||||
:::tip
|
||||
|
||||
|
@ -10,9 +10,12 @@ sidebar_position: 5
|
||||
|
||||
# 申请公网IP
|
||||
|
||||
<details>
|
||||
<summary>为什么要申请公网IP?</summary>
|
||||
|
||||
## IPv4 的枯竭和 IPv6 推广的层层阻力
|
||||
|
||||
从 IPv4 的格式可以看出,I Pv4 共可以表示 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 愉快地连接了。
|
||||
|
||||
@ -22,8 +25,15 @@ sidebar_position: 5
|
||||
|
||||
可是近年来,据说 IPv6 的更新速度减缓了,据说主要是运营商尝到了 NAT 的甜头,因为套上运营商 NAT 后,用户就无法自行搭建服务器了,这样用户既不会用家用宽带提供未经审查的服务,也会被迫花更多钱去运营商那里购买昂贵的商用宽带,总地来说就是处处都利好了运营商,让他们既能给自己降低维护成本,又能让用户多给他们花钱。
|
||||
|
||||
通常来说国内手机流量(移动数据)的网络环境在绝大部分地区已经支持 IPv6 。然而由于设备老旧或配置不当等原因,很多宽带(例如家里办的宽带,网吧、酒店、饭店等公共场所的免费 Wi-Fi )都仍然不支持 IPv6 。如果你想知道自己正在使用的网络是否支持 IPv6 ,可以访问这两个网站:ipw.cn和test IPv6 .cn,它们会告诉你你现在的网络对 IPv6 的支持情况。如果你的网络还不支持 IPv6 ,你可能需要自行操作来开启。由于开通 IPv6 仅仅是一个开关,但是接触到这个开关的途径每个运营商、厂商和路由器品牌的方式都不同。下面仅给出2024年一种可能的方式,如果其中有步骤失效,可以上网搜索其他实现该步骤的方法,或者直接上网搜索其他方法操作。
|
||||
1. 检查是否已经有 IPv6 :如果是 Windows 系统,先打开任务管理器,点击性能选项卡,侧边栏找到以太网点击,下面的信息如果有显示 IPv6 地址,而且前缀不是`fe80`,那基本就证明是已经有 IPv6 了。国内绝大多数都是`2408``2409``240e`开头,如果是其他的你也可以百度一下这个开头,没有说是内网地址或者虚拟机就行
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary>开通IPv6的方法</summary>
|
||||
|
||||
## 开通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 地址之后,跟上段华为路由器要求的效果一样就行。
|
||||
@ -39,40 +49,99 @@ sidebar_position: 5
|
||||
|
||||
自此服务器的 IPv6 已经全部配置完毕了。
|
||||
|
||||
</details>
|
||||
|
||||
## 为家里的宽带申请公网 IPv4
|
||||
|
||||
上文提到由于 IPv4 地址枯竭,家用宽带中的服务器基本都处于 NAT 网络下。我的世界服务器由于本身不支持 NAT 打洞功能,所以只有端口映射一个办法可用。为了能进行端口映射,你需要获得公网上 NAT 网关的控制权。首先你必须要找到这个 NAT 网关的位置。现在找到你家里的弱电箱,也就是放“猫”的位置,那里肯定有一个运营商借你们的网络设备“猫”,现在新建的小区楼里一般家用网络都是通过光纤接入互联网,这种连接方式叫光纤入户。如果弱电箱里有一根黄色的细线,那就是光纤,而它连接的“猫”就是“光猫”。有时光猫上带有天线,自己就可以发射 Wi-Fi 信号,而有的光猫只是一个小盒子,上面需要另外接一个用来发射 Wi-Fi 信号的路由器才能让自己家有 Wi-Fi 。你家网络的 NAT 网关肯定就在光猫和那个路由器之间。
|
||||
由于 IPv4 地址枯竭,家用宽带中的服务器基本都处于 NAT 网络下。我的世界服务器由于本身不支持 NAT 打洞功能,所以只有端口映射一个办法可用。为了能进行端口映射,你需要获得公网上 NAT 网关的控制权。
|
||||
|
||||
### 找到主路由(NAT网关)
|
||||
|
||||
首先你必须要找到这个 NAT 网关的位置。
|
||||
|
||||
现在找到你家里的弱电箱,也就是放“猫”的位置,那里肯定有一个运营商借你们的网络设备“猫”,现在新建的小区楼里一般家用网络都是通过光纤接入互联网,这种连接方式叫光纤入户。如果弱电箱里有一根黄色的细线,那就是光纤,而它连接的“猫”就是“光猫”。
|
||||
|
||||
有时光猫上带有天线,自己就可以发射 Wi-Fi 信号,而有的光猫只是一个小盒子,上面需要另外接一个用来发射 Wi-Fi 信号的路由器才能让自己家有 Wi-Fi 。
|
||||
|
||||
你家网络的 NAT 网关肯定就在光猫和那个路由器之间。
|
||||
|
||||
#### 进入路由器后台
|
||||
|
||||
为了知道究竟哪个是最上游的 NAT 网关,你必须要进入其中一个设备的后台。网关的后台是一个只能由它下面的设备访问的网站。这个网站可以通过路由器的局域网IP地址访问,使用任何一个连接到家里 Wi-Fi 的设备都可以查看这个IP地址,而由于不同品牌和系统的设备查看的方法不一样,可以上网搜索“路由器的ip地址怎么看”,可以找到大量相关教程。
|
||||
|
||||
<details>
|
||||
<summary>点击展开 Windows,macOS,Linux ,iOS 和原生安卓的操作教程</summary>
|
||||
|
||||
为了知道究竟哪个是最上游的 NAT 网关,你必须要进入其中一个设备的后台。网关的后台是一个只能由它下面的设备访问的网站。这个网站可以通过路由器的局域网IP地址访问,使用任何一个连接到家里 Wi-Fi 的设备都可以查看这个IP地址,而由于不同品牌和系统的设备查看的方法不一样,可以上网搜索“路由器的ip地址怎么看”,可以找到大量相关教程。这里只给出 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 右边的齿轮,往下翻会有一个网关(如果没有但是有个高级就把那个高级展开),网关显示的就是路由器的地址。
|
||||
|
||||
</details>
|
||||
|
||||
把设备通过 Wi-Fi 或者网线连接到家里的宽带网络上后,直接进入浏览器,输入路由器的IP地址访问,就可以进入到路由器的后台页面。如果连不上去,首先确认自己是否真正连上了家里的网络,比如手机有没有连上 Wi-Fi ,或者连上 Wi-Fi 后有没有因为各种原因而仍然在使用流量。
|
||||
|
||||
成功进入后台之后,你首先要确认你进入的这个后台究竟是你自己的路由器,还是那个光猫。如果你进入了光猫的后台,那么网站上一般会标着运营商大大的 logo ,如果你进入了路由器,那么网站上一般只会标着路由器品牌的 logo,而没有运营商的 logo 。这时路由器一般会提示你输入密码。我相信有很多人设置完这个密码之后就忘了,因为在开我的世界服务器之前,没有人告诉你这个密码很重要。但是忘了是不行的,你必须要知道这个密码。如果是别人设置的,那你就要找到那个人要来密码,如果是装宽带的时候师傅告诉你的,那就联系给你装宽带的那个师傅问密码。如果确实是你自己设置的,而且你实在是想不起来了,那可能是这个路由器之前对于你真的不重要吧,那就只能给路由器重置了。**注意如果是光猫就无论如何都不要重置!路由器重置后需要重新设置,家里的所有设备都暂时会断网!重置路由器前务必确保你自己或身边的人有能力重新设置这个路由器!** 不同品牌路由器的重置方法不一样,这里不做展开,可以翻出路由器的说明书,或者上网搜索“「路由器品牌」怎么重置”(有些路由器重置非常麻烦,我之前就遇到过一个路由器,我折腾了十分钟才给重置好)。重置完成后,再根据当初安装这个路由器时的设置方法进行设置。
|
||||
成功进入后台之后,你首先要确认你进入的这个后台究竟是你自己的路由器,还是那个光猫。如果你进入了光猫的后台,那么网站上一般会标着运营商大大的 logo,如果你进入了路由器,那么网站上一般只会标着路由器品牌的 logo,而没有运营商的 logo。
|
||||
|
||||
登录路由器后台以后,网站上一般会显示一个“WAN IP”,这里的“WAN”代表公网,但它显示的并不一定是公网IP,用一些小技巧可以判断出来它到底是不是,一共分为三种情况:一种是显示`192.168`,一种是显示10 或 100 开头,一种是其他数字开头。前两种都不是公网IP,只有第三种是。到这里你就可以判断出来这个路由器是不是 NAT 网关了。如果它是`192.168`开头,那么就不是 NAT 网关,你需要换一个路由器重新进行这些操作。如果不是,那这就正是你要找的 NAT 网关。
|
||||
#### 登录路由器后台
|
||||
|
||||
找到 NAT 网关并进入它的后台之后,你就可以操作进行端口映射了。但是等一下!上文还提到,由于部分运营商为了节省公网 IPv4 地址而不给一些家里分配 IPv4 地址,这样的情况下是无法成功进行端口映射的,因为你家里的 NAT 网关并不是公网上的 NAT 网关,真正公网上的 NAT 网关在运营商手里,你根本拿不到控制权。你必须先确认一下你的网络是不是这个类型,别白费了工夫。方法还是查看那个WAN IP,如果它不是10或100开头,你就可以继续进行端口映射了。
|
||||
这时路由器一般会提示你输入密码。我相信有很多人设置完这个密码之后就忘了,因为在开我的世界服务器之前,没有人告诉你这个密码很重要。但是忘了是不行的,你必须要知道这个密码。
|
||||
- 如果是别人设置的,那你就要找到那个人要来密码。
|
||||
- 如果是装宽带的时候师傅告诉你的,那就联系给你装宽带的那个师傅问密码。
|
||||
- 如果确实是你自己设置的,而且你实在是想不起来了,~~那可能是这个路由器之前对于你真的不重要吧,~~那就只能给路由器重置了。**注意如果是光猫就无论如何都不要重置!路由器重置后需要重新设置,家里的所有设备都暂时会断网!重置路由器前务必确保你自己或身边的人有能力重新设置这个路由器!** 不同品牌路由器的重置方法不一样,这里不做展开,可以翻出路由器的说明书,或者上网搜索“「路由器品牌」怎么重置”(有些路由器重置非常麻烦,我之前就遇到过一个路由器,我折腾了十分钟才给重置好)。重置完成后,再根据当初安装这个路由器时的设置方法进行设置。
|
||||
|
||||
但是如果是 10 或 100 开头,就没有办法进行端口映射了吗?其实还是有一丝希望,但是这需要你大量的努力,因为你可以通过和运营商交涉让他们给你把 IP 变成真正的公网 IP ,这一步就是主动向运营商申请公网IP。首先如果你的宽带必须是联通或电信运营商,因为目前只有这两个运营商有相对充足的公网 IPv4 地址分配给家用宽带,其他运营商无论如何都不会给你改成真正的公网IP。而联通和电信也分地区,现在尤其南方的一些省份由于人口稠密,宽带办理非常多,当地的 IPv4 地址也已经枯竭,所以当地的联通和电信有的对公网IP额外收费,有的则是直接不再提供,说什么也不行。要想和这些运营商申请公网IP,你可以打电话直接要公网,或者一些省份的电信有自助开通公网 IPv4 的渠道。通常来说,和运营商申请公网IP一般有以下几种情况:
|
||||
- 在你上一步改桥接的时候,路由器就已经有公网 IPv4 了
|
||||
- 运营商说可以有公网 IPv4 ,但是你必须得先把 IPv6 停了。这种情况一般出现在南方部分省份的电信宽带上。
|
||||
- 运营商要求你进行报备。有的时候不需要你自己跑去营业厅办手续签字什么的,运营商那边自己给你登记一下就行了。
|
||||
- 运营商要求公网要额外收费。
|
||||
- 运营商告诉你虽然没有公网,但是他们的上级 NAT 网关的各类是 NAT1。
|
||||
- 运营商打死也不给公网。移动是这样的。
|
||||
:::info
|
||||
|
||||
部分地区的部分运营商可能不允许用户自行登录光猫。如果你遇到了类似的情况,建议直接跳转到 [主动向运营商申请公网 IPv4](#主动向运营商申请公网-ipv4)
|
||||
|
||||
:::
|
||||
|
||||
#### 查看 WAN IP
|
||||
|
||||
登录路由器后台以后,网站上一般会显示一个 “WAN IP”,这里的 “WAN” 代表公网,但它显示的并不一定是公网 IP,用一些小技巧可以判断出来它到底是不是,一共分为三种情况:
|
||||
1. 显示 `192.168`,不是 NAT 网关
|
||||
2. 是显示10 或 100 开头,是 NAT 网关
|
||||
3. 一种是其他数字开头,是 NAT 网关
|
||||
|
||||
如果这个路由器不是 NAT 网关,你就需要换一个路由器重复这些操作,直到它的 WAN IP 符合上述其中一种是 NAT 网关的情况。
|
||||
|
||||
### 确认是否已有公网 IPv4
|
||||
|
||||
找到 NAT 网关并进入它的后台之后,你就可以操作进行端口映射了。但是等一下!上文还提到,由于部分运营商为了节省公网 IPv4 地址而不给一些家里分配 IPv4 地址,这样的情况下是无法成功进行端口映射的,因为你家里的 NAT 网关并不是公网上的 NAT 网关,真正公网上的 NAT 网关在运营商手里,**你根本拿不到控制权。你必须先确认一下你的网络是不是这个类型,别白费了工夫。**
|
||||
|
||||
方法还是查看那个 WAN IP,如果它不是 10 或 100 开头,你就可以继续进行端口映射了。
|
||||
|
||||
### 主动向运营商申请公网 IPv4
|
||||
|
||||
但是如果是 10 或 100 开头,就没有办法进行端口映射了吗?其实还是有一丝希望,但是**这需要你大量的努力**,因为你可以通过和运营商交涉让他们给你把 IP 变成真正的公网 IP ,这一步就是主动向运营商申请公网IP。
|
||||
|
||||
首先如果你的宽带必须是**联通或电信**运营商,因为目前只有这两个运营商有相对充足的公网 IPv4 地址分配给家用宽带,其他运营商无论如何都不会给你改成真正的公网IP。
|
||||
|
||||
而联通和电信也分地区,现在尤其南方的一些省份由于人口稠密,宽带办理非常多,当地的 IPv4 地址也已经枯竭,所以当地的联通和电信有的对公网IP额外收费,有的则是直接不再提供,说什么也不行。要想和这些运营商申请公网IP,你可以打电话直接要公网,或者一些省份的电信有自助开通公网 IPv4 的渠道。
|
||||
|
||||
通常来说,和运营商申请公网IP一般有以下几种情况:
|
||||
- **路由器已经有公网 IPv4 了**,不需要申请了。
|
||||
- 运营商说可以有公网 IPv4 ,**但是你必须得先把 IPv6 停了**。这种情况一般出现在南方部分省份的电信宽带上。
|
||||
- **运营商要求你进行报备**。有的时候不需要你自己跑去营业厅办手续签字什么的,运营商那边自己给你登记一下就行了。
|
||||
- **运营商要求公网要额外收费**。
|
||||
- 运营商告诉你虽然没有公网,但是他们的**上级 NAT 网关的种类是 NAT1**。
|
||||
- **运营商打死也不给公网。**
|
||||
|
||||
如果联系运营商也解决不了,就没有办法进行端口映射了。可是如果不能进行端口映射,就不能在自己家开服务器了吗?办法总比困难多,下面继续介绍一种特殊但确实有效的办法。
|
||||
|
||||
## 商用宽带
|
||||
|
||||
上文提到,运营商不愿意推广 IPv6 有可能是因为想让用户给他们交更多的钱买商用宽带。没错,平时我们办理的都是家用宽带,而还有一种宽带可以用于商用,这种宽带一定有公网 IPv4 地址,而且很多宽带都拥有不止一个公网 IP 。这种宽带一般用于公司、营业场所、专业服务器机房等。由于是商业用途,这种宽带要比普通宽带贵得多,而且要求严格,并不是所有人都能办得了。要办这种宽带,你必须至少满足以下两个条件:
|
||||
1. 你自己有一个公司,或者你能联系到一个公司能够为你办理这种宽带。商用宽带都是以公司为单位办理的,这里的公司必须是已经在相关部分登记,而且有营业执照的那种。
|
||||
2. 你必须有十分充足的预算。商用宽带极其昂贵,一般家庭都承担不起,就连企业也要精打细算地用。
|
||||
上文提到,运营商不愿意推广 IPv6 有可能是因为想让用户给他们交更多的钱买商用宽带。没错,平时我们办理的都是家用宽带,而还有一种宽带可以用于商用,这种宽带一定有公网 IPv4 地址,而且很多宽带都拥有不止一个公网 IP。这种宽带一般用于公司、营业场所、专业服务器机房等。由于是商业用途,这种宽带要**比普通宽带贵得多,而且要求严格,并不是所有人都能办得了**。
|
||||
|
||||
要办这种宽带,你必须至少满足以下两个条件:
|
||||
1. **你自己有一个公司**,或者你能联系到一个公司能够为你办理这种宽带。商用宽带都是以公司为单位办理的,这里的公司必须是已经在相关部分登记,而且有营业执照的那种。
|
||||
2. **你必须有十分充足的预算**。商用宽带极其昂贵,一般家庭都承担不起,就连企业也要精打细算地用。
|
||||
|
||||
满足以上条件之后,你就可以联系运营商办理商用宽带了。
|
||||
|
||||
:::tip
|
||||
|
||||
一些地区的运营商有时会放出一些低价低配的企业宽带,这些宽带虽然低配,但是上行够高,也一定有公网IP。如果你的公司预算还是挺紧张的,你可以试着和运营商那边的人处好关系,及时了解到刚放出来的企业宽带并抢购。
|
||||
|
||||
:::
|
||||
|
@ -74,6 +74,7 @@ sidebar_position: 3
|
||||
1. 有专人维护,不需要你自行花费时间
|
||||
2. 有稳定的供电和网络
|
||||
3. 一定有公网 IPv4 ,还可以选配更高上行带宽
|
||||
|
||||
但也有以下缺点:
|
||||
1. 不够灵活,加装改装比较麻烦
|
||||
2. 公网、带宽和维护都要另外收费,而且价格不菲
|
||||
|
BIN
docs/process/maintenance/_images/angryopenfrp.jpg
Normal file
After Width: | Height: | Size: 116 KiB |
@ -57,7 +57,13 @@ Minecraft 后端服务器一般是不会对 Ping 进行过滤和记录的,这
|
||||
|
||||
#### Minecraft 漏洞攻击
|
||||
|
||||
通过利用 Minecraft 游戏本身的漏洞,向服务器发送(可能是大量的)不合法的数据包,造成服务器卡顿甚至**崩溃**。
|
||||
通过利用 Minecraft 游戏本身的漏洞,向服务器发送(可能是大量的)不合法的数据包,造成服务器卡顿甚至**崩溃**,例如攻击者可以向 BDS 服务器发送大量空数据包使其不断打印日志而不再正常处理游戏内容。
|
||||
|
||||
#### 远程桌面/ssh爆破
|
||||
|
||||
众所周知,只要足够有耐心,就一定能赢得猜数游戏。远程桌面或 ssh 也是如此。由于其并没有针对用户的复杂的验证机制,这导致任何人都可以无限制地试错。所以攻击者可以通过编写脚本等方式制作软件,不断地假设密码登录服务器远控服务,这就是**爆破攻击**,或者叫暴力破解密码。最终当登录成功时,攻击即成功,攻击者将**获得你服务器完全的控制权**。
|
||||
|
||||
注意由于该服务在电脑上非常常见,所以世界各处经常有攻击者通过扫描 IPv4 地址(扫段攻击,通过对某个 IP 段的所有 IP 逐个检测来找出可以攻击的目标),并通过扫描端口(扫端口,通过对某个 IP 上的所有端口进行检测来找出可以攻击的目标),来找到你的服务器的远控地址,而不需要事先对你的服务器或你本人有任何了解。也就是说,如果你遭遇了这种攻击,不要一味地反思自己是否激怒过他人或和小人有了过节,而是要专注于防范你所遭受的攻击本身。
|
||||
|
||||
### 网络层
|
||||
|
||||
@ -71,6 +77,14 @@ Minecraft JAVA 服务端采用 TCP 作为通信协议,所以您可能会遭受
|
||||
|
||||
## 解决方案
|
||||
|
||||
### 低调做人,不要惹是生非
|
||||
|
||||
在开服圈子里,有大量的攻击并非无故发起。多数时候是因为服主招惹了一些有攻击能力的人,才招致服务器受到攻击。你不是专业的企业家、生意人,你的服务器非常脆弱。我的世界作为世界上销量最高的游戏,其玩家社区非常复杂而混乱。如果你对其做不到非常了解,请务必谨慎对待。
|
||||
1. 遇到对服务器中违规感到愤怒的玩家,不要一味地对他采取强硬态度。尽可能和他私下解决,保证他对处罚结果感到满意,如从轻处罚、删除处罚名单等。遇到不讲理的玩家,虽然其行为本身不合理,但顾客就是上帝,你仍然需要与其协商做出让步,在对方确实执意要破坏服务器时,再对其采取强硬态度来保证自身利益。注意协商成功后不要和其他任何玩家提及此事。
|
||||
2. 对已付费、已赞助或活跃的玩家放宽违规行为的评判标准,并优先响应其反馈。愿意为服务器花费真金白银或大把时间的玩家通常更在意服务器,他们的体验往往更重要,不仅后期有潜力为服务器带来更多收入和更多玩家,还很有可能在服务器中遭遇负责情绪时采取更极端的行为。你可以在这类玩家违反规定后视其影响对其适当采取宽容态度(睁一只眼闭一只眼),并在他们和其他玩家起冲突时以协调为主,尽可能不对其进行处罚。
|
||||
3. 千万不要在其他服务器玩家交流平台(比如服务器群)里宣传自己的服务器。如果你的服务器非常缺人,这时突然来人宣传把你的玩家全抢走了,你怎么想?在其他服务器交流平台上宣传自己的服务器往往会被对方的玩家或管理团队视为不正当竞争,这将激怒他们,并导致他们对你的服务器发起攻击。
|
||||
4. 不要招惹任何人,包括任何从事或爱好计算机行业的人和所有mc玩家。请注意,很多人嘴上不说自己喜欢攻击他人,但是他们会在愤怒的情况下想尽一切方法搞砸你的服务器,就像他们和其他人闹矛盾时会起肢体冲突一样。
|
||||
|
||||
### 使用 Velocity / BungeeCord
|
||||
|
||||
不要试图单独使用任何后端服务器 (如 Spigot / Paper / Purpur 等) 抵御大规模应用层攻击。
|
||||
@ -109,12 +123,47 @@ connection_throttle_limit: 3
|
||||
|
||||
:::
|
||||
|
||||
### 付费防御核心
|
||||
#### 付费防御核心
|
||||
|
||||
如果您非常有钱,您可以打开跨服端[核心选择](https://yizhan.wiki/NitWikit/Java/advance/cross-server/server-core-choose),选择那些付费的跨服端核心,NullCordX 是一个较好的选择。
|
||||
|
||||
但在没有想好的情况下,**不建议为反假人付费**。
|
||||
|
||||
#### 改掉默认端口
|
||||
|
||||
修改默认端口为其他端口。尽可能使用**高位端口**,例如`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 位以上,只要软件允许就要包含:
|
||||
- 大小写英文
|
||||
- 数字
|
||||
- 特殊符号,如`!@#$*_`
|
||||
|
||||
|
||||
例如不要使用以下密码:
|
||||
- `123456`(又短又简单,黑客的最爱)
|
||||
- `114514`(极常见词汇,114514 是互联网上常见的梗)
|
||||
- `#sI3wA@!`(虽然复杂但是由于较短仍然容易被暴力破解)
|
||||
- `skyworkserver`(服务器名)
|
||||
- `yizhan`(人名、物品名、地名等)
|
||||
- `111111111111111111111111111`(虽然很长,但是不复杂,仍然容易被破解)
|
||||
- `minimouse4820030611`(包含生日等个人信息)
|
||||
|
||||
并尽可能不使用以下密码:
|
||||
- `yizhan114514`(由常见词汇组成)
|
||||
- `shuodedaoli`(汉语拼音而且对应的汉语为常见词汇,本密码对应的汉语词汇为常见的梗“说的道理”)
|
||||
- `#tianjifuwuqi`(除了寥寥几位强密码以外其他都是弱密码)
|
||||
|
||||
#### 在操作系统中安装防御软件
|
||||
##### Windows
|
||||
有火绒(家庭版即自带安全防护无需付费)等杀毒软件可供选择,宝塔面板也可以购买付费的防爆破功能
|
||||
##### Linux
|
||||
有雷池waf、1P等面板可供选择
|
||||
|
||||
### 网络层攻击防御
|
||||
|
||||
#### 将服务器托管到高防机房/购买高防 VPS
|
||||
@ -149,7 +198,12 @@ connection_throttle_limit: 3
|
||||
|
||||
这个方法比较缺德,我们只需要疯狂 Frp ,一个 Frp 被打死了,我们就换另一个 Frp ,通知玩家重新连接就可以。
|
||||
|
||||
缺点就是比较**缺德**,而且可能面临被 Frp 提供商拉黑的风险!
|
||||
:::danger
|
||||
|
||||
除非迫不得已,不要使用这种方法防御攻击。就算被迫使用这种方法防御攻击,也千万不要告诉任何人,最好对于自己的服务器管理员也闭口不谈,只说“攻击的事我暂时解决了,让玩家进服吧”。因为在开服圈子的任何一处这种方法都是一种十分自私、对同行极不负责任的行为。你的行为可能会导致相应的内网穿透运营商突然出现大量额外支出,并影响大量使用同一节点的人正常使用服务(如果节点被打死了,那么攻击者就是在攻击你的过程中误伤了大量其他无辜用户)。不要因为你图省事的想法牵连无辜的陌生人。
|
||||
<!-- -->
|
||||
|
||||
:::
|
||||
|
||||
#### 更换 IP
|
||||
|
||||
|
@ -14,11 +14,13 @@ title: 如何预防崩服
|
||||
|
||||
### 插件类
|
||||
|
||||
在服务器上安装了老版本/未发现漏洞的插件。
|
||||
在服务器上安装了老版本/未发现漏洞的插件可能导致插件因bug自行崩溃,甚至甚至有漏洞被攻击者利用。这类通常需要服主做好相应的措施预防。首先在选用插件时就应注意:
|
||||
1. 初次安装时就尽可能解决 WARN 和 ERROR,实在不行就立刻换插件
|
||||
2. 少用,最好不用停更插件
|
||||
3. 少用,最好不用黑插件
|
||||
4. 尽可能使用用户数多的插件
|
||||
|
||||
从而使攻击者利用插件中的漏洞,这类通常需要服主做好相应的措施预防。
|
||||
|
||||
具体预防方面:
|
||||
就算你已经保证选用了可依赖的插件,仍然要对这类问题进行预防。具体预防方面有:
|
||||
|
||||
1. 对玩家使用的指令进行限制,最好是通过白名单,仅开放玩家会用到的指令。
|
||||
|
||||
@ -63,13 +65,13 @@ title: 如何预防崩服
|
||||
|
||||
</details>
|
||||
|
||||
#### 运行环境类
|
||||
### 运行环境类
|
||||
|
||||
这类漏洞基本上很难避免,如log4j,在未发现之前谁也不知道。
|
||||
|
||||
服主还是尽可能的多关注网络信息,保证自己能尽快了解到一些漏洞的产生,防止被攻击者钻空子。
|
||||
|
||||
#### 发包类/物品类(也称原版漏洞)
|
||||
### 发包类/物品类(也称原版漏洞)
|
||||
|
||||
简单来说,就是向服务器发送一些无法处理/处理缓慢的包。
|
||||
|
||||
|
@ -42,10 +42,10 @@ const config = {
|
||||
// Even if you don't use internalization, you can use this field to set useful
|
||||
// metadata like html lang. For example, if your site is Chinese, you may want
|
||||
// to replace "en" with "zh-Hans".
|
||||
// i18n: {
|
||||
// defaultLocale: 'zh-Hans',
|
||||
// locales: ['zh-Hans'],
|
||||
// },
|
||||
i18n: {
|
||||
defaultLocale: 'zh-Hans',
|
||||
locales: ['zh-Hans'],
|
||||
},
|
||||
|
||||
presets: [
|
||||
[
|
||||
@ -154,10 +154,11 @@ const config = {
|
||||
className: "header-github-link",
|
||||
position: "right",
|
||||
},
|
||||
{
|
||||
type: 'localeDropdown',
|
||||
position: 'right',
|
||||
},
|
||||
// 顶部导航栏显示切换语言按钮
|
||||
// {
|
||||
// type: 'localeDropdown',
|
||||
// position: 'right',
|
||||
// },
|
||||
],
|
||||
},
|
||||
// 底部链接
|
||||
@ -219,7 +220,7 @@ const config = {
|
||||
require.resolve("@easyops-cn/docusaurus-search-local"),
|
||||
{
|
||||
hashed: true,
|
||||
// language: ["zh"],
|
||||
language: ["zh"],
|
||||
highlightSearchTermsOnTargetPage: true,
|
||||
explicitSearchResultPath: true,
|
||||
indexBlog: false,
|
||||
|