Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Program
- {
- private const int _defaultPort = 33981;
- private static GameServer _gameServer;
- static void Main(string[] args)
- {
- GameserverSDK.Start();
- GameserverSDK.RegisterShutdownCallback(() =>
- {
- // End server
- Environment.Exit(0);
- });
- GameserverSDK.RegisterHealthCallback(() => true);
- // Load game data.
- Constants.Load(JsonConvert.DeserializeObject<Constants>(File.ReadAllText("Data/data.json"), new JsonSerializerSettings()
- {
- PreserveReferencesHandling = PreserveReferencesHandling.Objects,
- TypeNameHandling = TypeNameHandling.All
- }));
- int port = _defaultPort;
- // If args gives us a new port, grab it.
- if (args.Length > 0)
- {
- port = Convert.ToInt32(args[0]);
- }
- // Load game settings.
- GameSettings gameSettings = JsonConvert.DeserializeObject<GameSettings>(File.ReadAllText("Data/gamesettings.json"));
- // Setup the game.
- _gameServer = new GameServer(port, false);
- _gameServer.Setup(gameSettings, true);
- _gameServer.Start();
- _gameServer.Server.PlayerConnected += Server_PlayerConnected;
- _gameServer.Server.PlayerDisconnected += Server_PlayerDisconnected;
- Console.WriteLine(string.Format("Server started on port {0}", port));
- // Should block until players are ready.
- if (GameserverSDK.ReadyForPlayers())
- {
- }
- else
- {
- Environment.Exit(1);
- }
- while (true)
- {
- _gameServer.Update();
- System.Threading.Thread.Sleep(16);
- }
- }
- private static void Server_PlayerDisconnected(object sender, Network.PlayerController e)
- {
- GameserverSDK.UpdateConnectedPlayers(_gameServer.Server.GetConnectedControllers().Select(x => new ConnectedPlayer(x.Id)).ToList());
- }
- private static void Server_PlayerConnected(object sender, Network.PlayerController e)
- {
- GameserverSDK.UpdateConnectedPlayers(_gameServer.Server.GetConnectedControllers().Select(x => new ConnectedPlayer(x.Id)).ToList());
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement