Manevolent
a883c8beef
notifyclientchatclosed event handled
2019-02-05 08:51:46 -05:00
Manevolent
0fed4c68ce
Clamp high precision timer to specific tick drift
2019-01-22 11:50:03 -05:00
Manevolent
3e8991929e
Audio sender and music player changes
2019-01-21 14:17:54 -05:00
Manevolent
8cd5fd100c
We don't have an "onConnected" event, adding that now.
2019-01-20 19:34:26 -05:00
Manevolent
941308d67b
Example of music streaming from disk
2018-12-24 20:32:26 -05:00
Manevolent
7b25be6420
Improper order of operations for ident export
2018-12-22 11:59:36 -05:00
Manevolent
d9c2805528
com.sun package breaking Jitpack.io
2018-12-21 16:15:53 -05:00
Manevolent
9d602a8f98
Added audio sender test and disconnect reasons
2018-12-21 11:02:08 -05:00
Manevolent
24da34d23d
Merge remote-tracking branch 'origin/master'
2018-12-21 09:57:56 -05:00
Manevolent
72c585a089
Ts3 INI saving, API is in. Loads into the official client, too. Check out LocalIdentity.save() methods
2018-12-21 09:57:49 -05:00
Manevolent
91187964c5
Ts3 INI identity loading
2018-11-05 14:48:31 -05:00
Manevolent
3987f3c097
Allow getChannelInfo when in RETRIEVING_DATA state
2018-10-23 09:52:46 -04:00
Manevolent
f06634879b
Merge remote-tracking branch 'origin/master'
...
# Conflicts:
# src/main/java/com/github/manevolent/ts3j/protocol/socket/client/LocalTeamspeakClientSocket.java
2018-10-22 13:42:29 -04:00
Manevolent
efd4b4b771
Reorganizing the removal of awaiting commands and so forth in hopes that lock-ups don't happen on reconnect.
2018-10-22 13:40:43 -04:00
Manevolent
99398369f1
Move stuff around
2018-10-13 16:32:23 -04:00
Manevolent
7889dc0caf
Send serverflag0 with new packets as a test of sorts
2018-10-13 16:31:34 -04:00
Manevolent
61ce9df1f8
Compilation issues with jitpack
2018-10-13 16:14:07 -04:00
Manevolent
2202b3ab9a
Now that we have discerned the issue with receiving audio packets, I feel better reverting back to only providing the packet body, and not the header also, in the user callbacks.
2018-10-13 16:08:55 -04:00
Manevolent
d97b95f021
When the COMPRESSED flag is set by the official Teamspeak Gbmh client on a VOICE or VOICE_WHISPER packet, which is done for the first 5 packets of any decoder session, the packet is always 1 byte longer. More importantly, the final byte is static for those 5 packets.
...
You have to trim that last byte off, otherwise your audio will be corrupted. TS3J now does this automatically and stores it in ServerFlag0 for you, as a nullable Byte object. This way you can handle it if you need to. This has also been factored into the output/write stage.
Digging into theory, I believe this ID has something to do with the opening of a new decoder to ensure that the decoder opens cleanly each time. You do NOT have to do anything to your decoder to reset states, etc., from what I can tell. In other words, COMPRESSED being on shouldn't change the behavior of your decoding.
2018-10-13 16:03:51 -04:00
Manevolent
d9ce7f21a3
JitPack is broken. Trying one more time to get this to go through.
2018-10-13 02:17:13 -04:00
Manevolent
2f7bf10322
Merge remote-tracking branch 'origin/master'
2018-10-13 01:35:14 -04:00
Manevolent
ce77f91c6f
I'm changing whisper and voice handlers. I think that the COMPRESSED flag is important, it may signal you to reset your decoder for each incoming packet. Not sure.
2018-10-13 01:35:09 -04:00
Manevolent
a85904555e
Synchronize the remote counter, and correct an issue with rest() concerning generation IDs
2018-10-02 08:58:29 -04:00
Manevolent
6bf85e3c6c
Re-order handleError (handleComplete)
2018-09-20 02:13:05 -04:00
Manevolent
5ee74e6c45
Make step 127 public
2018-09-18 15:13:58 -04:00
Manevolent
e4a1e69410
Packet flags for server, setters would apply to wrong object
2018-09-18 00:15:14 -04:00
Manevolent
8ba218f094
Timestamp was not sent right
2018-09-17 23:54:54 -04:00
Manevolent
66bc483490
Init1 changes to make it neater
2018-09-17 23:41:28 -04:00
Manevolent
127ae9bc8f
Don't mind me...
2018-09-17 23:01:25 -04:00
Manevolent
ec34b59ad3
DatagramPackets are synchronized. This could have caused problems, or would, cause problems.
2018-09-17 22:55:34 -04:00
Manevolent
e683ad1bbb
Added helper methods to connect()
...
Refactored packet handlers
2018-09-17 21:43:36 -04:00
Manevolent
4c539e44c7
Proper extension
2018-09-17 19:51:33 -04:00
Manevolent
e48a5a0435
Handle notifypermissionlist, Init127
2018-09-17 15:24:30 -04:00
Manevolent
8d74195d42
Support clientinitivexpand and not just expand2 for all TS3 server support (incl. TeaSpeak)
2018-09-17 13:24:09 -04:00
Manevolent
d271b7a358
Set transformation before connecting
2018-09-11 08:35:17 -04:00
Manevolent
956344f1c9
Better logging for decryption errors
2018-09-11 08:21:16 -04:00
Manevolent
8e87f8c2c1
Merge remote-tracking branch 'origin/master'
2018-09-06 11:53:55 -04:00
Manevolent
285d6ab9a4
Add setEventMultiThreading(boolean) instead of forcing multi-threading on
2018-09-06 11:53:44 -04:00
Manevolent
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.
2018-09-06 11:49:51 -04:00
Manevolent
1dbca2543b
Remove -> Deleted
2018-08-31 21:55:55 -04:00
Manevolent
882812ff40
Merge remote-tracking branch 'origin/master'
2018-08-31 21:54:19 -04:00
Manevolent
f248faad72
Add support for more missing events
2018-08-31 21:54:15 -04:00
Manevolent
b7282cc337
Reconnection issues
2018-08-29 11:44:14 -04:00
Manevolent
2207e65392
Silly imports.
2018-08-23 11:41:39 -04:00
Manevolent
4c235badd5
Server group add/del
2018-08-23 11:34:27 -04:00
Manevolent
61f35951e2
Weak TSDNS support (_udp SRV record type)
2018-08-23 09:18:24 -04:00
Manevolent
09c21b171e
Pull up socket role
2018-08-23 08:48:58 -04:00
Manevolent
becc64f297
Java 8
2018-08-19 10:44:30 -04:00
Manevolent
da3495c297
Whisper support
2018-08-17 16:27:18 -04:00
Manevolent
0cd72622a2
latestPacketId exposure for the same reason as the last commit
2018-08-16 13:44:43 -04:00
Manevolent
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.
2018-08-16 10:12:05 -04:00
Manevolent
83e59ab6e9
Exposed voice packets to the client
2018-08-15 11:43:41 -04:00
Manevolent
99ed8dda77
Use packet ID instead of key.
2018-08-13 20:30:50 -04:00
Manevolent
d0e2ad194f
It's possible for a packet's responsible queue to be incorrectly tracked.
2018-08-13 20:30:05 -04:00
Manevolent
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.
2018-08-13 18:18:49 -04:00
Manevolent
f041820020
Catch socket exception for code clarity even though I dont think it was causing any problems
2018-08-13 09:58:55 -04:00
Manevolent
ca869089cf
Reconnection works now
2018-08-13 09:48:30 -04:00
Manevolent
89c483d3b9
Fragments which wrap around 65536 and cause the packet ID to ascend more than once will crash the code
2018-08-13 09:20:27 -04:00
Manevolent
aad790c146
Packet reassembly would fail if the server sent packets out of order. Now, it is resilient to this.
2018-08-13 01:03:44 -04:00
Manevolent
7d195439b8
Send a zero-length byte array when the audio thread is done sending audio, as Teamspeak does. this is to prevent interpolation
2018-08-12 15:39:55 -04:00
Manevolent
fb7923b63b
Change HighPrecisionRecurrentTask to 0.01 instead of 0.02
2018-08-12 15:13:21 -04:00
Manevolent
9d37b982d5
Packet fragmentation had a bug
2018-08-12 15:07:49 -04:00
Manevolent
69024381de
It would help if I pasted it after a packet has its ID assigned wouldn't it?
2018-08-12 12:45:27 -04:00
Manevolent
3f873f7ef5
Merge remote-tracking branch 'origin/master'
2018-08-12 12:15:37 -04:00
Manevolent
555f6a56d6
Mic packet ID was wrongly generated, changed some tests and increased verbosity of the reassembly exceptions
2018-08-12 12:14:29 -04:00
Manevolent
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.
2018-08-11 18:44:44 -04:00
Manevolent
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.
2018-08-11 15:50:22 -04:00
Manevolent
5a440c890f
Round ping to nearest whole number
2018-08-11 12:36:37 -04:00
Manevolent
2666e940e8
Undo debugging stuff
2018-08-10 23:38:07 -04:00
Manevolent
7f6f6c79d2
Bitmasks were wrong
2018-08-10 23:37:45 -04:00
Manevolent
798f84689f
get rid of JavaFX
2018-08-10 22:46:03 -04:00
Manevolent
a6a263cae1
get rid of JavaFX
2018-08-10 22:42:44 -04:00
Manevolent
de6b4b370b
Trying maven compiler target
2018-08-10 22:35:58 -04:00
Manevolent
2d21b701c5
Jitpack failed...
2018-08-10 22:28:39 -04:00
Manevolent
7aa0f864a0
Handle throwable
2018-08-10 22:20:27 -04:00
Manevolent
83b2f5c46f
Network reader should close if it has to exit
2018-08-10 22:20:03 -04:00
Manevolent
2f7b5a376b
Facepalm, nanoTime
2018-08-10 19:56:53 -04:00
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