Иконка ресурса

FREE ServerRedirect : 1.0.1 1.0.1

Нет прав для скачивания
C#:
using System;
using System.Collections.Generic;
using System.Globalization;
using Oxide.Core;
using Oxide.Core.Libraries;
using Oxide.Core.Plugins;
using Oxide.Core.Libraries.Covalence;
using Rust;

//  ____  _       _ _       
// / ___|(_) __ _(_) | ___  
// \___ \| |/ _` | | |/ _ \ 
//  ___) | | (_| | | | (_) |
// |____/|_|\__, |_|_|\___/ 
//          |___/             
// ☽✧✵✧✵✧✵✧✵✧✵✧✵✧☾
// ✦    RUST PLUGINS   ✦
// ✦   Discord:sigil0  ✦
// ☽✧✵✧✵✧✵✧✵✧✵✧✵✧☾

namespace Oxide.Plugins
{
    [Info("ServerRedirect", "Sigilo", "1.0.1")]
    [Description("Redirects players to another server with a delay and message")]

    public class ServerRedirect : CovalencePlugin
    {
        private string targetServerIP;
        private int targetServerPort;
        private string redirectMessage;
        private int redirectDelay;
        private Dictionary<string, Timer> playerTimers = new Dictionary<string, Timer>();

        private void Init()
        {
            LoadConfig();
        }

        protected override void LoadDefaultConfig()
        {
            Config["TargetServerIP"] = "0.0.0.0";
            Config["TargetServerPort"] = 00000;
            Config["RedirectDelay"] = 10;
            Config["RedirectMessage"] = "This server has moved IP, you will be redirected in {0} seconds.";
        }

        protected new void LoadConfig()
        {
            try
            {
                targetServerIP = Config.Get<string>("TargetServerIP");
                targetServerPort = Config.Get<int>("TargetServerPort");
                redirectDelay = Config.Get<int>("RedirectDelay");
                string messageTemplate = Config.Get<string>("RedirectMessage");
                redirectMessage = string.Format(messageTemplate, redirectDelay);
            }
            catch (Exception ex)
            {
                PrintError($"Error loading config: {ex.Message}");
                throw;
            }

            SaveConfig();
        }

        protected new void SaveConfig()
        {
            Config["TargetServerIP"] = targetServerIP;
            Config["TargetServerPort"] = targetServerPort;
            Config["RedirectDelay"] = redirectDelay;
            Config["RedirectMessage"] = $"This server has moved IP, you will be redirected in {{0}} seconds.";
            Config.Save();
        }

        private void OnPlayerConnected(BasePlayer player)
        {
            player.ChatMessage(redirectMessage);
            timer.Once(redirectDelay, () => RedirectPlayer(player));
        }

        private void OnPlayerDisconnected(BasePlayer player)
        {
            
        }

        private void RedirectPlayer(BasePlayer player)
        {
            ConsoleNetwork.SendClientCommandImmediate(player.Connection, "nexus.redirect", new object[] { targetServerIP, targetServerPort, "" });
        }
    }
}

Автор
15FPS
Скачиваний
0
Просмотры
1
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок
Сверху