December Update

It's been a while since we've made an update, so I'll post one right now.

First, I'd just like to say that the server has the capability  to connect players to the server (without the world, unfortunately). Before you get excited, the player does spawn, however, they fall into the void without taking damage, until being disconnected by a peculiar JSON error we are still investigating (issue TRD-9). On the other hand, we are still investigating the format of the MapChunkBulk packet, as well as the conpression (which appears to work correctly on some packets, and not others, it particularly does not like non player entities or inventory packets being sent). We also have a few issues with the players's keep alive not being sent, which prevents players from disconnecting because of connection time outs. It was changed in order to keep it correctly concurrent.

Second, we still are working on the API and implementation concurrency. We've stopped pretty much everything else, excluding packet analysis (lead by Mythbusterma, big thanks to him for spending time on Wireshark decoding Minecraft packets) for player joining, to work on improving and smoothing out the API. Our planned changes are currently being discussed, which includes more documentation and code comments to explain the implementation, updates to concurrency (including the server config which I have found to be impossible to modify safely, and an improved task executor which I've tested personally to be 2-4 times faster than the Java executor), single instantiation listener/command registration to eliminate state gotcha's, more tests using JCStress and benchmarks, the ability to obtain the registered instance of commands and listeners, refactors and tweaking of naming consistency in the API (removing the "get" from getXXX, toXXX to asXXX, etc), and technical design documents.

Third, we'd like some new developers. Our current team consists of 4 people, me, Mazen, Vilsol, and Mythbusterma. If you have experience with the Minecraft protocol, consider helping us out to release the server faster. If you deal with concurrency, I'd like help myself reviewing the design of Trident and analyzing/testing for thread safety. If you're just a general developer, we'd love feedback and suggestions for the API, and if you could submit a PR on our GitHub, that would be awesome too. If you want to work with us and have expertise in the protocol or concurrency, please tweet to @TridentSDK, submit an issue on JIRA, or post on the forums. As said, if you just want to help, a PR would do great.

Fourth, expect inactivity or slowed progress the following weeks. Myth (documentation) is getting back with his family, Mazen needs to finish a new computer because his last one broke, and I have to do 2 tests when I get back from break and start training for next year's season. Vilsol has been inactive for a bit, he's don testing on TridentSDK and develops this wonderful site. He is most likely studying at his University, but I don't know for sure.

in my opinion, our release should be in February, but it is difficult to tell for sure. Stay tuned.


xTrollxDudex, Developer of Concurrency/Testing 

New Benchmarks

I have created a new generated benchmark chart to replace our old copy/paste data from the test harness, JMH. Here is a list of the generated benchmarks:

Those are the primary core classes. Some of the minor classes/harnesses that don't are currently in progress. Otherwise, the explanation of the new benchmark charts are available on our documentation site:


Here's one of the generated charts. It looks nice doesn't it?


It took me about 4 hours to experiment with the Google Charts to gain this result. The source for the generator, and utility methods can be found on my bleeding edge fork here:


xTrollxDudex, Developer of Concurrency/Testing 


Here is our new documentation/wiki/whatever you want to call it. It is of course, a work in progress.

As some of you may have noticed, there haven't been as many commits to the project as usual and I will be going over directly the reasons why this issue is happening. Recently, our team have been facing big events in our lives, rather it be school, jobs, moving, etc. From my discussions from some members, they have barely been getting sleep, some with getting only 3 hours of sleep every 2 days. In the news post "November Update" we go over majority of everything, however I will be quickly going over it again.

First of all, I've been recently been going through the process of moving back to Canada (from Dubai), which has put me behind school as well as taking up time setting up unpacking, setting up, and generally moving everything. Secondly, Vilsol and Mythbusterma have been extremely busy with university and their other responsibilities which take priority. Lastly, Twister has recently damaged his eye(s), and I haven't heard from him. Other members have been stuck as well as I am on a bug which I will describe into much further detail on Jira (to be linked).

In the meantime, we appreciate feedback on what we currently have and contributions from the community wherever possible.

UPDATE: Seems the bug was a simple issue with how we were decompressing the file, fixed it on my side.

MazenMC, Team Lead

Copyright © 2018 TridentSDK
Made by Vilsol