Данный модуль позволяет серверам под контролем прокси сервера обмениваться информацией через сокеты.
Для работы модуля необходимо установить Skcrew на прокси сервер (
Velocity или
Bungeecord ). В файле конфигурации на прокси сервере указать порт для открытия сокет сервера, на игровом сервере указать адрес прокси сервера и порт открытого сокет сервера.
Возвращает сервер по названию, под которым он записан в конфигурации прокси сервера. Если данный сервер не числится в конфигурации прокси сервера - будет возвращено <none>
server%string%
Получить название сервера
server[]nameof%server%
%server%'sserver[]name
Получить список серверов
Выражение ниже возвращает список всех серверов описанных в конфигурации прокси сервера.
[all]servers
Получить только те сервера, которые включены. Чтобы сервер был определен как включенный - он должен быть подключен к сокет серверу.
[all]onlineservers
Получить игроков с сервера
Возвращает список игроков в виде сетевых игроков.
players(from|of|on)%servers%
%servers%'splayers
Получить игрока на прокси сервере
Принимает ник игрока или его UUID , возвращает сетевого игрока, или <none>, если игрока нет онлайн
network[]player%string%
Серверный игрок автоматически конвертируется в OfflinePlayer, если используется в каких-либо выражениях при необходимости
Получить сервер игрока
serverof%networkplayer%
%networkplayer%'sserver
CONDITIONS
Проверить, что сервер онлайн
%servers%is(online|connected)
%servers%is(n't|not)(online|connected)
Проверить, что игрок онлайн
Позволяет сменить сервер игрока, если он находится на сервере, который подключен к прокси серверу
Позволяет указать причину. Причина может быть простым текстом, или компонентом AdventureAPI (
Velocity ) или ChatComponentAPI (
Bungeecord ) в формате JSON.
Событие имеет встроенные данные, при помощи event-server можно получить сервер игрока, а при помощи event-player можно получить игрока в виде OfflinePlayer
Игрок отключился от игрового сервера
Вызывается после того, как игрок отключается от игрового сервера, который подключен к прокси.
Событие имеет встроенные данные, при помощи event-server можно получить сервер игрока, с которого он вышел, а при помощи event-player можно получить игрока в виде OfflinePlayer
SIGNALS
Сигналы позволяют передавать необходимую вам информацию между серверами.
Создать сигнал
Сигнал имеет вид ключ : значения, позволяет передать любые данные, которые могут быть сериализованны.
set{_signal}tosignalnamed"broadcast"withdata"Hello world!","My name is Bjork."
Получить ключ сигнала.
(key|signalname)of%signal%
%signal%'s(signalname|key)
Получить данные сигнала
Возвращает список объектов
dataof%signal%
%signal%'sdata
Отправить сигнал
Позволяет отправить сигнал на какой-либо подключенный сервер
sendsignal%signals%to%servers%
set{_signal}tosignalnamed"broadcast"withdata"Hello world!","My name is Bjork."sendsignal{_signal}toallservers
Событие получения сигнала
Позволяет так же отслеживать сигналы по ключу.
signal[(withkey|keyed)%string%]
Событие имеет встроенные данные, при помощи event-signal можно получить пришедший сигнал.
onload:set{_signal}tosignalnamed"broadcast"withdata"Hello world!","My name is Bjork."sendsignal{_signal}toallserversonsignalwithkey"broadcast":senddataofevent-signaltoallplayers,console
WEB API
API позволяет получить информацию с серверов, а так же отправить сигналы из вне. Убедитесь, что web-сервер включен в настройках Skcrew вашего прокси сервера.
Тут вы так же можете конфигурировать порт web-сервера и данные для авторизации, чтобы получить доступ к API. Авторизация происходит путем передачи логина и пароля в base64 в заголовке запроса:
Позволяет кикнуть игрока с прокси сервера, по его нику или UUID. При использовании POST запроса можно указать причину кика. Причина может быть указана как обычным текстом, так и компонентом AdventureAPI (
Velocity ) или ChatComponentAPI (
Bungeecord ) в формате JSON.
curl localhost:1338/players/Lotzy/kick -X POST -H "Authorization: Basic YWRtaW46YWRtaW4=" -H "Content-Type: application/json" -d '"GO OUT FROM SERVER"'
{"data":"Player Lotzy kicked"}
GET/players/{UUID/NICKNAME}/connect/{SERVER}
Позволяет переместить игрока на другой сервер, по его нику или UUID.