Commit graph

51 commits

Author SHA1 Message Date
ChillerDragon 0a88246a9a Finish 0.7 system messages 2024-06-23 12:19:27 +08:00
Chiller Dragon c1791fa3be
Add bsd 2 LICENSE 2024-06-23 07:50:17 +08:00
ChillerDragon 5e81eef4c7 Rebrand from teeworlds to go-teeworlds-protocol 2024-06-22 13:59:27 +08:00
ChillerDragon 1cb97f07b4 Detailed print of unknown messages 2024-06-22 13:35:13 +08:00
ChillerDragon 1cf0184d60 Add input timing and dont error on snap empty 2024-06-22 13:15:25 +08:00
ChillerDragon e1fc8a94f5 Add snap empty msg 2024-06-22 13:07:47 +08:00
ChillerDragon 9ea7a3735c These examples need a better place 2024-06-22 12:38:17 +08:00
ChillerDragon 72bf459d79 Refactor: separate packet parsing and connection state
Computing a response to a packet is now separate from unpacking a packet
2024-06-22 12:25:29 +08:00
ChillerDragon 915943ff16 Add Packet.Unpack() 2024-06-22 10:38:06 +08:00
ChillerDragon 94b6c7787c Keep unkown messages on repack 2024-06-21 13:14:01 +08:00
ChillerDragon 88a312abc4 Add ctrl close 2024-06-21 11:21:48 +08:00
ChillerDragon 4d05818f15 Compress packet payload if compression flag is set 2024-06-21 11:00:40 +08:00
ChillerDragon 4f37d5de48 Fix nil result and add ip port cli args 2024-06-21 10:40:49 +08:00
ChillerDragon ac347f1f39 Fix crash on server chat messages 2024-06-21 10:31:43 +08:00
ChillerDragon 759d37658b Fix logic error in sample 2024-06-21 10:07:58 +08:00
ChillerDragon db550ce86f Store chunk header when unpacking 2024-06-21 09:50:46 +08:00
ChillerDragon 7c4a3be31c Automatically compute chunk header size on pack 2024-06-21 09:38:59 +08:00
ChillerDragon 0f9cb77677 POC: inspect incoming traffic 2024-06-20 13:27:46 +08:00
ChillerDragon 81f6b89f70 Horrible refactor to allow unpacking net messages 2024-06-20 13:07:10 +08:00
ChillerDragon a78bf12bf0 Make OnPacket return a result struct 2024-06-20 12:29:26 +08:00
ChillerDragon 5627630145 Split CI jobs 2024-06-20 12:12:15 +08:00
ChillerDragon a112473d0f POC: the user has full control over outgoing traffic 2024-06-20 12:10:22 +08:00
ChillerDragon 79d6308a4a Remove network dependency from protocol parser
Following the sans io principle
https://sans-io.readthedocs.io/
2024-06-20 11:19:54 +08:00
ChillerDragon ec59c03379 lil refactor 2024-06-20 11:15:36 +08:00
ChillerDragon 7cf7cfdb8c Suffix everything 0.7 specific with 7 2024-06-20 08:26:04 +08:00
ChillerDragon 5fd1c39039 Add 7 suffix to messages 2024-06-19 13:00:05 +08:00
ChillerDragon 8f4004a2ce Move constants to network7 package 2024-06-19 12:57:32 +08:00
ChillerDragon 9471a65ca3 Refactor all state into the Session struct 2024-06-19 12:36:14 +08:00
ChillerDragon c568a471d3 Add struct for startinfo 2024-06-19 12:13:57 +08:00
ChillerDragon 2ca8a03034 Cleanup the code a bit 2024-06-19 09:02:16 +08:00
ChillerDragon 729fe88324 Show player names in chat 2024-06-18 13:08:56 +08:00
ChillerDragon ef2c7e8a34 Reading the chat kinda works 2024-06-18 12:09:01 +08:00
ChillerDragon cf6efb1e3f Ack and keep alive to not time out 2024-06-17 13:49:56 +08:00
ChillerDragon 199e8a39de Doc build and run and new tests 2024-06-17 13:13:22 +08:00
ChillerDragon dcf26f818f Add stateful unpacker 2024-06-17 13:11:59 +08:00
ChillerDragon 309062c7d3 go fmt 2024-06-17 12:24:08 +08:00
ChillerDragon 4605d3907c Add int packer and unpacker 2024-06-17 12:23:54 +08:00
ChillerDragon 47163dce87 Use proper chunk parsing instead of magic values 2024-06-17 11:37:44 +08:00
ChillerDragon a58425ea56 Add more chunk header tests 2024-06-16 09:21:49 +08:00
ChillerDragon 2dd887de7d Add chunk header parsing 2024-06-07 15:38:51 +08:00
ChillerDragon 4d307dc990 Make packet a module and import huffman 2024-06-06 12:51:18 +08:00
ChillerDragon 17047eac70 Start with packet header parsing 2024-06-02 10:58:09 +08:00
ChillerDragon ad60b3f368 Add sample test 2024-06-02 09:41:15 +08:00
ChillerDragon 394069eaa3 rebrand 2024-06-02 09:27:41 +08:00
ChillerDragon 2cbc6f17e9 Spawning a tee works 2024-06-01 19:00:47 +08:00
ChillerDragon 4538112164 Turns out go is not C or ruby
So slices don't just work as easy as in ruby
But i have no idea what is happening in detail either.

Seems like they are structs and somehow a mess.

Using fixed arrays instead and a bunch of compiler driven try and error
I fixed the bug of the server token getting corrupted.
2024-06-01 18:30:01 +08:00
ChillerDragon 8f98290582 Hacky support for reason string termination 2024-06-01 11:54:12 +08:00
ChillerDragon e5fc32b6ba Reach map change 2024-06-01 11:45:32 +08:00
ChillerDragon f357ff2f7f Read and write udp 2024-06-01 11:01:48 +08:00
ChillerDragon 3429fd1909 Get server token 2024-06-01 10:34:53 +08:00