Skip to content

Commit a64a2ec

Browse files
committed
actualize docs
1 parent 2e61eab commit a64a2ec

8 files changed

Lines changed: 212 additions & 44 deletions

File tree

content/en/3.server/3.server-properties.md

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ Main server config file: `config/ServerProperties.json`.
66

77
```json
88
{
9+
"TelemetryEnabled": true,
10+
"TelemetryToken": "replace-with-stable-random-token",
911
"VoiceCraftConfig": {
1012
"Language": "en-US",
1113
"Port": 9050,
@@ -21,8 +23,8 @@ Main server config file: `config/ServerProperties.json`.
2123
"MaxClients": 1,
2224
"MaxTimeoutMs": 10000,
2325
"DataTunnelCommand": "voicecraft:data_tunnel",
24-
"CommandsPerTick": 5,
25-
"MaxStringLengthPerCommand": 1000,
26+
"CommandsPerTick": 3,
27+
"MaxByteLengthPerCommand": 300,
2628
"DisabledPacketTypes": []
2729
},
2830
"McHttpConfig": {
@@ -51,6 +53,21 @@ Main server config file: `config/ServerProperties.json`.
5153
}
5254
```
5355

56+
## Telemetry
57+
58+
- `TelemetryEnabled`:
59+
enables anonymous startup, heartbeat, and crash diagnostics from `VoiceCraft.Server`.
60+
- `TelemetryToken`:
61+
stable pseudonymous fingerprint used to group telemetry events from one server installation.
62+
63+
If you do not want telemetry, set:
64+
65+
```json
66+
{
67+
"TelemetryEnabled": false
68+
}
69+
```
70+
5471
## VoiceCraftConfig
5572

5673
- `Language`:
@@ -86,8 +103,8 @@ Used for websocket / command-tunnel Bedrock flows.
86103
command name used for the data tunnel, usually `voicecraft:data_tunnel`.
87104
- `CommandsPerTick`:
88105
how many command packets are forwarded per tick.
89-
- `MaxStringLengthPerCommand`:
90-
payload budget per command invocation.
106+
- `MaxByteLengthPerCommand`:
107+
payload budget (bytes) per command invocation.
91108
- `DisabledPacketTypes`:
92109
packet types blocked on this transport.
93110

content/en/4.minecraft/2.mcwss-singleplayer.md

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ Typical setup:
3535
"MaxClients": 1,
3636
"MaxTimeoutMs": 10000,
3737
"DataTunnelCommand": "voicecraft:data_tunnel",
38-
"CommandsPerTick": 5,
39-
"MaxStringLengthPerCommand": 1000,
38+
"CommandsPerTick": 3,
39+
"MaxByteLengthPerCommand": 300,
4040
"DisabledPacketTypes": []
4141
}
4242
}
@@ -88,12 +88,17 @@ This must stay aligned with `McWssConfig.DataTunnelCommand`.
8888

8989
If you rename one side and not the other, the bridge breaks.
9090

91+
The command currently carries:
92+
93+
- optional max string length argument
94+
- packed payload data argument
95+
9196
## Tuning
9297

9398
If you see lag or packet instability:
9499

95100
- lower `CommandsPerTick`
96-
- review `MaxStringLengthPerCommand`
101+
- review `MaxByteLengthPerCommand`
97102
- avoid large burst updates
98103
- test with fewer active entities
99104

content/en/5.operations/7.troubleshooting-matrix.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ Check:
5353
Check:
5454

5555
1. `CommandsPerTick`
56-
2. `MaxStringLengthPerCommand`
56+
2. `MaxByteLengthPerCommand`
5757
3. entity churn and packet burst size
5858
4. whether `McHttp` would be a better fit
5959

content/en/6.ecosystem/4.voicecraft-addon.md

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Across packages:
3737

3838
- `voicecraft:vcconnect <token>`
3939
permission: `Host`
40-
- `voicecraft:data_tunnel [data]`
40+
- `voicecraft:data_tunnel [max_string_length] [data]`
4141
permission: `Host`
4242

4343
## What the Basic package gives you
@@ -87,7 +87,6 @@ Effects are sent through `McApiSetEffectRequestPacket`.
8787

8888
## Current limitations
8989

90-
- `Kick` in the Basic player action menu is not implemented yet
9190
- `Core.McWss` stability depends on command and payload limits
9291

9392
## Recommended setup: BDS

content/ru/3.server/3.server-properties.md

Lines changed: 33 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66

