Manevolent
d3a157672b
More accurate ping and handling all packet types properly
2018-08-10 19:27:46 -04:00
Manevolent
844e3e6e75
More accurate ping and handling all packet types properly
2018-08-10 19:01:06 -04:00
Manevolent
4072b19f09
Fix total
2018-08-10 16:30:58 -04:00
Manevolent
99961d84aa
notifyconnectioninforequest
2018-08-10 16:28:55 -04:00
Manevolent
3d09c5ef21
Disconnected and leave events were not on the proper handlers
2018-08-05 19:47:35 -04:00
Manevolent
a316b76d70
Channel subscription, getting channel info, and multithreaded event handling
2018-08-05 19:20:02 -04:00
Manevolent
fffd19cf9b
Microphone changes
2018-08-05 02:21:33 -04:00
Manevolent
582daddf67
Microphone changes
2018-08-05 01:57:12 -04:00
Manevolent
68dcaa35c3
Microphone changes
2018-08-05 01:24:10 -04:00
Manevolent
836a952a6d
Need actual byte length for characters
2018-08-05 00:58:21 -04:00
Manevolent
e7beee972d
Nickname changing
2018-08-05 00:17:02 -04:00
Manevolent
44edb80431
Nickname changing
2018-08-05 00:02:16 -04:00
Manevolent
0c2f4c0341
Must get client ID properly there
2018-08-04 23:58:34 -04:00
Manevolent
07ca284851
Client info call
2018-08-04 23:10:14 -04:00
Manevolent
95adfc6e3d
Ignore compressed packets for voice, there is an issue
2018-08-04 23:01:03 -04:00
Manevolent
8f9cc3cdd8
Merge remote-tracking branch 'origin/master'
2018-08-04 22:39:03 -04:00
Manevolent
a535724a4b
Ignore compressed packets for voice, there is an issue
2018-08-04 22:38:44 -04:00
Manevolent
80a57784ef
Any kind of proper acknowledgement constitutes an alive connection for 30 seconds.
2018-08-04 20:08:41 -04:00
Manevolent
7239f3f7ef
Needed virtual server id
2018-08-04 19:31:51 -04:00
Manevolent
1ed4e0c4da
Channel list event is back, adding chat to client commands.
2018-08-04 19:22:08 -04:00
Manevolent
1236221f6b
Commands now spool sequentially. Command ACK queues no longer collide with pings or ack_low. Getter more stable.
2018-08-02 19:52:44 -04:00
Manevolent
964936abdf
Working on commands, having trouble with acks right now
2018-08-01 16:29:31 -04:00
Manevolent
401f00c83d
Added events that were needed
2018-08-01 12:46:14 -04:00
Manevolent
f50ada0888
Working quickly to finish packet generation following. I've implemented my own counter now, using the same window system as the previous Java rewrite, using just an integer array and one array copy call. Hopefully this is good for performance.
...
Also, there was a breaking issue with the computeParameters() call that the test did not account for. Once you reached packet ID 128, the encryption keys were all off. This was due to the packet ID byte shifting: it worked for the first 127 bytes. We can thank Java's lack of unsigned primitives, and a little bit of my own ignorance for that issue.
At this point, I believe all we need now are the clientQuery commands. Several events must be added, and the responding commands must be typed out as well. More to come. Home stretch.
2018-08-01 12:27:09 -04:00
Manevolent
1bdffc8634
Update test
2018-07-31 16:30:22 -04:00
Manevolent
f794c23391
Merge remote-tracking branch 'origin/master'
2018-07-31 16:19:17 -04:00
Manevolent
7b457c97c2
Possibly at the point where we can send audio into a channel now.
2018-07-31 16:19:05 -04:00
Manevolent
44a18ad7a0
Beginning to work on audio stuff now. Lots of changes.
2018-07-31 15:39:03 -04:00
Manevolent
e93b0dee6f
Moving more towards a serverquery look.
2018-07-30 16:32:50 -04:00
Manevolent
f533e2e918
Moving further along with the connection-level commands that are received, and now have model objects to store variables. No callbacks to the server yet, but that will happen soon. Right now I have channel listings and basic client information done.
2018-07-28 22:34:18 -04:00
Manevolent
f124583fa6
Merge remote-tracking branch 'origin/master'
2018-07-28 13:32:29 -04:00
Manevolent
c121202735
We can now connect to servers, get the welcome message, handle pings, properly decompress fragments, etc. I have also added CommandLow/AckLow support. We need to implement data objects now to recognize command objects, and then implement the voice protocol.
2018-07-28 13:32:01 -04:00
Manevolent
ab4cb12010
Command processing started
2018-07-27 16:30:49 -04:00
Manevolent
e4bb886d64
Set state to connected. We may want an interim state for this step of the protocol.
2018-07-27 16:12:06 -04:00
Manevolent
6007b24b5f
Client authentication is done. It will now put an API client in a server, however we clearly need to work on decompression, and we also need to accept and handle ping packets appropriately.
...
Then we can start working on the text-based protocol Teamspeak uses.
2018-07-27 16:07:29 -04:00
Manevolent
146f2b6564
Clientinit is finally being accepted
...
[DEBUG] error id=525 msg=client\sis\smodified
2018-07-27 13:27:40 -04:00
Manevolent
7c1d0dfa4e
Add QuickLZ for compression/decompression, this should finish up the protocol I/O unless I have made mistakes
2018-07-27 09:54:52 -04:00
Manevolent
2c9a6505c0
More tests; I identified two issues. First, the temp key generation was wrong and the clientek would have been wrong. Second, the clientek packet ID is incorrect. It needs to start at 1.
2018-07-27 09:54:01 -04:00
Manevolent
5cdedba51c
Still not getting the last packet to work.
2018-07-26 22:07:05 -04:00
Manevolent
a0009693e2
License hash is failing. Need to fix that
2018-07-26 00:02:36 -04:00
Manevolent
1043a4112c
Getting there.
2018-07-25 23:04:45 -04:00
Manevolent
e941a89c55
Huge refactor
2018-07-25 21:54:28 -04:00
Manevolent
567ee472d6
Trying more things. I think clientek is being rejected.
2018-07-25 12:20:24 -04:00
Manevolent
2dd96d39f3
Mostly done in theory now. Not responding to last packet however.
2018-07-25 11:38:22 -04:00
Manevolent
4c7d011b01
Getting rid of unused imports
2018-07-24 16:27:46 -04:00
Manevolent
4a5bdcd03f
We're now up to the point where we need to work with EdDSA. More to come
2018-07-24 16:23:10 -04:00
Manevolent
24e6e366e5
Got past encryption. Further refactoring as the scope of the project comes into view. Packet fragment reassembly in progress, can ACK commands right now and reassemble clientinitiv2
2018-07-24 12:02:51 -04:00
Manevolent
66cd3d6116
Working on encryption
2018-07-23 22:44:38 -04:00
Manevolent
932fd69769
SimpleCommand object
2018-07-23 16:31:06 -04:00
Manevolent
8067888400
Readme
2018-07-23 16:03:33 -04:00
Manevolent
307cc7be61
Adding missing files
2018-07-23 15:47:21 -04:00
Manevolent
11f5acd60f
I've refactored most of the code. Init1 handshake is basically done, all we have to do now is send the clientinitiv command and we'll be in the higher level authentication steps.
...
I've made the code more server-ready as well since I plan to implement a server API at some point.
2018-07-23 15:45:42 -04:00
Manevolent
c2dc7087ec
Brought in my code and set up some unit tests to start out
2018-07-23 09:53:43 -04:00
Manevolent
c96a2ef0a0
Merge branch 'master' of https://github.com/Manevolent/ts3j
2018-07-23 09:40:54 -04:00
Manevolent
3cff219b7b
Initial commit
2018-07-23 09:38:28 -04:00