Esempio n. 1
0
        public override void Init(MyObjectBuilder_SessionComponent sessionComponent)
        {
            NetworkAPI.LogNetworkTraffic = false;
            Tools.DebugMode = true;

            IsNotificationInitialized = MyAPIGateway.Utilities.IsDedicated;

            if (!NetworkAPI.IsInitialized)
            {
                NetworkAPI.Init(ModId, ModName, ModKeyword);
            }

            NetSettings = new NetSync <Settings>(this, TransferType.ServerToClient, Settings.Static);
            NetSettings.ValueChangedByNetwork += UpdateSettings;
            //NetSettings.BeforeFetchRequestResponse += SettingsRequest;

            if (!MyAPIGateway.Session.IsServer)
            {
                NetworkAPI.Instance.RegisterChatCommand("load", (args) => NetworkAPI.Instance.SendCommand("load"));
            }
            else
            {
                NetworkAPI.Instance.RegisterNetworkCommand("load", ServerCallback_Load);

                NetworkAPI.Instance.RegisterChatCommand("load", (args) => {
                    Settings.Load();
                    NetSettings.Value = Settings.Static;
                });
            }

            Settings.Load();
            NetSettings.Value = Settings.Static;
        }
Esempio n. 2
0
        public override void Init(MyObjectBuilder_SessionComponent sessionComponent)
        {
            NetworkAPI.LogNetworkTraffic = true;

            if (!NetworkAPI.IsInitialized)
            {
                NetworkAPI.Init(ModId, ModName);
            }

            if (MyAPIGateway.Multiplayer.IsServer)
            {
                SettingsUpdated = true;
                Config          = Settings.Load();
                Network.RegisterNetworkCommand(Command_Store, Store_Server);
                Network.RegisterNetworkCommand(Command_Place, Place_Server);
                Network.RegisterNetworkCommand(Command_Settings, Settings_Server);
                Network.RegisterNetworkCommand(Command_Preview, Preview_Server);
            }
            else
            {
                Config = Settings.GetDefaults();
                Network.RegisterNetworkCommand(Command_Settings, Settings_Client);
                Network.RegisterNetworkCommand(Command_Error, Error_Client);
                Network.RegisterNetworkCommand(Command_Preview, Preview_Client);
            }
        }
        public override void Init(MyObjectBuilder_SessionComponent sessionComponent)
        {
            if (!NetworkAPI.IsInitialized)
            {
                NetworkAPI.Init(ComId, ModName, CommandKeyword);
            }

            Network.RegisterChatCommand(string.Empty, Chat_Help);
            Network.RegisterChatCommand("help", Chat_Help);
            Network.RegisterChatCommand("hud", Chat_Hud);
            Network.RegisterChatCommand("config", Chat_Config);
            Network.RegisterChatCommand("debug", Chat_Debug);

            if (Network.NetworkType == NetworkTypes.Client)
            {
                Network.RegisterNetworkCommand(null, ClientCallback_Update);
                Network.RegisterChatCommand("update", (args) => { Network.SendCommand("update"); });
                Network.RegisterChatCommand("load", (args) => { Network.SendCommand("load"); });
            }
            else
            {
                Network.RegisterNetworkCommand("update", ServerCallback_Update);
                Network.RegisterNetworkCommand("load", ServerCallback_Load);
                Network.RegisterChatCommand("load", (args) => { cfg = Settings.Load(); });
            }

            MyLog.Default.Info("[RelativeTopSpeed] Starting.");
            MyAPIGateway.Entities.OnEntityAdd    += AddGrid;
            MyAPIGateway.Entities.OnEntityRemove += RemoveGrid;

            cfg = Settings.Load();
        }
