Advertisement
Guest User

Untitled

a guest
Sep 6th, 2019
296
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.47 KB | None | 0 0
  1.     class Program
  2.     {
  3.         private const int _defaultPort = 33981;
  4.  
  5.         private static GameServer _gameServer;
  6.  
  7.         static void Main(string[] args)
  8.         {
  9.             GameserverSDK.Start();
  10.             GameserverSDK.RegisterShutdownCallback(() =>
  11.             {
  12.                 // End server
  13.                 Environment.Exit(0);
  14.             });
  15.             GameserverSDK.RegisterHealthCallback(() => true);
  16.  
  17.             // Load game data.
  18.             Constants.Load(JsonConvert.DeserializeObject<Constants>(File.ReadAllText("Data/data.json"), new JsonSerializerSettings()
  19.             {
  20.                 PreserveReferencesHandling = PreserveReferencesHandling.Objects,
  21.                 TypeNameHandling = TypeNameHandling.All
  22.             }));
  23.  
  24.             int port = _defaultPort;
  25.            
  26.             // If args gives us a new port, grab it.
  27.             if (args.Length > 0)
  28.             {
  29.                 port = Convert.ToInt32(args[0]);
  30.             }
  31.  
  32.             // Load game settings.
  33.             GameSettings gameSettings = JsonConvert.DeserializeObject<GameSettings>(File.ReadAllText("Data/gamesettings.json"));
  34.  
  35.             // Setup the game.
  36.             _gameServer = new GameServer(port, false);
  37.             _gameServer.Setup(gameSettings, true);
  38.             _gameServer.Start();
  39.             _gameServer.Server.PlayerConnected += Server_PlayerConnected;
  40.             _gameServer.Server.PlayerDisconnected += Server_PlayerDisconnected;
  41.  
  42.             Console.WriteLine(string.Format("Server started on port {0}", port));
  43.            
  44.             // Should block until players are ready.
  45.             if (GameserverSDK.ReadyForPlayers())
  46.             {
  47.  
  48.             }
  49.             else
  50.             {
  51.                 Environment.Exit(1);
  52.             }
  53.            
  54.             while (true)
  55.             {
  56.                 _gameServer.Update();
  57.  
  58.                 System.Threading.Thread.Sleep(16);
  59.             }
  60.         }
  61.  
  62.         private static void Server_PlayerDisconnected(object sender, Network.PlayerController e)
  63.         {
  64.             GameserverSDK.UpdateConnectedPlayers(_gameServer.Server.GetConnectedControllers().Select(x => new ConnectedPlayer(x.Id)).ToList());
  65.         }
  66.  
  67.         private static void Server_PlayerConnected(object sender, Network.PlayerController e)
  68.         {
  69.             GameserverSDK.UpdateConnectedPlayers(_gameServer.Server.GetConnectedControllers().Select(x => new ConnectedPlayer(x.Id)).ToList());
  70.         }
  71.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement