2025.03.31: - New freshly installed VM with FreeBSD 13.5 (i386).
- This VM have MariaDB 10.6 instead of MySQL 5.6 which is compatible with Metin2 and still supported
therefore it can be installed via pkg. On the source side, a single line of code modification was needed
on libsql/AsyncSQL.cpp: "m_hDB.reconnect" --> "reconnect" on line 146. (It's just in an fprintf.)
If you wish to change back to MySQL then recompile at least libsql then game & db because of the mysql libs.
- src/common/stl.h modified the template<typename _Tp>, template <class _Ty>, template<class _Ty>
removed the unnecessary deprecated inheritance from std::unary_function.
- game/src/guild_manager.cpp modified the struct FGuildCompare, removed the unnecessary deprecated
inheritance from std::binary_function.
- db/src/ClientManagerBoot.cpp added "#include <algorithm>" at the top (sort function needed it to compile).
- In DevIL (extern) DevIL/DevIL/src-IL/src/il_manip.cpp removed 'register' storage class specifier (line 40-47).
Register is deprecated, safe to remove, otherwise you cannot recompile it.
- In every Makefile -std=c++2b changed to -std=c++23. The c++2b naming was a temporary placeholder for ++23.
- With the above modifications you can compile the source on a fresh, new FreeBSD system.
- Installed a fix about DeathBlow [Hidden Content]
DeathBlow's race check was from 1 to 4, but it should have been from 0 to 3 because warrior is 0.
While I believe MariaDB10.6 works fine, give it a week or so if you have a live server and stay with older version of MySQL for now waiting others to report bugs.
I hope now people can install this to a VPS, because when I accept someone's friend request in Discord, about 50% chance they ask about MySQL5.6 installation (because it is removed from pkg), or compilation errors on newer FreeBSD version
I went with 13.5 because of it's longterm support (unlike current 14.2) and it's a VM, but I'm sure you can use 14.x too in your live environment.