Доброго времени суток.
Представьте, что вы молодой пацан и скачиваете себе LuaRak - библиотеку для Lua, позволяющую взаимодействовать с сетевым движком RakNet внутри ваших скриптов. Данная библиотека заточена первым делом под SAMP (DDOS, DOS, BotNet, мини-прикольчики), но это не мешает использовать ее для реализации собственных проектов, требующих сетевое взаимодействие (онлайн-игры, сетевая часть приложений и т.д.).
Исходный код: GitHub
Примеры использования: GitHub
Зависимости: LuaJIT, Windows.
Библиотека также без проблем работает внутри MoonLoader и RakSAMP Lite.
В связи с ограниченным временем, библиотека выходит только в Alpha-версии. Дальнейшее развитие зависит от вашего фидбека.
Исходный код: GitHub
Примеры использования: GitHub
Зависимости: LuaJIT, Windows.
Библиотека также без проблем работает внутри MoonLoader и RakSAMP Lite.
В связи с ограниченным временем, библиотека выходит только в Alpha-версии. Дальнейшее развитие зависит от вашего фидбека.
LuaRak - таблица, возвращаемая при вызове require для библиотеки в вашем скрипте.
Использование | Параметры | Описание |
---|---|---|
Lua:
| Принимает: IP и порт прокси-сервера; если | |
Lua:
| Принимает: имя персонажа, которое будет использовано при подключении к серверу Возвращает: экземпляр класса LuaClient | Создает объект класса LuaClient (обертка RakClient) |
Lua:
| Возвращает: экземпляр класса LuaServer | |
Lua:
| Принимает: 1 - ничего. 2 - экземпляр BitStream. 3 - указатель на данные; длина данных в байтах; будет ли создана копия данных Возвращает: экземпляр класса BitStream | Создает объект класса BitStream |
Класс для работы на стороне клиента. Именно с помощью него можно можно творить полную грязь на серверах.
Помимо тех функций, что указаны в таблице, также есть функции для работы с RPC, их задокументирую позже
Помимо тех функций, что указаны в таблице, также есть функции для работы с RPC, их задокументирую позже
Использование | Параметры | Описание |
---|---|---|
Lua:
| Принимает: строку с IP или доменом сервера; порт сервера; ссылка на объект LuaProxy. Возвращает: true - если подключение не вызвало ошибок, false - если возникли какие-либо ошибки | Подключает клиент к серверу |
Lua:
| Принимает: время ожидания перед отключением, если оно не указано, клиент отключается мгновенно | Отключает клиент от сервера |
Lua:
| Принимает: 1 - объект BitStream. 2 - указатель на данные; длину данных | Отправляет пакет на сервер |
Lua:
| Принимает: 1 - объект BitStream; 2 - указатель на данные; длину данных | Отправляет RPC на сервер |
Lua:
| | Обрабатывает данные сети (входящие пакеты и другие обработчики) |
Lua:
| Принимает: тип обработчика; ссылку на функцию-обработчик | Регистрирует новый обработчик на какое-либо событие |
Lua:
| Возвращает: объект RakClient | Получает объект RakClient, который использует обертка |
Lua:
| Возвращает: никнейм клиента | Получает строку с ником клиента |
Lua:
| Принимает: строку с версией SAMP | Устанавливает версию SAMP, которую бот будет использовать при подключении на сервер |
Lua:
| Возвращает: ID клиента на сервере | Получает ID, установленный сервером для клиента |
Использование | Параметры | Описание |
---|---|---|
Lua:
| Принимает: адрес прокси-сервера; порт прокси-сервера; пользователь (необязательно); пароль от прокси (необязательно) ; запуск передачи данных; | Подключается к proxy-серверу и установка обмена данными |
Lua:
| Возвращает: ссылку на оригинальный прокси-класс | Получает доступ к оригинальному прокси-классу, написанному на C++ |
Использование | Параметры | Описание |
---|---|---|
Lua:
| | Создает экземпляр класса BitStream |
Lua:
| | Сбрасывает указатель чтения и записи в начало битового потока |
Lua:
| | Сбрасывает указатель чтения в начало битового потока |
Lua:
| | Сбрасывает указатель записи в начало битового потока |
Lua:
|
Lua:
| Устанавливает указатель записи на указанное смещение |
Lua:
| | Возвращает текущее смещение указателя записи |
Lua:
|
Lua:
| Устанавливает указатель чтения на указанное смещение |
Lua:
| | Возвращает текущее смещение указателя чтения |
Lua:
| | Возвращает количество использованных битов |
Lua:
| | Возвращает количество использованных байтов |
Lua:
| | Возвращает количество непрочитанных битов |
Lua:
| | Возвращает количество непрочитанных байтов |
Lua:
|
Lua:
| Пропускает указанное количество битов |
Lua:
|
Lua:
| Пропускает указанное количество байтов |
Lua:
|
Lua:
| Записывает беззнаковое 8-битовое целое число |
Lua:
|
Lua:
| Записывает беззнаковое 16-битовое целое число |
Lua:
|
Lua:
| Записывает беззнаковое 32-битовое целое число |
Lua:
|
Lua:
| Записывает знаковое 8-битовое целое число |
Lua:
|
Lua:
| Записывает знаковое 16-битовое целое число |
Lua:
|
Lua:
| Записывает знаковое 32-битовое целое число |
Lua:
|
Lua:
| Записывает число с плавающей запятой |
Lua:
|
Lua:
| Записывает трехмерный вектор (table с тремя числами) |
Lua:
|
Lua:
| Записывает строку |
Lua:
| | Считывает беззнаковое 8-битовое целое число |
Lua:
| | Считывает беззнаковое 16-битовое целое число |
Lua:
| | Считывает беззнаковое 32-битовое целое число |
Lua:
| | Считывает знаковое 8-битовое целое число |
Lua:
| | Считывает знаковое 16-битовое целое число |
Lua:
| | Считывает знаковое 32-битовое целое число |
Lua:
| | Считывает число с плавающей запятой |
Lua:
| | Считывает строку указанного размера |
Lua:
| | Возвращает оригинальный класс BitStream |
Lua:
| | Возвращает указатель на данные битового потока |
Доработка серверной обертки, на данный момент работает некорректно
Фикс багов в обертке и самом RakNet (максимальное приближении к тому, что использует SAMP)
Добавить поддержку UNIX систем
Постепенный порт сетевого движка на Lua. На данный момент необходима обертка, написанная на C++ (
Фикс багов в обертке и самом RakNet (максимальное приближении к тому, что использует SAMP)
Добавить поддержку UNIX систем
Постепенный порт сетевого движка на Lua. На данный момент необходима обертка, написанная на C++ (
core.dll
)
Благодарность:
@AdCKuY_DpO4uLa - модификация RakNet
@#Northn помощь в некоторых аспектах, касаемо sol2
@lainban поставщик прокси
А также всем lua-seniors за поддержку
@AdCKuY_DpO4uLa - модификация RakNet
@#Northn помощь в некоторых аспектах, касаемо sol2
@lainban поставщик прокси
А также всем lua-seniors за поддержку
Вложения
Последнее редактирование: