Очередной никому не нужный мост
Библиотека для Kotlin/Java с клиентом OpenComputers для интеграции в ваше приложение.
Мост нестандартный. Потому что может это всё:
Выполнение существующих функций на удаленном устройстве OpenComputers (без компиляции, быстрый способ)
Выполнение произвольного кода на удаленном устройстве OpenComputers (с компиляцией, медленный способ)
Можно комбинировать выполнение функций и кода в одном запросе, передавая в аргументы результаты предыдущих выполнений.
Получение ивентов с фильтром (например, по умолчанию игнорируются множество ивентов пользовательского ввода)
Возможность отправки любых сообщений через протокол из, например, event.listen (что крайне не рекомендуется, но возможность есть)
Соединение с клиентом будет разорвано автоматически максимум через 10 секунд, если компьютер перестал функционировать (например, выгрузился чанк или отключился сервер), а соединение не разорвалось.
И все это с условно-неограниченным количеством подключенных клиентов - лишь бы хватило ОЗУ, производительности ЦПУ и ОС хоста поддерживала что-то получше select (у него есть ограничение в 1024 сокета).
Так же поддерживается аутентификация, но не поддерживается шифрование. Оно было бы возможно (в простом варианте без кучи кода и криптографии), если бы мод поддерживал вебсокеты, но пока такая возможность отсутствует.
Основная цель - хранение кода подальше от опенкомпов, желательно у себя дома.
Так же вы всегда знаете, подключен ли компьютер или нет.
Минусы:
Требуется статический белый айпи (хотя для написания промежуточного сервера нужно переписать минимум кода благодаря использованию селекторов, я пока не стал этого делать)
Из-за того, что изначально OpenComputers не имеет кода для выполнения, немного снижена производительность.
Присутствует Javadoc.
Пример кода на стороне сервера (Kotlin)
Более полный пример (тоже котлин)
Репозиторий - в README есть описание работы, а в самом репозитории готовый клиент на moonscript.
Да-да, я знаю, что в Lua нет компиляции, но судя по скорости это именно она и происходит.