Commit Graph
52 Commits
Author SHA1 Message Date
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