protocol update

This commit is contained in:
MeexReay 2024-12-16 00:48:54 +03:00
parent 6392bf00d6
commit 5be9f94e07
3 changed files with 15 additions and 8 deletions

View file

@ -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"

View file

@ -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() {

View file

@ -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