Skip to content

Commit 1edd3ff

Browse files
完善 WaterdogPE 跨服代理相关文档并且完善移动端渲染器部分 (#67)
1 parent 5c89375 commit 1edd3ff

File tree

5 files changed

+179
-3
lines changed

5 files changed

+179
-3
lines changed

astro.config.ts

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -642,8 +642,8 @@ export default defineConfig({
642642
"java/process/mobile-player/client/intro",
643643
"java/process/mobile-player/client/amethyst-ios",
644644
"java/process/mobile-player/client/android-all",
645+
"java/process/mobile-player/client/renderer",
645646
"java/process/mobile-player/client/pcl"
646-
647647
]
648648
}
649649
]
@@ -1022,7 +1022,27 @@ export default defineConfig({
10221022
},
10231023
{
10241024
label: "WaterdogePE 跨服",
1025-
items: ["bedrock/waterdogepe/preparation"]
1025+
items: [
1026+
"bedrock/waterdogepe/intro",
1027+
{
1028+
label: "安装 Java",
1029+
collapsed: true,
1030+
items: [
1031+
"general/java/intro",
1032+
"general/java/choose-and-download-and-install-java",
1033+
"general/java/environment",
1034+
"general/java/sdkman",
1035+
"general/java/faq"
1036+
]
1037+
},
1038+
{
1039+
label: "文本编辑器",
1040+
collapsed: true,
1041+
autogenerate: { directory: "general/preparation/text-editor" }
1042+
},
1043+
"bedrock/waterdogepe/install",
1044+
"bedrock/waterdogepe/config"
1045+
]
10261046
}
10271047
]
10281048
},
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
---
2+
title: 配置文件
3+
---
4+
5+
```yaml
6+
# Waterdog 主配置文件
7+
# 在此配置您所需的网络设置
8+
9+
# 启动后即可使用的所有下游服务器列表
10+
# address 字段格式为 ip:端口
11+
# public_address 为可选字段,可设置为玩家可以直接连接的 IP
12+
servers:
13+
lobby1:
14+
address: 127.0.0.1:19133
15+
public_address: play.myserver.com:19133
16+
listener:
17+
# 在玩家服务器标签页中显示的 Motd,并在 ping 请求时返回
18+
motd: §bWaterdog§3PE
19+
# 服务器优先级列表。如果未被插件更改,代理将把玩家连接到这些服务器中的第一个
20+
priorities:
21+
- lobby1
22+
# 服务器绑定的地址
23+
host: 0.0.0.0:19132
24+
# 可以连接到此代理实例的最大玩家数量
25+
max_players: 20
26+
# 将玩家加入时使用的 IP 映射到特定服务器
27+
# 例如 skywars.xyz.com => SkyWars-1
28+
# 当玩家使用 skywars-xyz.com 作为服务器 IP 连接时,他将直接连接到 SkyWars-1
29+
forced_hosts: {}
30+
# 区分大小写的玩家权限列表(使用 {} 表示空)
31+
permissions:
32+
TobiasDev:
33+
- waterdog.player.transfer
34+
- waterdog.player.list
35+
alemiz003:
36+
- waterdog.player.transfer
37+
- waterdog.player.list
38+
# 每个玩家默认应获得的权限列表(使用 [] 表示空)
39+
permissions_default:
40+
- waterdog.command.help
41+
- waterdog.command.info
42+
# 是否在控制台启用调试输出
43+
enable_debug: false
44+
# 如果启用,将在客户端和代理之间创建加密连接
45+
upstream_encryption: true
46+
# 如果启用,只有通过 XBOX Live 身份验证的玩家才能加入。如果禁用,任何人都可以连接 *使用任意名称*
47+
online_mode: true
48+
# 如果启用,代理将能够绑定到 IPv6 地址
49+
enable_ipv6: false
50+
# 如果启用,代理将通过 LoginPacket 中的自定义字段向下游服务器传递信息(如 XUID 或 IP)
51+
use_login_extras: true
52+
# 如果启用,将用下划线替换用户名中的空格
53+
replace_username_spaces: false
54+
# 是否启用服务器查询
55+
enable_query: true
56+
# 如果启用,当接收到 McpeTransferPacket 时,代理将检查目标服务器是否在下游列表中,如果是,则使用快速传输机制
57+
prefer_fast_transfer: true
58+
# 快速编解码器仅解码代理所需的包,其他所有内容都将原始传递。禁用此选项可能会导致性能下降
59+
use_fast_codec: true
60+
# 如果启用,代理将在 AvailableCommandsPacket 中注入所有代理命令,启用自动补全
61+
inject_proxy_commands: true
62+
# 上游服务器压缩率(代理到客户端),值越高 = 带宽越少,CPU 使用越多,反之亦然
63+
upstream_compression_level: 6
64+
# 上游服务器压缩率(代理到下游服务器),值越高 = 带宽越少,CPU 使用越多,反之亦然
65+
downstream_compression_level: 2
66+
# 教育功能需要小幅调整才能正常工作。如果任何下游服务器支持教育功能,请启用此选项
67+
enable_edu_features: false
68+
# 启用/禁用资源包系统
69+
enable_packs: true
70+
# 是否强制应用材质包
71+
force_apply_packs: false
72+
# 您可以设置要缓存的最大资源包大小(单位:MB)
73+
pack_cache_size: 16
74+
# 在某些情况下创建线程可能代价高昂。指定每个内部线程执行器的最小空闲线程数。设置为 -1 以根据核心数量自动检测
75+
default_idle_threads: -1
76+
```
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: 安装
3+
---
4+
5+
import { Steps } from "@astrojs/starlight/components";
6+
7+
<Steps>
8+
9+
1. 如果你要启动 WaterdogPE,你需要安装 Java 11。若需使用旧版 Java 启动代理,则必须自行编译 WaterdogPE。
10+
11+
2. 从 WaterdogPE 的 [Jenkins 服务器](https://jenkins.waterdog.dev/) 或者 [GitHub](https://github.com/WaterdogPE/WaterdogPE) 下载最新构建的 Waterdog.jar 文件。
12+
13+
3. 将该文件放置于专用于 Waterdog 的新目录中。
14+
15+
4. 创建启动脚本以运行该 JAR 文件。
16+
17+
使用 Java 11 时,我们建议添加这些参数,这将为某些 Netty 功能提供支持。
18+
19+
```bash
20+
-Dio.netty.tryReflectionSetAccessible=true
21+
--add-opens java.base/jdk.internal.misc=ALL-UNNAMED
22+
```
23+
24+
在 Windows 的启动脚本如下
25+
26+
```bash
27+
@echo off
28+
java -Xms512M -Xmx4G -jar Waterdog.jar
29+
pause
30+
```
31+
32+
在 Linux 的启动脚本如下
33+
34+
```bash
35+
#!/bin/bash
36+
java -Xms512M -Xmx4G -jar Waterdog.jar
37+
```
38+
在启动脚本中使用上述代码仅作为模板,您也可将 512M 替换为期望分配的初始内存池大小,将 4G 替换为期望分配给代理的最大内存池大小。具体数值完全取决于您使用的底层硬件及实际需求,若无需调整则可跳过此步骤。
39+
40+
记得为在 Linux 的脚本赋予可执行权限,这样你就可以直接使用 bash 你的启动脚本名字.sh 来启动 WaterdogPE。
41+
42+
5. 成功安装 WDPE 后,需确保其正常运行。关键步骤之一是配置下游服务器实例(Nukkit/PMMP)以离线模式运行,可通过修改 server.properties 实现。需将 xbox-auth 属性设置为 false。
43+
44+
在使用代理时需禁用 PocketMine-MP 新增的另一项设置:
45+
46+
由于服务器认为玩家未通过认证,其 XUID 将被清除。PMMP 新增的安全验证机制会检查玩家当前 XUID 是否与历史记录匹配。
47+
48+
代理环境下因 XUID 不匹配导致玩家断开连接的问题,可通过在 pocketmine.yml 文件中禁用 player.verify-xuid 解决。
49+
50+
</Steps>

src/content/docs/bedrock/waterdogepe/preparation.md renamed to src/content/docs/bedrock/waterdogepe/intro.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: 准备工作
2+
title: 概述
33
---
44

55
在正式开 Minecraft 服务器之前,请一定确认已经准备好了以下必备软件或网页:
@@ -11,3 +11,7 @@ title: 准备工作
1111
网页主要包括了寻找插件、mod、生成 MOTD,生成指令等便捷功能;
1212

1313
笨蛋脚本主要用于一键式配置文件、安装插件等。
14+
15+
WaterdogPE 是由旧版 Waterdog 代理开发者打造的全新《我的世界:基岩版》代理软件。
16+
17+
本次新代理采用 Cloudbursts 协议库进行开发。
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
title: 渲染器
3+
---
4+
5+
| 名字 | 作者 | 支持版本 |
6+
| --------------------------------------------------------------------------- | ----------------- | -------- |
7+
| Angle | Google | 1.17+ |
8+
| GL4ES | ptitSeb | ? |
9+
| GL4ES+ | Swung 0x48 | ? |
10+
| Krypton Wrapper | BZLZHH | ? |
11+
| [MobileGlues](https://github.com/MobileGL-Dev/MobileGlues-release/releases) | Swung0x48 BZLZHH | ? |
12+
| [MobileGL](https://github.com/MobileGL-Dev/MobileGL) | Swung0x48 BZLZHH | ? |
13+
| LTW | PojavLauncherTeam | ? |
14+
| Mesa(Zink,VirGL,FreedReno,Panforst) | Brian Paul | ? |
15+
16+
你可以在 [FCLRendererPlugin](https://github.com/ShirosakiMio/FCLRendererPlugin/releases/tag/Renderer) 下载插件,并且使用他们
17+
18+
注:MobileGL 还在开发阶段,如果需要体验请你构建它
19+
20+
骁龙支持 Zink 需要刷驱动
21+
22+
不建议当使用钠(Sodium)时使用 Angle 和 GL4ES(+)
23+
24+
当你使用 1.17 以下时建议使用 GL4ES(+),当你遇到渲染错误时 Mesa 是个好去处
25+
26+
1.17 以上建议使用 LTW 或 MobileGlues

0 commit comments

Comments
 (0)