Commit Graph

  • e48a5a0435 Handle notifypermissionlist, Init127 Manevolent 2018-09-17 15:24:30 -04:00
  • 8d74195d42 Support clientinitivexpand and not just expand2 for all TS3 server support (incl. TeaSpeak) Manevolent 2018-09-17 13:24:09 -04:00
  • d271b7a358 Set transformation before connecting Manevolent 2018-09-11 08:35:17 -04:00
  • 956344f1c9 Better logging for decryption errors Manevolent 2018-09-11 08:21:16 -04:00
  • 8e87f8c2c1 Merge remote-tracking branch 'origin/master' Manevolent 2018-09-06 11:53:55 -04:00
  • 285d6ab9a4 Add setEventMultiThreading(boolean) instead of forcing multi-threading on Manevolent 2018-09-06 11:53:44 -04:00
  • 15f7485fa9 Moving command execution to a single thread executor. I leave it up to end-users now if they want event processing to be multi-threaded. Manevolent 2018-09-06 11:49:51 -04:00
  • bcd12026ee Update LICENSE mane 2018-09-05 15:08:47 -04:00
  • 1dbca2543b Remove -> Deleted Manevolent 2018-08-31 21:55:55 -04:00
  • 882812ff40 Merge remote-tracking branch 'origin/master' Manevolent 2018-08-31 21:54:19 -04:00
  • f248faad72 Add support for more missing events Manevolent 2018-08-31 21:54:15 -04:00
  • 16d6784662 Update README.md mane 2018-08-31 20:54:44 -04:00
  • b7282cc337 Reconnection issues Manevolent 2018-08-29 11:44:14 -04:00
  • 2207e65392 Silly imports. Manevolent 2018-08-23 11:41:39 -04:00
  • 4c235badd5 Server group add/del Manevolent 2018-08-23 11:34:27 -04:00
  • 61f35951e2 Weak TSDNS support (_udp SRV record type) Manevolent 2018-08-23 09:18:24 -04:00
  • 09c21b171e Pull up socket role Manevolent 2018-08-23 08:48:58 -04:00
  • 1ec7796a02 Update README.md mane 2018-08-20 10:45:55 -04:00
  • eab17b5168 Update README.md mane 2018-08-20 10:44:47 -04:00
  • becc64f297 Java 8 Manevolent 2018-08-19 10:44:30 -04:00
  • da3495c297 Whisper support Manevolent 2018-08-17 16:27:18 -04:00
  • 0cd72622a2 latestPacketId exposure for the same reason as the last commit Manevolent 2018-08-16 13:44:43 -04:00
  • 3898f2658c Expose the remote counter's features for discerning buffer beginning and end. I need this because my bot will be decoding audio for speech recognition. Manevolent 2018-08-16 10:12:05 -04:00
  • 83e59ab6e9 Exposed voice packets to the client Manevolent 2018-08-15 11:43:41 -04:00
  • 1038780e68 Update README.md mane 2018-08-15 10:40:58 -04:00
  • b6c0290388 Update README.md mane 2018-08-13 20:49:57 -04:00
  • ce4f30b5d7 Update README.md mane 2018-08-13 20:49:51 -04:00
  • 3d19d94f2d Update README.md mane 2018-08-13 20:49:40 -04:00
  • 99ed8dda77 Use packet ID instead of key. Manevolent 2018-08-13 20:30:50 -04:00
  • d0e2ad194f It's possible for a packet's responsible queue to be incorrectly tracked. Manevolent 2018-08-13 20:30:05 -04:00
  • e4e1b5b4fe Still getting random connection losses. I think it may have to do with the way I set up ACK, ACK_LOW, and PING commands. Manevolent 2018-08-13 18:18:49 -04:00
  • f041820020 Catch socket exception for code clarity even though I dont think it was causing any problems Manevolent 2018-08-13 09:58:55 -04:00
  • ca869089cf Reconnection works now Manevolent 2018-08-13 09:48:30 -04:00
  • 89c483d3b9 Fragments which wrap around 65536 and cause the packet ID to ascend more than once will crash the code Manevolent 2018-08-13 09:20:27 -04:00
  • aad790c146 Packet reassembly would fail if the server sent packets out of order. Now, it is resilient to this. Manevolent 2018-08-13 01:03:44 -04:00
  • 7d195439b8 Send a zero-length byte array when the audio thread is done sending audio, as Teamspeak does. this is to prevent interpolation Manevolent 2018-08-12 15:39:55 -04:00
  • fb7923b63b Change HighPrecisionRecurrentTask to 0.01 instead of 0.02 Manevolent 2018-08-12 15:13:21 -04:00
  • 9d37b982d5 Packet fragmentation had a bug Manevolent 2018-08-12 15:07:49 -04:00
  • 69024381de It would help if I pasted it after a packet has its ID assigned wouldn't it? Manevolent 2018-08-12 12:45:27 -04:00
  • 3f873f7ef5 Merge remote-tracking branch 'origin/master' Manevolent 2018-08-12 12:15:37 -04:00
  • 555f6a56d6 Mic packet ID was wrongly generated, changed some tests and increased verbosity of the reassembly exceptions Manevolent 2018-08-12 12:14:29 -04:00
  • cf7cc3c18a Update README.md mane 2018-08-11 18:57:53 -04:00
  • bc37491328 Created a new test for fragments. If a packet fragment is received which wraps around the generation, it is lost. Also, packet fragmentation outgoing would cause a desync in the packet IDs. Manevolent 2018-08-11 18:44:44 -04:00
  • 04299b5c77 More tests for packet generations. Compression test also exists now to test compression into the future. QuickLZ first checks the level on decompression, and also throws a diagnostic error with full Base64 byte array on issue. Disconnections will actually fully reset and free the client for valid re-use. There is now a Consumer for Throwables for the abstract client socket for error handling. Manevolent 2018-08-11 15:50:22 -04:00
  • 5a440c890f Round ping to nearest whole number Manevolent 2018-08-11 12:36:37 -04:00
  • 2666e940e8 Undo debugging stuff Manevolent 2018-08-10 23:38:07 -04:00
  • 7f6f6c79d2 Bitmasks were wrong Manevolent 2018-08-10 23:37:45 -04:00
  • 798f84689f get rid of JavaFX Manevolent 2018-08-10 22:46:03 -04:00
  • a6a263cae1 get rid of JavaFX Manevolent 2018-08-10 22:42:44 -04:00
  • de6b4b370b Trying maven compiler target Manevolent 2018-08-10 22:35:58 -04:00
  • 2d21b701c5 Jitpack failed... Manevolent 2018-08-10 22:28:39 -04:00
  • 7aa0f864a0 Handle throwable Manevolent 2018-08-10 22:20:27 -04:00
  • 83b2f5c46f Network reader should close if it has to exit Manevolent 2018-08-10 22:20:03 -04:00
  • 2f7b5a376b Facepalm, nanoTime Manevolent 2018-08-10 19:56:53 -04:00
  • d3a157672b More accurate ping and handling all packet types properly Manevolent 2018-08-10 19:27:46 -04:00
  • 844e3e6e75 More accurate ping and handling all packet types properly Manevolent 2018-08-10 19:01:06 -04:00
  • 4072b19f09 Fix total Manevolent 2018-08-10 16:30:58 -04:00
  • 99961d84aa notifyconnectioninforequest Manevolent 2018-08-10 16:28:55 -04:00
  • 3d09c5ef21 Disconnected and leave events were not on the proper handlers Manevolent 2018-08-05 19:47:35 -04:00
  • a316b76d70 Channel subscription, getting channel info, and multithreaded event handling Manevolent 2018-08-05 19:20:02 -04:00
  • fffd19cf9b Microphone changes Manevolent 2018-08-05 02:21:33 -04:00
  • 582daddf67 Microphone changes Manevolent 2018-08-05 01:57:12 -04:00
  • 68dcaa35c3 Microphone changes Manevolent 2018-08-05 01:24:10 -04:00
  • 836a952a6d Need actual byte length for characters Manevolent 2018-08-05 00:58:21 -04:00
  • e7beee972d Nickname changing Manevolent 2018-08-05 00:17:02 -04:00
  • 44edb80431 Nickname changing Manevolent 2018-08-05 00:02:16 -04:00
  • 0c2f4c0341 Must get client ID properly there Manevolent 2018-08-04 23:58:34 -04:00
  • 07ca284851 Client info call Manevolent 2018-08-04 23:10:14 -04:00
  • 95adfc6e3d Ignore compressed packets for voice, there is an issue Manevolent 2018-08-04 23:01:03 -04:00
  • 8f9cc3cdd8 Merge remote-tracking branch 'origin/master' Manevolent 2018-08-04 22:39:03 -04:00
  • a535724a4b Ignore compressed packets for voice, there is an issue Manevolent 2018-08-04 22:38:44 -04:00
  • 8770596dda Update README.md mane 2018-08-04 20:19:19 -04:00
  • 1c86abd638 Update README.md mane 2018-08-04 20:18:16 -04:00
  • 182d2360eb Update README.md mane 2018-08-04 20:15:13 -04:00
  • 07b9718805 Update README.md mane 2018-08-04 20:12:55 -04:00
  • e0a2537b25 Update README.md mane 2018-08-04 20:10:32 -04:00
  • ee9b8a0a4b Update README.md mane 2018-08-04 20:10:23 -04:00
  • 80a57784ef Any kind of proper acknowledgement constitutes an alive connection for 30 seconds. Manevolent 2018-08-04 20:08:41 -04:00
  • 7239f3f7ef Needed virtual server id Manevolent 2018-08-04 19:31:51 -04:00
  • 1ed4e0c4da Channel list event is back, adding chat to client commands. Manevolent 2018-08-04 19:22:08 -04:00
  • 1236221f6b Commands now spool sequentially. Command ACK queues no longer collide with pings or ack_low. Getter more stable. Manevolent 2018-08-02 19:52:44 -04:00
  • 964936abdf Working on commands, having trouble with acks right now Manevolent 2018-08-01 16:29:31 -04:00
  • 401f00c83d Added events that were needed Manevolent 2018-08-01 12:46:14 -04:00
  • 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. Manevolent 2018-08-01 12:27:09 -04:00
  • 1bdffc8634 Update test Manevolent 2018-07-31 16:30:22 -04:00
  • f794c23391 Merge remote-tracking branch 'origin/master' Manevolent 2018-07-31 16:19:17 -04:00
  • 7b457c97c2 Possibly at the point where we can send audio into a channel now. Manevolent 2018-07-31 16:19:05 -04:00
  • 42b6e04579 Update README.md mane 2018-07-31 15:46:28 -04:00
  • c73abbf789 Update README.md mane 2018-07-31 15:43:06 -04:00
  • 6d9e6cb26d Update README.md mane 2018-07-31 15:40:25 -04:00
  • 44a18ad7a0 Beginning to work on audio stuff now. Lots of changes. Manevolent 2018-07-31 15:39:03 -04:00
  • e93b0dee6f Moving more towards a serverquery look. Manevolent 2018-07-30 16:32:49 -04:00
  • 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. Manevolent 2018-07-28 22:34:18 -04:00
  • f124583fa6 Merge remote-tracking branch 'origin/master' Manevolent 2018-07-28 13:32:29 -04:00
  • 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. Manevolent 2018-07-28 13:32:01 -04:00
  • c54bd07dd4 Update README.md mane 2018-07-28 12:14:19 -04:00
  • 784c6fa415 Update README.md mane 2018-07-28 12:12:33 -04:00
  • ab4cb12010 Command processing started Manevolent 2018-07-27 16:30:49 -04:00
  • e4bb886d64 Set state to connected. We may want an interim state for this step of the protocol. Manevolent 2018-07-27 16:12:06 -04:00
  • 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. Manevolent 2018-07-27 16:07:29 -04:00