protocol update
This commit is contained in:
parent
6392bf00d6
commit
5be9f94e07
3 changed files with 15 additions and 8 deletions
|
@ -108,7 +108,7 @@
|
||||||
сломать блок [D]: {x}, {y}
|
сломать блок [D]: {x}, {y}
|
||||||
нажатие кнопки (список кнопок ниже) [K]: {кнопка}, {нажата ли}
|
нажатие кнопки (список кнопок ниже) [K]: {кнопка}, {нажата ли}
|
||||||
отправить сообщение [M]: {сообщение}
|
отправить сообщение [M]: {сообщение}
|
||||||
корректировка движения [R]: {рандомное айди}, {x}, {y}
|
корректировка движения [R]: {рандомное айди}
|
||||||
|
|
||||||
сервер отправляет:
|
сервер отправляет:
|
||||||
кикнуть игрока с ошибкой [K]: {ошибка}
|
кикнуть игрока с ошибкой [K]: {ошибка}
|
||||||
|
@ -122,7 +122,7 @@
|
||||||
отправить мир [W]: {изм. мира}, {изм. мира}, ...
|
отправить мир [W]: {изм. мира}, {изм. мира}, ...
|
||||||
отправить все типы блоков: [B]: {тип_1}, ..., {тип_9}
|
отправить все типы блоков: [B]: {тип_1}, ..., {тип_9}
|
||||||
отправить сообщение [M]: {сообщение}, {сообщение}, ...
|
отправить сообщение [M]: {сообщение}, {сообщение}, ...
|
||||||
корректировка движения [R]: {рандомное айди}, {время}, {vel_x}, {vel_y}
|
корректировка движения [R]: {рандомное айди}, {время}, {vel_x}, {vel_y}, {x}, {y}
|
||||||
|
|
||||||
список кнопок которые может отправить игрок через отдельный пакет:
|
список кнопок которые может отправить игрок через отдельный пакет:
|
||||||
["KeyR", "KeyW", "KeyE", "KeyQ", "KeyS", "KeyZ", "KeyX", "KeyC"
|
["KeyR", "KeyW", "KeyE", "KeyQ", "KeyS", "KeyZ", "KeyX", "KeyC"
|
||||||
|
|
|
@ -409,10 +409,6 @@ class MainPlayer extends Player {
|
||||||
this.send_packet("D",x,y)
|
this.send_packet("D",x,y)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
setInterval(() => {
|
|
||||||
this.send_packet("R",Date.now(),this.x,this.y)
|
|
||||||
}, 100)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
recv_packet(packet) {
|
recv_packet(packet) {
|
||||||
|
@ -445,6 +441,8 @@ class MainPlayer extends Player {
|
||||||
else player.ping = (player.ping + ping) / 2
|
else player.ping = (player.ping + ping) / 2
|
||||||
player.velocity_x = parseFloat(packet_data[2])
|
player.velocity_x = parseFloat(packet_data[2])
|
||||||
player.velocity_y = parseFloat(packet_data[3])
|
player.velocity_y = parseFloat(packet_data[3])
|
||||||
|
player.x = parseFloat(packet_data[4])
|
||||||
|
player.y = parseFloat(packet_data[5])
|
||||||
}
|
}
|
||||||
|
|
||||||
if (packet_id == "P") {
|
if (packet_id == "P") {
|
||||||
|
@ -557,6 +555,8 @@ class MainPlayer extends Player {
|
||||||
this.collide()
|
this.collide()
|
||||||
|
|
||||||
ticksAlive++
|
ticksAlive++
|
||||||
|
|
||||||
|
this.send_packet("R",Date.now())
|
||||||
}
|
}
|
||||||
|
|
||||||
render() {
|
render() {
|
||||||
|
|
11
server.py
11
server.py
|
@ -272,9 +272,16 @@ async def handler(websocket: ServerConnection):
|
||||||
print(message)
|
print(message)
|
||||||
|
|
||||||
if packet_id == "R":
|
if packet_id == "R":
|
||||||
rid, x, y = packet_data
|
rid = packet_data[0]
|
||||||
|
|
||||||
writePacket(websocket, "R", [rid, str(current_milli_time()), str(player.vel_x + (x - player.x)), str(player.vel_y + (y - player.y))])
|
await writePacket(websocket, "R", [
|
||||||
|
rid,
|
||||||
|
str(current_milli_time()),
|
||||||
|
str(player.vel_x),
|
||||||
|
str(player.vel_y),
|
||||||
|
str(player.x),
|
||||||
|
str(player.y)
|
||||||
|
])
|
||||||
|
|
||||||
if packet_id == "D":
|
if packet_id == "D":
|
||||||
x,y = packet_data
|
x,y = packet_data
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue