public void GetLastNewScriptAssemblyInfoTest()
        {
            string             strScriptName = string.Empty; // TODO: 初始化为适当的值
            ScriptAssemblyInfo expected      = null;         // TODO: 初始化为适当的值
            ScriptAssemblyInfo actual;

            actual = ScriptCompiler.GetLastNewScriptAssemblyInfo(strScriptName);
            Assert.AreEqual(expected, actual);
            Assert.Inconclusive("验证此测试方法的正确性。");
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        internal static void InitOnceServer()
        {
            //////////////////////////////////////////////////////////////////////////
            // 获取最新的脚本编译集

            s_ScriptAssemblyInfo = ScriptCompiler.GetLastNewScriptAssemblyInfo("Wow.RealmScript");
            if (s_ScriptAssemblyInfo == null)
            {
                LOGs.WriteLine(LogMessageType.MSG_ERROR, "脚本文件内没有找到{0}版本信息!", "Wow.RealmScript");

                return;
            }

            //////////////////////////////////////////////////////////////////////////
            // 获取配置的信息

            LoadWowConfig();

            //////////////////////////////////////////////////////////////////////////
            // 开始在编译后的程序集合内获取密码和ZoneClusterWorld配置信息

            LoadPassword();

            //////////////////////////////////////////////////////////////////////////
            // 开始在编译后的程序集合内获取密码, 并初始化SQL

            InitSQL();

            //////////////////////////////////////////////////////////////////////////
            // 开始注册协议

            // 初始化OpCode的名称
            RealmOpCodeName.InitRealmOpCodeName();
            AuthOpCodeName.InitAuthOpCodeName();

            // Auth 客户端的协议
            AuthPacketHandlers.Register((ushort)AuthOpCode.SMSG_AUTH_CHALLENGE, ProcessNet.AUTH_ID_SIZE + 33, false, new PacketReceiveCallback(Auth_PacketHandlers.Auth_HandleAuthChallenge));
            AuthPacketHandlers.Register((ushort)AuthOpCode.SMSG_AUTH_RECONNECT_CHALLENGE, ProcessNet.AUTH_ID_SIZE + 33, false, new PacketReceiveCallback(Auth_PacketHandlers.Auth_HandleAuthChallenge));
            AuthPacketHandlers.Register((ushort)AuthOpCode.SMSG_AUTH_PROOF, ProcessNet.AUTH_ID_SIZE + 74, false, new PacketReceiveCallback(Auth_PacketHandlers.Auth_HandleAuthProof));
            AuthPacketHandlers.Register((ushort)AuthOpCode.SMSG_AUTH_RECONNECT_PROOF, ProcessNet.AUTH_ID_SIZE + 74, false, new PacketReceiveCallback(Auth_PacketHandlers.Auth_HandleAuthProof));
            AuthPacketHandlers.Register((ushort)AuthOpCode.SMSG_REALM_LIST, ProcessNet.AUTH_ID_SIZE + 4, false, new PacketReceiveCallback(Auth_PacketHandlers.Auth_HandleRealmList));

            // Realm 客户端的协议
            RealmPacketHandlers.Register((ushort)RealmOpCode.SMSG_REGISTER_REALM, ProcessNet.REALM_HEAD_SIZE + 0, false, new PacketReceiveCallback(Realm_PacketHandlers.Realm_HandleRegisterRealm));
            RealmPacketHandlers.Register((ushort)RealmOpCode.SMSG_REQUEST_SESSION, ProcessNet.REALM_HEAD_SIZE + 4, false, new PacketReceiveCallback(Realm_PacketHandlers.Realm_HandleRequestSession));
            RealmPacketHandlers.Register((ushort)RealmOpCode.SMSG_PING, ProcessNet.REALM_HEAD_SIZE + 0, false, new PacketReceiveCallback(Realm_PacketHandlers.Realm_HandlePing));
            RealmPacketHandlers.Register((ushort)RealmOpCode.SMSG_SQL_EXECUTE, ProcessNet.REALM_HEAD_SIZE + 0, false, new PacketReceiveCallback(Realm_PacketHandlers.Realm_HandleSQLExecute));

            //////////////////////////////////////////////////////////////////////////
            // 获取ZoneWorld配置信息

            LoadZoneClusterWorldConfig();

            //////////////////////////////////////////////////////////////////////////
            // 开始初始化ZoneClusterServer

            s_WowZoneCluster.InitZoneCluster(s_ConfigZoneClusterWorld);

            //////////////////////////////////////////////////////////////////////////
            // 开始AuthServer监听端口

            if (s_ConfigInfo.WowConfig.AuthServerHost == string.Empty)
            {
                if (Program.AuthServerListener.StartServer(AuthServerPort) == false)
                {
                    LOGs.WriteLine(LogMessageType.MSG_ERROR, "监听端口:{0} 失败!", AuthServerPort);
                    return;
                }
            }
            else
            {
                string strHostNamePort = s_ConfigInfo.WowConfig.AuthServerHost + ":" + s_ConfigInfo.WowConfig.AuthServerPort;

                if (Program.AuthServerListener.StartServer(strHostNamePort) == false)
                {
                    LOGs.WriteLine(LogMessageType.MSG_ERROR, "监听IP地址与端口:{0} 失败!", strHostNamePort);
                    return;
                }
            }

            //////////////////////////////////////////////////////////////////////////
            // 开始RealmServer监听端口

            if (s_ConfigInfo.WowConfig.RealmServerHost == string.Empty)
            {
                if (Program.RealmServerListener.StartServer(REALM_SERVER_PORT) == false)
                {
                    LOGs.WriteLine(LogMessageType.MSG_ERROR, "监听端口:{0} 失败!", REALM_SERVER_PORT);
                    return;
                }
            }
            else
            {
                string strHostNamePort = s_ConfigInfo.WowConfig.RealmServerHost + ":" + s_ConfigInfo.WowConfig.RealmServerPort;

                if (Program.RealmServerListener.StartServer(strHostNamePort) == false)
                {
                    LOGs.WriteLine(LogMessageType.MSG_ERROR, "监听IP地址与端口:{0} 失败!", strHostNamePort);
                    return;
                }
            }
        }