Esempio n. 4
0
        public override void Init(MyObjectBuilder_SessionComponent sessionComponent)
        {
            Tools.Log(MyLogSeverity.Info, "Initializing");

            MyAPIGateway.Multiplayer.RegisterSecureMessageHandler(8008, PluginHandleIncomingPacket);
            if (!NetworkAPI.IsInitialized)
            {
                NetworkAPI.Init(ComId, DisplayName, Keyword);
            }

            Network.RegisterChatCommand(string.Empty, Chat_Help);
            Network.RegisterChatCommand("help", Chat_Help);

            if (!MyAPIGateway.Session.IsServer)
            {
                Network.RegisterChatCommand("score", (args) => Network.SendCommand("score"));
                Network.RegisterChatCommand("save", (args) => Network.SendCommand("save"));
                Network.RegisterChatCommand("force-load", (args) => Network.SendCommand("force-load"));

                Network.RegisterNetworkCommand("score", ClientCallback_Score);

                //NEXUS: client message handler, recieves and shows messages forwarded from the sector
                if (!nexusCliInit)
                {
                    MyAPIGateway.Multiplayer.RegisterMessageHandler(CliComId, HandleClientCrossServerComm);
                    nexusCliInit = true;
                }
            }
            else
            {
                ZoneBlock.OnAwardPoints += AwardPoints;
                ZoneBlock.OnPlayerDied  += PlayerDied;

                Network.RegisterChatCommand("score", (args) => { MyAPIGateway.Utilities.ShowMissionScreen(Network.ModName, "King of the Hill", "", FormatScores()); });
                Network.RegisterChatCommand("save", (args) => { ServerCallback_Save(MyAPIGateway.Session.Player.SteamUserId, "save", null, DateTime.Now); });
                Network.RegisterChatCommand("force-load", (args) => { ServerCallback_ForceLoad(MyAPIGateway.Session.Player.SteamUserId, "force_load", null, DateTime.Now); });

                Network.RegisterNetworkCommand("score", ServerCallback_Score);
                Network.RegisterNetworkCommand("save", ServerCallback_Save);
                Network.RegisterNetworkCommand("force_load", ServerCallback_ForceLoad);

                if (MyAPIGateway.Multiplayer.IsServer && !nexusInit)
                {
                    //NEXUS: registration of sector handlers and nexus instances for each
                    Nexus2 = new NexusAPI(5431);                    // score message
                    Nexus  = new NexusAPI(5432);                    // text message
                    MyAPIGateway.Multiplayer.RegisterMessageHandler(5431, HandleCrossServerScore);
                    MyAPIGateway.Multiplayer.RegisterMessageHandler(5432, HandleCrossServerComm);

                    nexusInit = true;
                }
            }

            MyAPIGateway.Entities.OnEntityAdd    += EntityAdded;
            MyAPIGateway.Entities.OnEntityRemove += EntityRemoved;
        }
Esempio n. 5
0
        public override void Init(MyObjectBuilder_SessionComponent sessionComponent)
        {
            NetworkAPI.LogNetworkTraffic = true;

            if (!NetworkAPI.IsInitialized)
            {
                NetworkAPI.Init(ModId, ModName, ModKeyword);
            }

            MyLog.Default.WriteLine($"[Session Test] <InitializeSessionComponent>");
            SessionTest = new NetSync <string>(this, TransferType.Both);
        }
Esempio n. 6
0
        public override void Init(MyObjectBuilder_SessionComponent sessionComponent)
        {
            NetworkAPI.Init(2662, "zep");

            if (Network.NetworkType == NetworkTypes.Client)
            {
                Network.RegisterChatCommand("sync", ClientCommand);
                Network.RegisterNetworkCommand(null, ClientCallback);
            }
            else
            {
                Network.RegisterNetworkCommand("setup", ServerCallback_Setup);
                Network.RegisterNetworkCommand("reset", ServerCallback_Reset);
                Network.RegisterNetworkCommand("change", ServerCallback_Change);
                Network.RegisterNetworkCommand("toggle_active", ServerCallback_ToggleActive);
                Network.RegisterNetworkCommand("sync", ServerCallback_Sync);
            }
        }
Esempio n. 7
0
        public override void Init(MyObjectBuilder_SessionComponent sessionComponent)
        {
            thrustTypeId  = MyObjectBuilderType.ParseBackwardsCompatible("Thrust");
            cockpitTypeId = MyObjectBuilderType.ParseBackwardsCompatible("Cockpit");

            NetworkAPI.LogNetworkTraffic = false;

            if (!NetworkAPI.IsInitialized)
            {
                NetworkAPI.Init(ComId, ModName, CommandKeyword);
            }

            if (!RtsApiBackend.IsInitialized)
            {
                RtsApiBackend.Init(this);
            }

            cfg = new NetSync <Settings>(this, TransferType.ServerToClient, Settings.Load(), true, false);
            cfg.ValueChangedByNetwork += SettingChanged;
            Settings.Instance          = cfg.Value;

            Network.RegisterChatCommand(string.Empty, Chat_Help);
            Network.RegisterChatCommand("help", Chat_Help);
            Network.RegisterChatCommand("hud", Chat_Hud);
            Network.RegisterChatCommand("config", Chat_Config);

            if (!MyAPIGateway.Multiplayer.IsServer)
            {
                Network.RegisterChatCommand("load", (args) => { Network.SendCommand("load"); });
            }
            else
            {
                Network.RegisterNetworkCommand("load", ServerCallback_Load);
                Network.RegisterChatCommand("load", (args) => { cfg.Value = Settings.Load(); });
            }

            MyLog.Default.Info("[RelativeTopSpeed] Starting.");
            MyAPIGateway.Entities.OnEntityAdd    += AddGrid;
            MyAPIGateway.Entities.OnEntityRemove += RemoveGrid;
        }