77
```json
88
{
9+
"TelemetryEnabled": true,
10+
"TelemetryToken": "replace-with-stable-random-token",
911
"VoiceCraftConfig": {
1012
"Language": "en-US",
1113
"Port": 9050,
@@ -21,8 +23,8 @@
2123
"MaxClients": 1,
2224
"MaxTimeoutMs": 10000,
2325
"DataTunnelCommand": "voicecraft:data_tunnel",
24-
"CommandsPerTick": 5,
25-
"MaxStringLengthPerCommand": 1000,
26+
"CommandsPerTick": 3,
27+
"MaxByteLengthPerCommand": 300,
2628
"DisabledPacketTypes": []
2729
},
2830
"McHttpConfig": {
@@ -51,16 +53,37 @@
5153
}
5254
```
5355

56+
## Телеметрия
57+
58+
- `TelemetryEnabled`:
59+
включает анонимные события запуска, heartbeat и crash-диагностику от `VoiceCraft.Server`.
60+
- `TelemetryToken`:
61+
стабильный псевдонимный идентификатор, по которому группируются события с одной установки сервера.
62+
63+
Если телеметрия не нужна:
64+
65+
```json
66+
{
67+
"TelemetryEnabled": false
68+
}
69+
```
70+
5471
## VoiceCraftConfig
5572

56-
- `Language`
57-
- `Port`
58-
- `MaxClients`
59-
- `Motd`
60-
- `PositioningType`
73+
- `Language`:
74+
язык логов сервера.
75+
- `Port`:
76+
UDP-порт основного VoiceCraft-сервера.
77+
- `MaxClients`:
78+
максимум подключений VoiceCraft-клиентов.
79+
- `Motd`:
80+
текст для ping/info ответов.
81+
- `PositioningType`:
82+
режим позиционирования:
6183
- `0 = Server`
6284
- `1 = Client`
63-
- `EnableVisibilityDisplay`
85+
- `EnableVisibilityDisplay`:
86+
отправлять ли клиентам индикаторы видимости.
6487

6588
## McWssConfig
6689

@@ -73,7 +96,7 @@
7396
- `MaxTimeoutMs`
7497
- `DataTunnelCommand`
7598
- `CommandsPerTick`
76-
- `MaxStringLengthPerCommand`
99+
- `MaxByteLengthPerCommand`
77100
- `DisabledPacketTypes`
78101

79102
## McHttpConfig
@@ -102,7 +125,7 @@
102125
Ключевые отличия от `McHttp` / `McWss`:
103126

104127
- `Hostname` это обычный host, а не URI
105-
- `Port` задаётся отдельным полем
128+
- `Port` задается отдельным полем
106129
- именно этот transport важен для `GeyserVoice`
107130

108131
## DefaultAudioEffectsConfig
Lines changed: 71 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,64 @@
11
# McWss для одиночных миров
22

3-
`McWss` это websocket / command-tunnel transport, который в основном используется для локальных миров и лёгких Bedrock-сценариев.
3+
`McWss` это websocket / command-tunnel transport, который в основном используется для локальных миров и легких Bedrock-сценариев.
44

55
## Когда использовать
66

7-
- локальный Bedrock мир
8-
- singleplayer
9-
- тестирование addon logic
7+
Используйте `McWss`, если:
108

11-
## Ограничения
9+
- вы играете в локальном Bedrock-мире
10+
- нужен быстрый singleplayer setup
11+
- вы тестируете addon-логику без отдельного BDS
12+
13+
## Важные ограничения
1214

1315
- обычно менее стабилен, чем `McHttp`
1416
- сильно зависит от command throughput и размера payload
17+
- не является основным выбором для больших публичных прод-серверов
1518

1619
## Требования
1720

1821
1. `VoiceCraft.Server` с `McWssConfig.Enabled = true`
1922
2. `VoiceCraft.Addon.Core.McWss.zip`
23+
3. Bedrock-версия с поддержкой нужной websocket / script-функциональности
24+
25+
## Конфиг VoiceCraft сервера
26+
27+
Типовой пример:
28+
29+
```json
30+
{
31+
"McWssConfig": {
32+
"Enabled": true,
33+
"LoginToken": "replace-with-token",
34+
"Hostname": "ws://127.0.0.1:9051/",
35+
"MaxClients": 1,
36+
"MaxTimeoutMs": 10000,
37+
"DataTunnelCommand": "voicecraft:data_tunnel",
38+
"CommandsPerTick": 3,
39+
"MaxByteLengthPerCommand": 300,
40+
"DisabledPacketTypes": []
41+
}
42+
}
43+
```
44+
45+
## Установка
46+
47+
### Вариант 1: импорт как `.mcaddon`
2048

21-
## Подключение
49+
1. Переименуйте архив в `VoiceCraft.Addon.Core.McWss.mcaddon`.
50+
2. Откройте его, чтобы Minecraft импортировал addon.
51+
3. Включите behavior pack и resource pack в нужном мире.
2252

