ChillerDragon
ad7ef13926
More snap item support
2022-11-19 11:28:45 +01:00
ChillerDragon
dd714e51aa
Add first snap event sound world
2022-11-19 10:39:29 +01:00
ChillerDragon
e203f09fe4
Add projectile snap item
2022-11-19 10:25:31 +01:00
ChillerDragon
738e9effda
Cleaner snap item annotations
2022-11-19 10:17:37 +01:00
ChillerDragon
0bcd7bb960
Add player info snap obj
2022-11-19 10:16:00 +01:00
ChillerDragon
d4ccfc24e1
Inherit from snap item base class
2022-11-19 10:09:45 +01:00
ChillerDragon
3c42b64a7b
Move all snap stuff to snapshot folder
2022-11-19 09:59:00 +01:00
ChillerDragon
6fdaf3be90
I think this snap item format is okayish
2022-11-18 10:59:59 +01:00
ChillerDragon
2da6b01738
Start snap item refactor (break everything)
2022-11-18 10:34:47 +01:00
ChillerDragon
396b539cca
Overengineer snap items (but not in a good way)
2022-11-18 09:57:43 +01:00
ChillerDragon
cb48c1028d
First draft of snap obj class
2022-11-18 09:25:08 +01:00
ChillerDragon
34ebe75d54
Move snapshot to new file (still not cleaned up)
2022-11-17 16:11:34 +01:00
ChillerDragon
948aafb749
First workin snap item parser
...
Thanks a lot to @Learath2 for explaining in irc
And for the awesome libtw2 docs by @heinrich5991
48a2573af6/doc/snapshot.md
2022-11-17 15:43:27 +01:00
ChillerDragon
f98ad6ae30
Try hard to parse the first snap item
2022-11-17 14:57:39 +01:00
ChillerDragon
45189d0217
part size = chunk num
2022-11-17 11:19:31 +01:00
ChillerDragon
ac23f5911f
There is more header in the payload, not that it helps
2022-11-17 11:14:47 +01:00
ChillerDragon
5971704b44
Its not like more annotations could save me now
2022-11-17 10:39:54 +01:00
ChillerDragon
e477b19e9c
I am about to mental breakdown
2022-11-17 10:28:04 +01:00
ChillerDragon
9b24347533
Got correct game start tick
2022-11-17 09:56:10 +01:00
ChillerDragon
2da59a6406
Still wrong but different
2022-11-17 08:39:18 +01:00
ChillerDragon
544396ca40
Some random snap item prints
2022-11-16 18:15:57 +01:00
ChillerDragon
b118d37ebe
Forgot chunk num in snap header
2022-11-16 17:33:35 +01:00
ChillerDragon
d4fbc12b49
Who does not understand snap header with this output
...
can not be saved
2022-11-16 15:55:25 +01:00
ChillerDragon
c119d393fc
Go crazy with colored hexdump
2022-11-16 15:45:04 +01:00
ChillerDragon
2d4dc6dc65
Print fixed snap fields
2022-11-16 14:27:14 +01:00
ChillerDragon
3c53e66fdf
One int per line in snap dump
2022-11-16 14:15:34 +01:00
ChillerDragon
804b3c87a2
Fix hexdump color crash
2022-11-16 14:13:29 +01:00
ChillerDragon
7697e5f451
color annotate hexdumps
...
Thanks to the legend @Learath2
2022-11-16 12:40:52 +01:00
ChillerDragon
59c2886046
hexdump snaps
2022-11-16 11:30:13 +01:00
ChillerDragon
616e14be1f
Verbose snap data printing on client side
2022-11-16 10:57:49 +01:00
ChillerDragon
653ee661e9
Fix english cancle -> cancel ty swarfey and rcon
2022-11-16 10:50:54 +01:00
ChillerDragon
4a12262ad3
Move all network payload classes to messages/
2022-11-16 09:37:47 +01:00
ChillerDragon
0f4646e011
Add sanitize cc
2022-11-15 18:26:49 +01:00
ChillerDragon
db56a97e8c
String unpacker should sanitize by default
2022-11-15 18:15:27 +01:00
ChillerDragon
07eb3841d2
Print emotes on the server side
...
thanks to @AlexIsTheGuy for brainstorming emote names
2022-11-15 17:48:56 +01:00
ChillerDragon
6283648964
Use SvClientDrop on the client side
2022-11-15 12:55:43 +01:00
ChillerDragon
c11a7ae2d2
Generate SvClientDrop
...
twnet g sv SvClientDrop client_id:int reason:str silent:bool
2022-11-15 12:43:23 +01:00
ChillerDragon
3ab4fc61d1
Regenerate input timing with correct order
...
also remove the boolean placeholder if there is no bool field
2022-11-15 11:44:20 +01:00
ChillerDragon
3a219f406b
Change context api! And add input timing msg
...
Remove the client attribute from the Context class
The block that exposes a Context class has to be called on a client
anyways so also passing it to the block args is redundant.
Replace it by a parsed version of the chunk which has yet to be properly
named current working title is: todo_rename_this
2022-11-15 10:39:44 +01:00
ChillerDragon
fa08043968
First generated code pog
...
I ran this
twnet g sp InputTiming intended_tick:int time_left:int
2022-11-15 10:10:45 +01:00
ChillerDragon
86a306664c
Continue with packet generate script
2022-11-14 18:52:25 +01:00
ChillerDragon
fe3e581f86
Make client callbacks arrays
...
Allows to setup multiple on_* hook blocks as a lib user
closed #10
2022-11-14 10:25:28 +01:00
ChillerDragon
2bec19ff21
rage quit on snap single
2022-11-13 17:24:13 +01:00
ChillerDragon
26fa55c428
Do not crash server on emotes
2022-11-13 15:54:27 +01:00
ChillerDragon
41b5277613
Fix multiple clients being connected at the same time
2022-11-13 15:47:37 +01:00
ChillerDragon
1949e1eb2e
Add check script for hook documentation
...
related to #11
2022-11-13 12:28:38 +01:00
ChillerDragon
36a5100230
Add unit tests for bytes.rb
2022-11-13 11:42:46 +01:00
ChillerDragon
acba9e7a5d
Display chat messages in server log
2022-11-13 11:15:33 +01:00
ChillerDragon
fc48a53bbd
Make server log look nice in non verbose mode
2022-11-13 10:42:49 +01:00
ChillerDragon
3358cc6608
Parse start info on server side
2022-11-13 10:37:46 +01:00
ChillerDragon
d9b0096ae8
Send server settings
2022-11-13 09:40:05 +01:00
ChillerDragon
263e579661
Create models folder for all the storage classe
2022-11-13 08:58:33 +01:00
ChillerDragon
846b487eb2
Only send snaps to in game clients
2022-11-13 08:40:17 +01:00
ChillerDragon
09bd7bfebb
Count ack per client and thus fix reconnect
...
Sadly reconnecting somehow crashes the client :(
https://github.com/teeworlds/teeworlds/issues/3182
2022-11-13 08:29:21 +01:00
ChillerDragon
409f880f36
Do not crash on ctrl close of invalid connection
2022-11-13 07:51:50 +01:00
ChillerDragon
44e20583e6
Refactor integration test names
2022-11-12 17:49:50 +01:00
ChillerDragon
7422ee9d94
Proper client drop support on the server side
2022-11-12 16:24:28 +01:00
ChillerDragon
c770695f22
Timeout clients that did not sent for 10s
2022-11-12 15:58:08 +01:00
ChillerDragon
821036fba4
Fix client tokens
2022-11-12 15:55:24 +01:00
ChillerDragon
6d7bd0371d
Print rcon commands sent by the client
2022-11-12 15:46:38 +01:00
ChillerDragon
11898d0f41
Ensure tokens being in correct format
2022-11-12 12:51:09 +01:00
ChillerDragon
e3292deb15
Thoughts about ctrl close
2022-11-12 12:08:25 +01:00
ChillerDragon
e914ec3fa2
Send broken close message to clients after 1 second
...
Aka starting to work on timeouting clients
2022-11-12 12:01:38 +01:00
ChillerDragon
15139ceb68
Ignore input packets from clients
2022-11-12 11:38:46 +01:00
ChillerDragon
e9dc1ae75f
Support non vital chunks
2022-11-12 11:35:12 +01:00
ChillerDragon
050e4b9e00
Weird idea about seq
2022-11-12 11:22:54 +01:00
ChillerDragon
c782eb82e6
Start to work on seq per client
2022-11-12 11:18:12 +01:00
ChillerDragon
ff21d6ca84
Check args for chunk header
...
related to #7
2022-11-12 10:39:11 +01:00
ChillerDragon
83c38c4639
Change chunk header api
2022-11-12 10:17:54 +01:00
ChillerDragon
4813652b82
Send empty snaps to get client in happy state
2022-11-12 09:42:50 +01:00
ChillerDragon
7f7963189c
Got client stuck in connecting till timeout
2022-11-11 17:52:57 +01:00
ChillerDragon
1876038d82
Reached "invalid standard map" with a few hax
2022-11-11 17:32:03 +01:00
ChillerDragon
cf57146260
Mess with tokens
2022-11-11 14:48:26 +01:00
ChillerDragon
45d1361408
Server send game and server info
2022-11-11 13:42:11 +01:00
ChillerDragon
1baf3fcad0
Start working on server side map packet
2022-11-11 10:21:48 +01:00
ChillerDragon
0a04af1cb6
Parse client info on the server side
2022-11-09 16:46:04 +01:00
ChillerDragon
ddc6a1ad17
Fix server 100% CPU usage in idle
2022-11-09 13:55:09 +01:00
ChillerDragon
d013656ffb
Remove packer debug msg
2022-11-09 13:50:15 +01:00
ChillerDragon
6c005497d4
Layout server control msg structure
...
Thus closed #5
By deciding to support server as well.
This is rebranding from teeworlds-client to teeworlds_network
And thus also including a bunch of file renames
2022-11-09 08:56:18 +01:00
ChillerDragon
3a39d3f9f8
Start working on the server side
2022-11-08 16:20:46 +01:00
ChillerDragon
fff2e9efb0
First draft of sending inputs
...
Thanks a lot to @Swarfey for his tw-chatonly typescript package
https://www.npmjs.com/package/teeworlds
His simple calculation of the pred time was saving me a lot of time!
2022-11-06 20:15:47 +01:00
ChillerDragon
ffbc433b67
Add rcon support
2022-11-06 18:26:14 +01:00
ChillerDragon
2db8b7058d
All packer tests passing and verified
2022-11-06 16:43:32 +01:00
ChillerDragon
cca183818e
Fix tests and packer (multi negative still broken)
2022-11-06 16:26:00 +01:00
ChillerDragon
01d8f8d8e6
Single byte negative int unpacks wrong
2022-11-06 13:57:53 +01:00
ChillerDragon
0479e7f07e
Add packer tests
2022-11-06 13:35:10 +01:00
ChillerDragon
11a7e9629d
Unpacker should be fully working now
...
Covered by good test coverage.
Parts of the tests are commented out because they depend on the
currently borken packer to work.
2022-11-06 13:18:26 +01:00
ChillerDragon
cafbd79fe9
Mess w packer (no actual progress)
2022-11-06 12:11:54 +01:00
ChillerDragon
a3f28aaf37
Make flag bits string mutable (unfreeze)
2022-11-05 18:01:04 +01:00
ChillerDragon
39389ae379
Add rubocop to CI ( closed #2 )
2022-11-05 17:57:12 +01:00
ChillerDragon
742b665f26
rubocop -A
2022-11-05 17:48:47 +01:00
ChillerDragon
28477ab90d
Manually fix netbase
2022-11-05 17:47:47 +01:00
ChillerDragon
70a03dc88f
rubocop -A lib/packet.rb
2022-11-05 17:27:13 +01:00
ChillerDragon
e7f1d82e2d
rubocop -A lib/packer.rb
2022-11-05 17:26:08 +01:00
ChillerDragon
940cc4269f
Fix ugly rubocop if and silent disconnect
2022-11-05 17:23:35 +01:00
ChillerDragon
ddef46991b
rubocop -a
2022-11-05 17:19:05 +01:00
ChillerDragon
0be954538c
Add tests ( closed #3 )
2022-11-05 17:13:23 +01:00
ChillerDragon
db106ba70e
Add on_client_drop()
2022-11-05 11:59:36 +01:00
ChillerDragon
8fe595b0a6
Client info is actually used to display join msgs
...
Looked at the c++ client code and it actually does that.
The entergame message is only used in demos. Yeet on those.
2022-11-05 11:34:34 +01:00
ChillerDragon
771bdfe859
Holy sh*t this lib is actually usable
2022-11-05 11:07:16 +01:00