Код:
	using System;
using System.Data;
namespace INTERFACE
{
    /// <summary>
    /// Делегат для обработки события получения строки из консоли сервера.
    /// </summary>
    /// <param name="Cstring">Строка из консоли</param>
    public delegate void ConsoleStringDelegate(string Cstring);
    /// <summary>
    /// Делегат для обработки события записи в лог-файл сервера
    /// </summary>
    /// <param name="LogString">Строка лога</param>
    public delegate void LogStringDelegate(string LogString);
    /// <summary>
    /// Делегат для событий, передающих строку пилота из таблицы статистики
    /// </summary>
    /// <param name="Pilot">Копия строки из таблицы статистики</param>
    public delegate void UserRowDelegate(DataRow Pilot);
    /// <summary>
    /// Делегат для событий сервера, передающих таблицу статистики всех пилотов на сервере
    /// </summary>
    /// <param name="Pilots">Таблица статистики</param>
    public delegate void PilotTableDelegate(DataTable Pilots);
    /// <summary>
    /// Перечисление, задающее список столбцов в таблице статистики пилотов
    /// </summary>
    public enum pilotsColumn
    {
        /// <summary>
        /// Номер на сервере
        /// </summary>
        N,
        /// <summary>
        /// Ник
        /// </summary>
        Nick,
        /// <summary>
        /// Сторона
        /// </summary>
        Army,
        /// <summary>
        /// Марка самолёта
        /// </summary>
        PlaneName,
        /// <summary>
        /// Место в самолёте
        /// </summary>
        Place,
        /// <summary>
        /// Вооружение
        /// </summary>
        Weapon,
        /// <summary>
        /// Загрузка топливом
        /// </summary>
        Fuel,
        /// <summary>
        /// Номер самолёта
        /// </summary>
        Plane,
        /// <summary>
        /// История состояний самолёта и пилота
        /// </summary>
        PilotState,
        /// <summary>
        /// Счёт по правилам сервера
        /// </summary>
        Score,
        /// <summary>
        /// Номер канала на сервере
        /// </summary>
        Channel,
        /// <summary>
        /// IP-адрес игрока
        /// </summary>
        IP,
        /// <summary>
        /// Пинг
        /// </summary>
        Ping,
        /// <summary>
        /// Скорость подключения
        /// </summary>
        Speed,
        /// <summary>
        /// Количество сбитых самолётов противника
        /// </summary>
        EAir,
        /// <summary>
        /// Количество уничтоженных статических самолётов противника 
        /// </summary>
        ESAir,
        /// <summary>
        /// Уничтожено танков противника
        /// </summary>
        ETank,
        /// <summary>
        /// Уничтожено автомобилей противника
        /// </summary>
        ECar,
        /// <summary>
        /// Уничтожено орудий противника
        /// </summary>
        EArt,
        /// <summary>
        /// Уничтожено зениток противника
        /// </summary>
        EAAA,
        /// <summary>
        /// Уничтожено вагонов противника
        /// </summary>
        EWag,
        /// <summary>
        /// Уничтожено кораблей противника
        /// </summary>
        EShip,
        /// <summary>
        /// Уничтожено дружественных самолётов
        /// </summary>
        FAir,
        /// <summary>
        /// Уничтожено дружественных статических самолётов 
        /// </summary>
        FSAir,
        /// <summary>
        /// Уничтожено дружественных танков
        /// </summary>
        FTank,
        /// <summary>
        /// Уничтожено дружественных автомобилей
        /// </summary>
        FCar,
        /// <summary>
        /// Уничтожено дружественных орудий
        /// </summary>
        FArt,
        /// <summary>
        /// Уничтожено дружественных зениток
        /// </summary>
        FAAA,
        /// <summary>
        /// Уничтожено дружественных вагонов
        /// </summary>
        FWag,
        /// <summary>
        /// Уничтожено дружественных кораблей
        /// </summary>
        FShip,
        /// <summary>
        /// Выстреленно снарядов
        /// </summary>
        FireBull,
        /// <summary>
        /// Всего попаданий
        /// </summary>
        HitBull,
        /// <summary>
        /// Попаданий в воздушные цели
        /// </summary>
        HitAirBull,
        /// <summary>
        /// Выстреленно ракет
        /// </summary>
        FireRock,
        /// <summary>
        /// Попаданий ракетами
        /// </summary>
        HitRock,
        /// <summary>
        /// Сброшено бомб
        /// </summary>
        FireBombs,
        /// <summary>
        /// Попаданий бомбами
        /// </summary>
        HitBombs,
        /// <summary>
        /// Координаты начала вылета
        /// </summary>
        StartCoord,
        /// <summary>
        /// Координаты конца вылета
        /// </summary>
        EndCoord
    }
    /// <summary>
    /// Перечисление, задающее список событий с пилотом(игроком), записываемых в виде символа в строку "PilotState"
    /// </summary>
    public enum PilotEvent
    {
        /// <summary>
        /// Подключился
        /// </summary>
        Connected='N',
        /// <summary>
        /// В брифинге
        /// </summary>
        InMenu='M',
        /// <summary>
        /// Ранен
        /// </summary>
        Wounded = 'W',
        /// <summary>
        /// Тяжело ранен
        /// </summary>
        Hwouded = 'H',
        /// <summary>
        /// Убит
        /// </summary>
        Killed = 'K',
        /// <summary>
        /// Выпрыгнул с парашютом
        /// </summary>
        Bailedout = 'B',
        /// <summary>
        /// Захвачен в плен
        /// </summary>
        Captured = 'C',
        /// <summary>
        /// Приземлился (на самолёте)
        /// </summary>
        Landed='L',
        /// <summary>
        /// Удачно приземлился (на парашюте)
        /// </summary>
        SuccessfullyBailed='S',
        /// <summary>
        /// Парашют сбит
        /// </summary>
        HasChuteDestroyed='D'
    }
    /// <summary>
    /// Перечисление, задающее список событий с самолётом, записываемых в виде символа в строку "PilotState"
    /// </summary>
    public enum PlaneEvent
    {
        /// <summary>
        /// Занят игроком
        /// </summary>
        Occupied='o',
        /// <summary>
        /// Взлетел
        /// </summary>
        TakeOff = 'f',
        /// <summary>
        /// Приземлился
        /// </summary>
        Landed = 'l',
        /// <summary>
        /// Разбит
        /// </summary>
        Crashed = 'c',
        /// <summary>
        /// Повреждён
        /// </summary>
        Damaged = 'd',
        /// <summary>
        /// Повреждён на земле
        /// </summary>
        DamagedOnGround = 'g',
        /// <summary>
        /// Сбит
        /// </summary>
        ShotDown='s'
    }
    
/// <summary>
/// Интерфейс, реализуемый объектом "IL2SERVER.Server"
/// </summary>
    public interface Imain
    {
        /// <summary>
        /// Событие получения новой строки консоли
        /// </summary>
        event ConsoleStringDelegate ConsoleString;
        /// <summary>
        /// Событие записи новой строки в файл лога сервера
        /// </summary>
        event LogStringDelegate LogString;
        /// <summary>
        /// Событие остановки сервера
        /// </summary>
        event EventHandler ServerDown;
        /// <summary>
        /// Событие, вызываемое при удачном подключении к серверу нового пользователя
        /// </summary>
        event UserRowDelegate UserConnected;
        /// <summary>
        /// Событие, вызываемое при дисконнекте пользователя
        /// </summary>
        event UserRowDelegate UserDisconnected;
        /// <summary>
        /// Событие выхода пользователя в бриффинг
        /// </summary>
        event UserRowDelegate UserExitInMenu;
        /// <summary>
        /// Событие, вызываемое при окончании миссии.
        /// </summary>
        event PilotTableDelegate MissionEnd;
        /// <summary>
        /// Таблица статистики игроков на сервере
        /// </summary>
        DataTable pilots { get; }
        /// <summary>
        /// Путь к исполняемому файлу сервера
        /// </summary>
        string ServerPath { get; }
        /// <summary>
        /// Собирать ли автоматически статистику всех пилотов на сервере (команды user и user STAT)
        /// </summary>
        bool UserStatEnabled { get; set; }
        /// <summary>
        /// Собирать ли автоматически статистику всех активных каналов (команда channel)
        /// </summary>
        bool ChannelStatEnabled { get; set; }
        /// <summary>
        /// Файл текущей миссии (как указывается в команде mission)
        /// </summary>
        string CurrentMission { get; set; }
        /// <summary>
        /// Метод отправки консольной команды серверу
        /// </summary>
        /// <param name="Command">Команда</param>
        void send(string Command);
    }
    /// <summary>
    /// Интерфейс, который обязан реализовать плагин для подключения
    /// </summary>
    public interface ISCPlugin
    {
        /// <summary>
        /// Свойство "Имя плагина" может быть любым, не совпадающим с именами остальных плагинов
        /// </summary>
        string Name { get; }
        /// <summary>
        /// Метод, вызываемый сразу после подключения плагина
        /// Необходимо использовать для инициализации всех переменных плагина,
        /// зависимых от ссылки на объект Server
        /// </summary>
        /// <param name="server">Объект IL2SERVER.Server, используемый для получения
        /// событий и отправки команд серверу</param>
        void LOAD(Imain server);
    }
}