23-
### Шаг 1: websocket connect
53+
### Вариант 2: ручное копирование
54+
55+
1. Распакуйте архив.
56+
2. Скопируйте `RP` и `BP` в директории Bedrock.
57+
3. Включите оба пака в целевом мире.
58+
59+
## Схема подключения
60+
61+
### Шаг 1: подключить websocket мира
2462

2563
```text
2664
/connect <VOICECRAFT_HOST>:<MCWSS_PORT>
@@ -32,7 +70,7 @@
3270
/connect 127.0.0.1:9051
3371
```
3472

35-
### Шаг 2: авторизация аддона
73+
### Шаг 2: авторизовать addon
3674

3775
```text
3876
/voicecraft:vcconnect <LOGIN_TOKEN>
@@ -42,8 +80,32 @@
4280

4381
## Data tunnel
4482

45-
Аддон использует:
83+
Addon использует:
4684

4785
- `voicecraft:data_tunnel`
4886

4987
Имя должно совпадать с `McWssConfig.DataTunnelCommand`.
88+
89+
Если изменить только одну сторону, мост перестанет работать.
90+
91+
Сейчас команда передает:
92+
93+
- опциональный аргумент max string length
94+
- аргумент с упакованным payload
95+
96+
## Тюнинг
97+
98+
Если видите лаги или нестабильность пакетов:
99+
100+
- снижайте `CommandsPerTick`
101+
- проверяйте `MaxByteLengthPerCommand`
102+
- избегайте больших burst-обновлений
103+
- тестируйте на меньшем числе активных сущностей
104+
105+
## Когда лучше перейти на другой transport
106+
107+
Переходите на `McHttp`, если:
108+
109+
- вы используете реальный Bedrock Dedicated Server
110+
- нужна более чистая production-схема
111+
- command tunnel становится узким местом
Lines changed: 56 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,68 @@
1-
# Troubleshooting matrix
1+
# Матрица проблем
22

3-
Используйте эту страницу, когда нужен symptom-based разбор, а не общий checklist.
3+
Используйте эту страницу для symptom-based диагностики, когда нужен быстрый путь от симптома к проверкам.
44

55
## Симптом: клиент подключается, но никто никого не слышит
66

77
Проверьте:
88

99
1. совпадает ли `PositioningType`
10-
2. завершён ли bind flow
10+
2. завершен ли bind flow
1111
3. получают ли сущности world и position updates
12-
4. не включён ли локальный mute / deafen
13-
5. не замьючен ли пользователь сервером
12+
4. не включен ли локальный mute/deafen у клиента
13+
5. не замьючен/оглушен ли клиент сервером
1414

15-
## Симптом: GeyserVoice установлен, но bridge не работает
15+
## Симптом: addon подключается, но bind не работает
1616

1717
Проверьте:
1818

19-
1. включён ли `McTcp`
20-
2. совпадают ли `host`, `port`, `login-token`
21-
3. осознанно ли настроен direct или proxy mode
22-
4. если включён `auto-start`, успевает ли runtime стать ready
19+
1. корректен ли token
20+
2. создается ли ожидаемая сущность
21+
3. правильный ли binding key вводит игрок
22+
4. срабатывают ли bind script events
23+
24+
## Симптом: GeyserVoice установлен, но Java-bridge не поднимается
25+
26+
Проверьте:
27+
28+
1. включен ли `McTcp` на VoiceCraft
29+
2. совпадают ли `host`, `port` и `login-token`
30+
3. осознанно ли выбран direct или proxy mode
31+
4. если включен `auto-start`, успевает ли runtime стать ready в timeout
32+
33+
## Симптом: direct Paper mode работает после ручного реконнекта, но ломается на старте
34+
35+
Проверьте:
36+
37+
1. `config.voicecraft.auto-start`
38+
2. `install-directory`
39+
3. `ready-timeout-ms`
40+
4. кто владеет запуском runtime-процесса
41+
42+
## Симптом: proxy mode работает на одном backend, но ломается при server switch
43+
44+
Проверьте:
45+
46+
1. proxy действительно является source of truth
47+
2. backend-ноды не пытаются сами владеть VoiceCraft-подключением
48+
3. snapshot forwarding не ломается на переключении
49+
4. world ID namespacing остается консистентным
50+
51+
## Симптом: `McWss` нестабилен
52+
53+
Проверьте:
54+
55+
1. `CommandsPerTick`
56+
2. `MaxByteLengthPerCommand`
57+
3. объем entity churn и packet bursts
58+
4. не лучше ли перейти на `McHttp`
59+
60+
## Симптом: VoiceCraft сервер стартует, но transport-клиент не может подключиться
61+
62+
Проверьте:
63+
64+
1. host binding
65+
2. открытый порт
66+
3. firewall
67+
4. выбран ли правильный transport
68+
5. не переписывают ли runtime overrides ожидаемые значения

0 commit comments

Comments
 (0)