Exemple #1
0
 protected override void _Start()
 {
     if (!Game.IsHost)
     {
         (Game.Network as ClientSocketManager).OnStatusChanged += Socket_OnStatusChanged;
     }
     else
     {
         DevConsole.RegisterCommand("map.change", "", this, (e) =>
         {
             if (e.Length > 1)
             {
                 var map         = e[1];
                 string gamemode = Game.GamemodeLoader.Gamemode.Name;
                 if (e.Length > 2)
                 {
                     gamemode = e[2];
                 }
                 var name = DevConsole.GetVariable <string>("server.name");
                 var pass = DevConsole.GetVariable <string>("server.password");
                 ChangeMapAsync(map, gamemode, name, pass);
             }
         });
     }
 }
Exemple #2
0
        public void ChangeMap(string mapName)
        {
            string gamemode = Game.GamemodeLoader.Gamemode.Name;
            var    name     = DevConsole.GetVariable <string>("server.name");
            var    pass     = DevConsole.GetVariable <string>("server.password");

            ChangeMapAsync(mapName, gamemode, name, pass);
        }
Exemple #3
0
 private void OnChanged(bool newValue)
 {
     if (newValue == DevConsole.GetVariable <bool>(SettingName))
     {
         return;
     }
     Queue($"{SettingName} {newValue}");
 }
Exemple #4
0
        private void SendFileSync(ServerPlayer player)
        {
            var fileSync = PacketUtility.TakePacket <FileSync>();

            fileSync.SyncType    = FileSync.FileSyncType.Manifest;
            fileSync.DownloadUrl = DevConsole.GetVariable <string>("net.downloadurl") ?? string.Empty;
            fileSync.Files       = new System.Collections.Generic.List <FSFileInfo>(FileSystem.DownloadList);
            Game.GetFSComponent <SocketManager>().SendPacketBrute(player, fileSync);
        }
Exemple #5
0
 protected override void _Initialize()
 {
     _openColorPicker.onClick.AddListener(() =>
     {
         var color       = DevConsole.GetVariable <Color>(SettingName);
         var colorPicker = UGuiManager.Instance.Find <Modal_ColorPicker>();
         colorPicker.OpenWithCallback(color, OnSave, OnCancel);
     });
 }
Exemple #6
0
        protected unsafe override void OnPlayerPacketReceived(IPlayer player, IBasePacket packet)
        {
            if (!(packet is CompressedVoiceData voicePacket))
            {
                return;
            }

            if (Game.IsHost)
            {
                var packetToSend = PacketUtility.TakePacket <CompressedVoiceData>();
                packetToSend.SetData(voicePacket.Data, voicePacket.DataLength);
                packetToSend.ClientIndex = player.ClientIndex;
                Server.GameServer.Instance.Socket.BroadcastPacket(packetToSend);
            }
            else
            {
                var vol = DevConsole.GetVariable <float>("audio.voiceoutput");
                if (vol == 0)
                {
                    return;
                }

                var clientIndex = voicePacket.ClientIndex;

                if (clientIndex == Game.ClientIndex && !_loopback)
                {
                    return;
                }

                int uncompressedDataLength = 0;
                var speakingPlayer         = Game.PlayerManager.FindPlayer(clientIndex);
                fixed(byte *src = voicePacket.Data)
                {
                    fixed(byte *dst = _data)
                    {
                        uncompressedDataLength = SteamUser.DecompressVoice((IntPtr)src, voicePacket.DataLength, (IntPtr)dst, _data.Length);
                    }
                }

                if (uncompressedDataLength == 0 || speakingPlayer == null)
                {
                    return;
                }

                throw new System.NotImplementedException();
                // _data to audio..

                //UnityEngine.Debug.Log($"size: {data.Length} - group: {getChannelGroupResult} - create: {createSoundResult} - play: {playSoundResult}");
            }
        }
Exemple #7
0
 public override void LoadValue()
 {
     LoadValue(DevConsole.GetVariable <bool>(SettingName).ToString());
 }
Exemple #8
0
        public bool LoadGamemode(string gamemodeName = null)
        {
            var result = true;

            var gamemodeInstance = BaseGamemode.GetInstance <BaseGamemode>(gamemodeName ?? DevConsole.GetVariable <string>("game.mode"));

            if (gamemodeInstance == null)
            {
                DevConsole.WriteLine($"Couldn't load gamemode: {gamemodeName}");
                gamemodeInstance = BaseGamemode.GetDefaultGamemode();
            }

            Gamemode = gamemodeInstance;

            InitGamemodes(gamemodeInstance);
            LoadGamemodes();

            Game.DefaultConfig.ExecutePostLoad();

            return(result);
        }