Why the fuck you use GCC9 when it's experimental. Why use C ++ 20 when it's still experimental. Why update the compiler to c ++ 20 when metin is a bullshit that anything you do will not bring you any performance. How can you demonstrate to me that it will increase performance? Performance is rewriting the codes. Who do you think will use this tutorial? People who know programming, believe me they will do this update themselves to c ++ 17, not 20 because it is still experiemntal. Not just updating libraries. Let's make some examples.
Cryptopp is only used for packet encryption. In a default source, nobody uses cryptopp for anything else. True developers will know for themselves to update cryptopp to the latest version. From what I know cryptopp did not bring any performance on the scale of what the version was growing. Just solve a few bugs.
lzo As the version grows the same does not bring any performance. Just solving some bugs and compiling on multiple platforms.
Boost - the same is used very little in the server. The client is almost not used. The client uses only unordered_map and unordered_set. You can replace these two with STL from c ++ 11. They are much faster than boost. And boost, you can delete it from the client folder. Because it is only used in the EterPack folder. The server uses only the algorithm / lexical_cast library and bind. These all in 10 minutes of work, you can replace them with STL functions. What the hell of the performance bring the upgrade to boost? If the server itself is a shit of mix between C and c ++.
I can go on with that if you like.
It does not matter if you rewrite the code. If you do it all in the same way of shit like ymir. How many talented programers think there is a metin2 scene that rewrites the code to deliver performance.
If you want performance, rewrite each system. Using not necessarily modern coding, modern techniques. What performance do you want when the entire 3D engine is a shit, written in 2003 by some programmers who were most likely paid 5 euros per hour. It does not matter that you use c ++ 50 if the technique is cabbage.
Do you want performance? Then pay a professional programmer with $ 20/30 per hour to upgrade and rewrite the code.But wait, that there are children who do not know the world they live in. At least the majority. Let's look at metin as a way to make money, because that's it.
I worked for wom2, and I saw what they rewrote. Do you think this was possible in 1 month? They did this while the server was ONLINE to be able to test. Here's the performance, do you think wom2 just updated the c ++ 20 and ready? Or have they updated libraries?
It's much more than that.