public Server( SteamSockets transport, int maxConnections, uint steamAppID, SteamServerInit init, SteamSockets.SocketMode socketMode, string serverName ) { if (transport.debug) { Debug.Log($"SteamSockets.Server: Starting"); } networkPort = init.GamePort; SteamServer.Init(steamAppID, init, false); SteamServer.ServerName = serverName; if (String.IsNullOrEmpty(transport.gsToken)) { Debug.Log($"No gsToken provided, logging on anonymously"); SteamServer.LogOnAnonymous(); } else { Debug.Log($"Logging on with gstoken"); // Todo: Add SteamServer.LogOn(gsToken); when Facepunch.Steamworks supports it } if (transport.debug) { Debug.Log($"Creating socket manager ({socketMode})"); } switch (socketMode) { case SteamSockets.SocketMode.P2P: socketManager = SteamNetworkingSockets.CreateRelaySocket <FPSocketManager>(); break; case SteamSockets.SocketMode.UDP: socketManager = SteamNetworkingSockets.CreateNormalSocket <FPSocketManager>(NetAddress.AnyIp(networkPort)); break; } socketManager.transport = transport; }
public void Shutdown() { socketManager.Close(); socketManager = null; }