{"text_format":"3","workbook":"xls","n_sheets":1,"sheets":["Feuille1"],"read":"whole","date_system":"1900","formulas":"cached_only"}

{"sheet":"Feuille1","index":0,"n_rows":78,"n_cols":18,"rows_kept":78,"merged":[[2,2,2,3],[2,4,2,5],[3,2,3,3],[4,2,4,3],[38,2,38,5],[39,2,39,5],[40,2,40,5],[41,2,41,5],[42,2,42,5],[43,2,43,5],[44,2,44,5],[45,2,45,5]],"flags":["formulas_cached_only"]}
[]
[null,"LobbyRoomProtocol"]
[null,"Header","Type",null,"Option",null,"Option2","…"]
[null,"Size (bytes)",1,null,1,"Size"]
[null,"Data","Protocol type",null,"Size","Value"]
[]
["Done","Direction","Types","Meaning","Option size","Option value","Option2 size","Option2 value"]
["Yes","Server → players",{"v":1,"d":"00000001"},"New player",4,"id of the player",1,"Local id"]
["Yes","Server → players",{"v":10,"d":"00000010"},"Player DC",1,"Race id"]
["Yes","Server → players",{"v":11,"d":"00000011"},"Kart update",1,"Race id","X < 64","kart name"]
["Yes","Server → players ",{"v":100,"d":"00000100"},"start game",4,"token"]
["Yes","Server → Players",{"v":101,"d":"00000101"},"Start selection",1,"token"]
[null,"Server → Players",{"v":10011,"d":"00010011"},"End of race",4,"token",1,"Kart 1 index",1,"Kart 2 index",1,"Kart 3 index","…"]
[]
["Yes","Server → player",10000000,"Connection refused",1,"Refusal code"]
["Yes","Server → player",10000001,"Connection accepted",1,"Race id",4,"private token",4,"global id",1,"Id 1",4,"global id 1",1,"Id 2",4,"global id 2"]
["Yes","Server → player",10000010,"Kart refused",1,"Refusal code"]
[]
["Yes","Server → player",11000000,"Major mode vote",4,"token",1,"Player id",1,"Major vote"]
["Yes","Server → player",11000001,"Race count vote",4,"token",1,"Player id",1,"Race count"]
["Yes","Server → player",11000010,"Minor mode vote",4,"token",1,"Player id",1,"Minor vote"]
["Yes","Server → player",11000011,"Track vote",4,"token",1,"Player id","X < 64","Track vote",1,"Track number (in GP)"]
["Yes","Server → player",11000100,"Reversed vote",4,"token",1,"Player id",1,"Reversed vote",1,"Track number (in GP)"]
["Yes","Server → player",11000101,"Laps vote",4,"token",1,"Player id",1,"Laps vote",1,"Track number (in GP)"]
[]
[]
[]
["Yes","Player → server",{"v":1,"d":"00000001"},"Connection request",4,"global id"]
["Yes","Player → server",{"v":10,"d":"00000010"},"Kart selection request",4,"token","X < 64","kart name"]
[]
["Yes","Player → server",11000000,"Major mode vote",4,"token",1,"Major vote"]
["Yes","Player → server",11000001,"Race count vote",4,"token",1,"Race count"]
["Yes","Player → server",11000010,"Minor mode vote",4,"token",1,"Minor vote"]
["Yes","Player → server",11000011,"Track vote",4,"token","X < 64","Track vote",1,"Track number (in GP)"]
["Yes","Player → server",11000100,"Reversed vote",4,"token",1,"Reversed vote",1,"Track number (in GP)"]
["Yes","Player → server",11000101,"Laps vote",4,"token",1,"Laps vote",1,"Track number (in GP)"]
[]
[null,"Mechanism"]
[null,"Server","Messages",{"$nulls":3},"Player"]
[null,null,"← Connection request : global id ←",{"$nulls":3},"ON_SERVER_SELECTION"]
[null,"ON_ACCEPT"," → Connection accepted : race id, token, global id →"]
[null,"ON_REFUSE"," → Connection refused : refusal code →"]
[null,null,"← Kart selection request : token, kart name ←",{"$nulls":3},"ON_KART_SELECTION"]
[null,"ON_ACCEPT"," → Kart update (to everyone) : race id, kart name →"]
[null,"ON_REFUSE"," → Kart refused : refusal code →"]
[null,"ON_SETUP_CHANGED"," → Race setup update : nb of laps, map etc... →"]
[]
[]
[]
[null,"StartGameProtocol"]
[null,"Header","Token","type"]
[null,"Size (bytes)",4,1]
[null,"Data","Player-serv token","message type"]
[]
[null,"type","type value",null,"Player->Server only"]
[null,"Ready",1,null,"The synchronization protocol is used to tell when the game starts"]
[]
[]
[null,"SynchronizationProtocol"]
[null,"Header","id","Token","Type","sequence number"]
[null,"Size (bytes)",1,4,1,4]
[null,"Data","communication id","Player-serv token","type","sequence number"]
[]
[null,"The sequence number is increased by one each time, sent unreliably, every 100 milliseconds."]
[null,"This protocol is used to measure the ping through all network layers (not the round-trip-time calculated by enet)"]
[]
[null,"Type","Value"]
[null,"Ping ",1]
[null,"Ping_answer",0]
[]
[]
[null,"KartUpdateProtocol"]
[null,"Header"]
[null,"Size (bytes)"]
[]
[]
[null,"Direction"]
[null,"Player → Server"]