I think this is correct way to use iterate over it as a hashmap. don't have much lua practice
'?' ping?
'!' pong!
'l','L' срабатывание команд -left, +left
'r','R' -right, +right
'u','U' -up, +up
'd','D' -down, +down
'z', 'Z' -precise, +precise
'N' срабатывание команды /nextturn
'S' /switch
's' + <текст> /say
'+' пустой пакет для постоянности лага
'1'..'5' /timer 1..5
chr(128+№) /slot №
'w' /setweap
'p' /put
'j' /ljump
'J' /hjump
'E' + <текст> сообщение об ошибке
',' /skip
't' + № /taunt №
'f' + <team> 'team' is uncontrolled
'g' + <team> 'team' is controlled again (synced msg)
фронтенд клиенту:
'e' + <команда> выполнить "/<команда>"
'T' + {L,N,D} тип игры (локальная, сетевая, просмотр демо)
'W' + <текст> сообщение о нефатальной ошибке
'F' + <team> команда team вылетела в сетевой игре
'G' + <team> 'team' is back (unsynced msg)
'o' stop syncing, game over!
Клиент фронтенду:
'C' запрос текущего конфига игры
'q' выход по причине окончания демки
'i' статистика
'K' вывести сообщение из KB
'Q' выход через команду /quit
'q' выход по причине окончания игры