pianoverse/pianoverse.proto
2024-08-27 20:39:18 +03:00

148 lines
2.3 KiB
Protocol Buffer

// PV version = 9a65ffd093eefcad972f715896bf35d9d5058a2d
syntax = "proto3";
package pianoverse;
message ClientMessage {
enum EventType {
CHOWN = 0;
PING = 1;
ROOM = 2;
PROFILE = 3;
CHAT = 4;
MOVE = 5;
MUTE = 6;
UNMUTE = 7;
KICK = 8;
PRESS = 9;
RELEASE = 10;
SUSTAIN = 11;
HEARTBEAT = 12;
BAN = 13;
IPBAN = 14;
MOD = 15;
UNMOD = 16;
}
string chown = 1;
EventType event = 2;
Heartbeat ping = 3;
Room room = 4;
message Room {
string room = 1;
bool private = 2;
}
Profile profile = 5;
string chat = 6;
Move move = 7;
string mute = 8;
string unmute = 9;
string kick = 10;
Press press = 11;
Release release = 12;
bool sustain = 13;
Heartbeat heartbeat = 14;
Ban ban = 15;
string ipban = 16;
string mod = 17;
string unmod = 18;
message Heartbeat {}
message Ban {
string id = 1;
uint32 minutes = 2;
}
}
enum Role {
USER = 0;
MODERATOR = 1;
DEVELOPER = 2;
}
message ServerMessage {
enum EventType {
CLEAR = 0;
PONG = 1;
CHAT = 2;
ROOMS = 3;
WELCOME = 4;
MOVE = 5;
PRESS = 6;
RELEASE = 7;
SUSTAIN = 8;
PROFILE = 9;
JOIN = 10;
LEAVE = 11;
RATELIMIT = 12;
MESSAGE = 13;
CHOWN = 14;
}
Profile clear = 1;
EventType event = 2;
Profile pong = 3;
Chat chat = 4;
message Chat {
string id = 1;
string content = 2;
string name = 3;
string color = 4;
}
repeated Room rooms = 5;
message Room {
string room = 1;
uint32 count = 2;
}
Welcome welcome = 6;
message Welcome {
string id = 1;
string name = 2;
string color = 3;
string room = 4;
string owner = 5;
repeated Chat chat = 6;
Role role = 7;
}
Move move = 7;
Press press = 8;
Release release = 9;
Sustain sustain = 10;
message Sustain {
string id = 1;
bool enabled = 2;
}
Profile profile = 11;
Profile join = 12;
string leave = 13;
uint32 ratelimit = 14;
string message = 15;
string chown = 16;
}
message Profile {
string id = 1;
string name = 2;
string color = 3;
Role role = 4;
bool muted = 5;
float x = 6;
float y = 7;
}
message Move {
string id = 1;
float x = 2;
float y = 3;
}
message Press {
string id = 1;
uint32 key = 2;
uint32 vel = 3;
}
message Release {
string id = 1;
uint32 key = 2;
}