API пакета программ для сервера Crysis

Материал из CryWiki Russia

(Перенаправлено с API пакета программ для Crysis)
Перейти к: навигация, поиск
О статье
СложностьСредняя
СовместимостьЛюбая


Это справочный документ по API пакета программ для сервера Crysis. Для получения начальной информации, пожалуйста, прочитайте статью «Управление выделенным сервером Crysis»

Содержание

Класс CrysisServerSession

Это основной класс пакета программ.

Конструктор

public CrysisServerSession(string ip, int port, string password, bool cacheConnection)
ip
IP-адрес игрового сервера
port
Порт HTTP-сервера
password
Пароль HTTP-сервера
cacheConnection
Если эта опция включена, все последующие запросы следующие за первоначальным запросом будут использовать первоначальные соединения. Это может быть намного быстрее, так как нет повторного подключения или повторной аутентификации для каждой команды. Если свойства «ip», «port», «password», или «cacheConnection» изменятся, соединение восстановится.

Свойства

public string IP
IP-адрес игрового сервера
public int Port
Порт HTTP-сервера
public string Password
Пароль HTTP-сервера
public bool CacheConnection
Если эта опция включена, все последующие запросы следующие за первоначальным запросом будут использовать первоначальные соединения. Это может быть намного быстрее, так как нет повторного подключения или повторной аутентификации для каждой команды. Если свойства «ip», «port», «password», или «cacheConnection» изменятся, соединение восстановится.

Методы соединения

public void Reset()
Усиляет повторное подключение, если «CacheConnection» включен.
public void Close()
Закрывает соединение.
public bool TestConnection()
Метод который можно увидеть, если установленное соединение, отправит тестовую команду status.

Общие методы сервера

public string ExecuteCommand(string command)
public Result ExecuteCommandAsync(string command)
Выполните команду обозначенную параметром «command».
public string GetCurrentMap()
public void SetCurrentMap(string value)
public Result GetCurrentMapAsync()
public Result SetCurrentMapAsync(string value)
Получает и задаёт текущую карту.
public double GetFriendlyFireRatio()
public void SetFriendlyFireRatio(double value)
public Result GetFriendlyFireRatioAsync()
public Result SetFriendlyFireRatioAsync(double value)
Задаёт/получает сотношения урону своим [0-1]. 0 отключает огонь по своим.
public string GetServerName()
public void SetServerName(string value)
public Result GetServerNameAsync()
public Result SetServerNameAsync(string value)
Задаёт/получает название сервера.
public int GetTeamBalanceValue()
public void SetTeamBalanceValue(int value)
public Result GetTeamBalanceValueAsync()
public Result SetTeamBalanceValueAsync(int value)
Число игроков одной команды при котором, не будет допущено присоединения к этой команде, большего числа игроков. Изменяет/получает «g_teamlock»
public bool GetTKPunish()
public void SetTKPunish(bool value)
public Result GetTKPunishAsync()
public Result SetTKPunishAsync(bool value)
Позволяет наказать за убийство своих.
public int GetTKPunishLimit()
public void SetTKPunishLimit(int value)
public Result SetTKPunishLimitAsync(int value)
public Result GetTKPunishLimitAsync()
Число убийств своих, при котором пользователя будет забанен.

Метод получения игрока

public List<Player> GetPlayers()
public Result GetPlayersAsync()
Получает список игроков сервера, с помощью «status». Возвращает список игроков.

Пример

Следующий код получает список всех игроков и печатает имя каждого игрока.

List<Player> players = css.GetPlayers();  // css — сессия сервера Сrysis
foreach(Player p in players)
{
     Console.WriteLine("Player name:" + p.Name);
}

См. «Класс Player» для получения дополнительнлй информация.

Кик

public void Kick(Player p)
public Result KickAsync(Player p)

Кикает игрока, используя его ID.

Пример

Следующий код кикает любого, чей пинг выше 200.

List<Player> players = css.GetPlayers(); // css — сконфигурированная сессия сервера Сrysis
foreach(Player p in players)
{
     if(p.Ping > 200)
     {
           css.Ban(p);
     }
}

Бан

public void Ban (Player player)
public Result Ban (Player player)

Банит игрока, используя его профиль.

Пример

Следующий код банит любого, в чьём имени присутствует «banme».

List<Player> players = css.GetPlayers(); // css — сконфигурированная сессия сервера Сrysis
foreach(Player p in players)
{
     if(p.Name.Contains("banme"))
     {
           css.Ban(p);
     }
}