コード例 #1
0
ファイル: General.cs プロジェクト: jnciesla/PSol_Unity_Server
        public static void InitializeServer()
        {
            var startTime = GetTickCount();

            Cnsl.Info("Initializing Server", true);
            //Intializing all game data arrays
            Cnsl.Debug("Initializing Game Arrays", true);
            for (var i = 0; i < Constants.MAX_PLAYERS; i++)
            {
                ServerTcp.Client[i] = new Clients();
            }
            Cnsl.Finalize("Initializing Game Arrays");
            //Start the Networking
            Cnsl.Debug("Initializing Network", true);
            Cnsl.Debug("Initializing Status Listener", true);
            ServerHandleData.InitializePackets();
            ServerTcp.InitializeNetwork();
            ServerTcp.InitializeStatusListener();
            //Load database items
            LoadData();
            var endTime = GetTickCount();

            Cnsl.Info(@"Initialization complete. Server loaded in " + (endTime - startTime) + " ms.");
            Cnsl.Banner("   Server has started successfully \n     @ " + DateTime.UtcNow + " UTC");
            Globals.Initialized = true;
            Cnsl.Finalize("Initializing Server");
        }
コード例 #2
0
 public static void SaveGame()
 {
     Cnsl.Log("Saving game", true);
     try
     {
         _gameService.SaveGame(_userService.ActiveUsers.ToList());
         Cnsl.Finalize("Saving game");
     }
     catch
     {
         Cnsl.Finalize("Saving game", false);
     }
 }
コード例 #3
0
 public static void InitializeStatusListener()
 {
     try
     {
         statusSocket = new TcpListener(IPAddress.Any, Constants.STATUS_PORT);
         statusSocket.Start();
         statusSocket.BeginAcceptTcpClient(OnStatusRequest, null);
         Cnsl.Finalize("Initializing Status Listener");
     }
     catch
     {
         Cnsl.Finalize("Initializing Status Listener", false);
     }
 }
コード例 #4
0
 public static void InitializeNetwork()
 {
     try
     {
         serverSocket = new TcpListener(IPAddress.Any, Constants.PORT);
         serverSocket.Start();
         serverSocket.BeginAcceptTcpClient(OnClientConnect, null);
         Cnsl.Finalize("Initializing Network");
     }
     catch
     {
         Cnsl.Finalize("Initializing Network", false);
     }
     Console.Title = @"Project Sol Server | " + Constants.PORT;
 }
コード例 #5
0
 public static void InitializePackets()
 {
     Cnsl.Debug("Initializing Network Packets", true);
     packets = new Dictionary <long, Packet>
     {
         { (long)ClientPackets.CMovement, PACKET_CLIENTMOVEMENT },
         { (long)ClientPackets.CMessage, PACKET_CLIENTMESSAGE },
         { (long)ClientPackets.CLogin, PACKET_LOGIN },
         { (long)ClientPackets.CEquip, PACKET_EQUIP },
         { (long)ClientPackets.CAttack, PACKET_ATTACK },
         { (long)ClientPackets.CLoot, PACKET_LOOT },
         { (long)ClientPackets.CShopBuy, PACKET_PURCHASE },
         { (long)ClientPackets.CShopSell, PACKET_SELL },
         { (long)ClientPackets.CDischarge, PACKET_DISCHARGE },
         { (long)ClientPackets.CLog, PACKET_LOGERROR },
         { (long)ClientPackets.CManufacture, PACKET_MANUFACTURE },
         { (long)ClientPackets.CHangarBuy, PACKET_HANGAR },
     };
     Cnsl.Finalize("Initializing Network Packets");
 }
コード例 #6
0
ファイル: General.cs プロジェクト: jnciesla/PSol_Unity_Server
        public static void LoadData()
        {
            Cnsl.Info(@"Preparing to load data:");
            var items     = 0;
            var startTime = GetTickCount();

            Cnsl.Debug("Loading items", true);
            try
            {
                Globals.Items = Program._itemService.LoadItems();
                Cnsl.Finalize("Loading items");
            }
            catch
            {
                Cnsl.Finalize("Loading items", false);
                return;
            }

            items += Globals.Items.Count;
            Cnsl.Debug("Loading recipes", true);
            try
            {
                Globals.Recipes = Program._itemService.LoadRecipes();
                Cnsl.Finalize("Loading recipes");
            }
            catch
            {
                Cnsl.Finalize("Loading recipes", false);
                return;
            }

            Cnsl.Debug("Building hash table", true);
            try
            {
                PopulateHashTable();
                Cnsl.Finalize("Building hash table");
            }
            catch
            {
                Cnsl.Finalize("Building hash table", false);
                return;
            }

            items += Globals.Recipes.Count;
            Cnsl.Debug("Loading galaxy", true);
            try
            {
                Globals.Galaxy     = Program._starService.LoadStars();
                Globals.Structures = Program._starService.LoadStructures();
                Cnsl.Finalize("Loading galaxy");
            }
            catch
            {
                Cnsl.Finalize("Loading galaxy", false);
                return;
            }
            items += Globals.Galaxy.Count;
            items += Globals.Structures.Count;
            var endTime = GetTickCount();

            Cnsl.Info(@"Data loaded (" + items + " points) in " + (endTime - startTime) + " ms.");
        }