doc/protocol.txt
author nemo
Fri, 13 Apr 2018 13:03:51 -0400
changeset 13327 b77a9380dd0f
parent 10342 16122539d2ea
permissions -rw-r--r--
QT for some reason messes with XCompose causing broken input (Qt 5 only - Qt 4 did not break anything). In Qt 5.2 and 5.3 this was causing an invalid conversion in chat messages containing these resulting in the bad bytes being stripped. In Qt 5.9 it is still broken, but you at least get a string with something in it. This checks for non-zero converted strings for room creation and chat lines.

    '?'             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'             выход по причине окончания игры