I was looking through the source and ran into this.
// Set server online (allow connecting now)
LoginDatabase.DirectPExecute(“UPDATE realmlist SET flag = flag & ~%u, population = 0 WHERE id = ‘%u’”, REALM_FLAG_OFFLINE, realm.Id.Realm);
realm.PopulationLevel = 0.0f;
realm.Flags = RealmFlags(realm.Flags & ~uint32(REALM_FLAG_OFFLINE));
// Start the freeze check callback cycle in 5 seconds (cycle itself is 1 sec)
if (int coreStuckTime = sConfigMgr->GetIntDefault(“MaxCoreStuckTime”, 0))
{
_maxCoreStuckTimeInMs = coreStuckTime * 1000;
_freezeCheckTimer.expires_from_now(boost::posix_time::seconds(5));
_freezeCheckTimer.async_wait(FreezeDetectorHandler);
TC_LOG_INFO(“server.worldserver”, “Starting up anti-freeze thread (%u seconds max stuck time)…”, coreStuckTime);
}
The thing that stood out to me was the LoginDatabase directive. Would it be possible to modify that script to where only 3.3.5 servers showed to 3.3.5 clients and so on and so forth? I don't know where to start, but I was seeing that and wondering if that's something that can be handled server side or if that would require client side modification.