velocity packet
This commit is contained in:
parent
5be9f94e07
commit
d3060a1f28
4 changed files with 103 additions and 127 deletions
68
index.html
68
index.html
|
@ -42,7 +42,6 @@
|
|||
<span id="server-error" style="color: red;margin: 5px 0;display: inline-block;"></span><br>
|
||||
<button id="connect-server">поддключт к серваа</button><br>
|
||||
|
||||
|
||||
<div class="margin-25"></div>
|
||||
|
||||
<canvas width="640" height="480" id="game"></canvas>
|
||||
|
@ -69,75 +68,12 @@
|
|||
меню отладки на F3
|
||||
ресетнуться на кнопку R
|
||||
открыть чат кнопка T
|
||||
|
||||
</pre>
|
||||
|
||||
<div class="margin-25"></div>
|
||||
|
||||
<h3>протокол сервачный:</h3>
|
||||
|
||||
<pre>
|
||||
работает через вебсокеты
|
||||
дефолтный порт 8000
|
||||
|
||||
булевые значения пишутся как 0 и 1
|
||||
в нике не должны быть пробелы
|
||||
установка - добавление / изменение
|
||||
|
||||
формат пакетов:
|
||||
первый символ - тип пакета
|
||||
остальное - данные пакета, параметры через \n (перенос строки)
|
||||
пример пакета отправки мира:
|
||||
"WB10,0,1,normal,#fff\nP1name,0,1,0,0,#d00"
|
||||
🠅└─┬───────────────┘ └┬────────────────┘
|
||||
тип параметр (блок) параметр (игрок)
|
||||
|
||||
|
||||
список пакетов:
|
||||
{данные} - типа это какието данные так обозначаю, скобки не надо
|
||||
[C] - айди пакета
|
||||
|
||||
клиент отправляет:
|
||||
заход игрока [J]: {ник_игрока}
|
||||
прыжок выкл (controls_jump = false) [C]: "J", "0"
|
||||
прыжок вкл (controls_jump = true) [C]: "J", "1"
|
||||
идти выкл (controls_x = 0) [C]: "W", "0"
|
||||
идти левее (controls_x = -1) [C]: "W", "1"
|
||||
идти правее (controls_x = 1) [C]: "W", "2"
|
||||
установить блок [P]: {x}, {y}, {тип}
|
||||
сломать блок [D]: {x}, {y}
|
||||
нажатие кнопки (список кнопок ниже) [K]: {кнопка}, {нажата ли}
|
||||
отправить сообщение [M]: {сообщение}
|
||||
корректировка движения [R]: {рандомное айди}
|
||||
|
||||
сервер отправляет:
|
||||
кикнуть игрока с ошибкой [K]: {ошибка}
|
||||
установить цвета игроку [C]: {цвет}
|
||||
установить ник игрока [N]: {ник}
|
||||
установить позицию игрока [P]: {x}, {y}
|
||||
установить velocity игрока [V]: {x}, {y}
|
||||
установить walk speed игрока [S]: "W", {скорость}
|
||||
установить jump speed игрока [S]: "J", {скорость}
|
||||
установить gravity speed игрока [S]: "G", {скорость}
|
||||
отправить мир [W]: {изм. мира}, {изм. мира}, ...
|
||||
отправить все типы блоков: [B]: {тип_1}, ..., {тип_9}
|
||||
отправить сообщение [M]: {сообщение}, {сообщение}, ...
|
||||
корректировка движения [R]: {рандомное айди}, {время}, {vel_x}, {vel_y}, {x}, {y}
|
||||
|
||||
список кнопок которые может отправить игрок через отдельный пакет:
|
||||
["KeyR", "KeyW", "KeyE", "KeyQ", "KeyS", "KeyZ", "KeyX", "KeyC"
|
||||
"Numpad1", "Numpad2", "Numpad3", "Numpad4", "Numpad5",
|
||||
"Numpad6", "Numpad7", "Numpad8", "Numpad9", "Numpad0",
|
||||
"ShiftLeft", "ControlLeft", "Enter", "F1", "F2"]
|
||||
|
||||
формат изменения мира:
|
||||
установка блока: "B1{x},{y},{collides},{type},{color}"
|
||||
установка игрока: "P1{name},{x},{y},{vel_x},{vel_y},{color}"
|
||||
удаление блока: "B0{x},{y}"
|
||||
удаление игрока: "P0{name}"
|
||||
|
||||
</pre>
|
||||
|
||||
<a href="https://github.com/MeexReay/cubicjs">репозиторий гитхаб</a>
|
||||
<a href="README.md">протокол сервера</a>
|
||||
<a href="server.py">готовая реализация сервера на Python</a>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue