# frozen_string_literal: true GAME_VERSION = '0.7.5' GAME_NETVERSION_HASH_FORCED = '802f1be60a05665f' GAME_NETVERSION = "0.7 #{GAME_NETVERSION_HASH_FORCED}".freeze CLIENT_VERSION = 0x0705 NETMSG_NULL = 0 NETMSG_INFO = 1 NETMSG_MAP_CHANGE = 2 # sent when client should switch map NETMSG_MAP_DATA = 3 # map transfer, contains a chunk of the map file NETMSG_SERVERINFO = 4 NETMSG_CON_READY = 5 # connection is ready, client should send start info NETMSG_SNAP = 6 # normal snapshot, multiple parts NETMSG_SNAPEMPTY = 7 # empty snapshot NETMSG_SNAPSINGLE = 8 # ? NETMSG_SNAPSMALL = 9 NETMSG_INPUTTIMING = 10 # reports how off the input was NETMSG_RCON_AUTH_ON = 11 # rcon authentication enabled NETMSG_RCON_AUTH_OFF = 12 # rcon authentication disabled NETMSG_RCON_LINE = 13 # line that should be printed to the remote console NETMSG_RCON_CMD_ADD = 14 NETMSG_RCON_CMD_REM = 15 NETMSG_MAPLIST_ENTRY_ADD = 29 # TODO: 0.8: move up NETMSG_MAPLIST_ENTRY_REM = 30 # sent by client NETMSG_READY = 18 NETMSG_ENTERGAME = 19 NETMSG_INPUT = 20 # contains the inputdata from the client NETMSG_RCON_CMD = 21 NETMSG_RCON_AUTH = 22 NETMSG_REQUEST_MAP_DATA = 23 NETMSG_INVALID = 0 NETMSGTYPE_SV_MOTD = 1 NETMSGTYPE_SV_BROADCAST = 2 NETMSGTYPE_SV_CHAT = 3 NETMSGTYPE_SV_TEAM = 4 NETMSGTYPE_SV_KILLMSG = 5 NETMSGTYPE_SV_TUNEPARAMS = 6 NETMSGTYPE_SV_EXTRAPROJECTILE = 7 NETMSGTYPE_SV_READYTOENTER = 8 NETMSGTYPE_SV_WEAPONPICKUP = 19 NETMSGTYPE_SV_EMOTICON = 10 NETMSGTYPE_SV_VOTECLEAROPTIONS = 11 NETMSGTYPE_SV_VOTEOPTIONLISTADD = 12 NETMSGTYPE_SV_VOTEOPTIONADD = 13 NETMSGTYPE_SV_VOTEOPTIONREMOVE = 14 NETMSGTYPE_SV_VOTESET = 15 NETMSGTYPE_SV_VOTESTATUS = 16 NETMSGTYPE_SV_SERVERSETTINGS = 17 NETMSGTYPE_SV_CLIENTINFO = 18 NETMSGTYPE_SV_GAMEINFO = 19 NETMSGTYPE_SV_CLIENTDROP = 20 NETMSGTYPE_SV_GAMEMSG = 21 NETMSGTYPE_DE_CLIENTENTER = 22 NETMSGTYPE_DE_CLIENTLEAVE = 23 NETMSGTYPE_CL_SAY = 24 NETMSGTYPE_CL_SETTEAM = 25 NETMSGTYPE_CL_SETSPECTATORMODE = 26 NETMSGTYPE_CL_STARTINFO = 27 NETMSGTYPE_CL_KILL = 28 NETMSGTYPE_CL_READYCHANGE = 29 NETMSGTYPE_CL_EMOTICON = 30 NETMSGTYPE_CL_VOTE = 31 NETMSGTYPE_CL_CALLVOTE = 32 NETMSGTYPE_SV_SKINCHANGE = 33 NETMSGTYPE_CL_SKINCHANGE = 34 NETMSGTYPE_SV_RACEFINISH = 35 NETMSGTYPE_SV_CHECKPOINT = 36 NETMSGTYPE_SV_COMMANDINFO = 37 NETMSGTYPE_SV_COMMANDINFOREMOVE = 38 NETMSGTYPE_CL_COMMAND = 39 NUM_NETMSGTYPES = 40 NET_CTRLMSG_KEEPALIVE = 0 NET_CTRLMSG_CONNECT = 1 NET_CTRLMSG_ACCEPT = 2 NET_CTRLMSG_CLOSE = 4 NET_CTRLMSG_TOKEN = 5 NET_MAX_SEQUENCE = 1 << 10 NET_CONNSTATE_OFFLINE = 0 NET_CONNSTATE_TOKEN = 1 NET_CONNSTATE_CONNECT = 2 NET_CONNSTATE_PENDING = 3 NET_CONNSTATE_ONLINE = 4 NET_CONNSTATE_ERROR = 5 NET_MAX_CHUNKHEADERSIZE = 3 NET_PACKETHEADERSIZE = 7 NET_PACKETHEADERSIZE_CONNLESS = NET_PACKETHEADERSIZE + 2 NET_MAX_PACKETHEADERSIZE = NET_PACKETHEADERSIZE_CONNLESS NET_MAX_PACKETSIZE = 1400 NET_MAX_PAYLOAD = NET_MAX_PACKETSIZE - NET_MAX_PACKETHEADERSIZE CHAT_NONE = 0 CHAT_ALL = 1 CHAT_TEAM = 2 CHAT_WHISPER = 3 NUM_CHATS = 4 TARGET_SERVER = -1 PACKET_HEADER_SIZE = 7 VITAL_CHUNK_HEADER_SIZE = 3 NON_VITAL_CHUNK_HEADER_SIZE = 2 MAX_CLIENTS = 64 MAX_PLAYERS = 16 MAP_CHUNK_SIZE = NET_MAX_PAYLOAD - NET_MAX_CHUNKHEADERSIZE - 4 # msg type SERVER_TICK_SPEED = 50 # should this be moved to some snap related file? NETOBJ_INVALID = 0 NETOBJTYPE_PLAYERINPUT = 1 NETOBJTYPE_PROJECTILE = 2 NETOBJTYPE_LASER = 3 NETOBJTYPE_PICKUP = 4 NETOBJTYPE_FLAG = 5 NETOBJTYPE_GAMEDATA = 6 NETOBJTYPE_GAMEDATATEAM = 7 NETOBJTYPE_GAMEDATAFLAG = 8 NETOBJTYPE_CHARACTERCORE = 9 NETOBJTYPE_CHARACTER = 10 NETOBJTYPE_PLAYERINFO = 11 NETOBJTYPE_SPECTATORINFO = 12 NETOBJTYPE_DE_CLIENTINFO = 13 NETOBJTYPE_DE_GAMEINFO = 14 NETOBJTYPE_DE_TUNEPARAMS = 15 NETEVENTTYPE_COMMON = 16 NETEVENTTYPE_EXPLOSION = 17 NETEVENTTYPE_SPAWN = 18 NETEVENTTYPE_HAMMERHIT = 19 NETEVENTTYPE_DEATH = 20 NETEVENTTYPE_SOUNDWORLD = 21 NETEVENTTYPE_DAMAGE = 22 NETOBJTYPE_PLAYERINFORACE = 23 NETOBJTYPE_GAMEDATARACE = 24 NUM_NETOBJTYPE = 25