TriniChat Reboot (a little guidance on current core)

Happy New Year everyone!

I am Shinzon (one of the original developers with Death) that worked on MangChat. I’m working on redesigning TriniChat to operate with the latest builds and I think I’m pretty close - but I can’t seem to find a good replacement for ACE_Based threading. What is Trinity using for threading? I can find the definitions for it in the core if I’m pointed in the right direction, I just need a little additional guidance on it as I’ve been out of the loop on TrinityCore for a couple years.

Best,

Ruafo (aka:Shinzon)

Someone will probably correct me if I am wrong. :unsure:

The core first used ACE, then it used Boost library, and now it uses C++ standard libraries for threading/locks and Boost is mainly used for networking.
So the core uses mostly std::thread and std::mutex and similar C++ standard library implementations introduced in newer versions of C++.
And for the networking it is using boost libraries.

Take a look at for example these:
std::thread [https://github.com/search?q=repo%3ATrinityCore%2FTrinityCore std%3A%3Athread&type=code](https://github.com/search?q=repo%3ATrinityCore%2FTrinityCore%20std%3A%3Athread&type=code)
std::mutex [https://github.com/search?q=repo%3ATrinityCore%2FTrinityCore std%3A%3Amutex&type=code](https://github.com/search?q=repo%3ATrinityCore%2FTrinityCore%20std%3A%3Amutex&type=code)
boost threadpool for networking [https://github.com/TrinityCore/TrinityCore/blob/5c687e4b687bf94570322337d1ffa97570b9ea12/src/server/worldserver/Main.cpp#L251](https://github.com/TrinityCore/TrinityCore/blob/5c687e4b687bf94570322337d1ffa97570b9ea12/src/server/worldserver/Main.cpp#L251)

There is more documentation about threading in the config. So maybe take a look here and look for "thread". For example here is documented what the threadpool is used for
[https://github.com/TrinityCore/TrinityCore/blob/5c687e4b687bf94570322337d1ffa97570b9ea12/src/server/worldserver/worldserver.conf.dist#L164](https://github.com/TrinityCore/TrinityCore/blob/5c687e4b687bf94570322337d1ffa97570b9ea12/src/server/worldserver/worldserver.conf.dist#L164)

Thank you so much @Rochet2. That is SO MUCH easier than having to add in countless libraries.

Once I get it working I’ll create a branch or patch and share. Might give it a new name just to differentiate a bit. Lot of changes in here.