A build reports an incompatible library or a newly compiled game starts but no longer communicates correctly with the client. Treat these as different failures: the linker combines objects; the network protocol interprets bytes.
Start with an artifact inventory
Record the intended architecture of game, db, the quest compiler, project libraries and third-party libraries. A 64-bit operating system does not mean every application on it must be rebuilt as 64-bit. Keep the compiler version and build flags beside the inventory.
Component Intended architecture Build/source revision
game record your target record the revision
db record your target record the revision
project libs must match consumers record their build
external libs must match consumers record their origin
client protocol record its definitions record the client revisionWhen a linker rejects one library, investigate that artifact and its dependencies before changing every flag. Do not solve one local mismatch by combining unrelated binaries from another server pack.
Why a flag change is not a protocol migration
A different data model can change the size of C/C++ types. Review packet field widths, signedness, layout, serialization and both ends of the connection. Fixed-width integer types help express an intended wire width, but replacing one type alone does not prove that every packet still has the expected layout.
A useful test result
Keep a known-working build, perform a clean rebuild of the affected components and test a small representative path: connect, select a character, enter the game and exchange one relevant packet. Record which exact artifacts were deployed. If the linker issue disappears but packet handling fails, you have moved to a separate test, not completed the migration.
Reference and added value
A Metin2Dev architecture discussion illustrates why library compatibility and packet compatibility must both be considered. This M2City guide adds an artifact inventory and a verification sequence; it is not a tested port of a particular server branch.
Reply with the first failing stage and your architecture inventory, rather than an entire private source archive.