Установка, обновление, удаление и публикация Lua-пакетов для компьютеров
CC:Tweaked прямо из игры. Все версии пакетов хранятся на этом сервере в
виде сжатых .hpk-архивов.
Возможности: версии и диапазоны, автообновление при импорте, зависимости, публикация из игры, поиск по реестру, аккаунты со своими токенами.
На компьютере CC:Tweaked выполните:
wget run http://АДРЕС:8080/client/installer.lua http://АДРЕС:8080
Если HTTP запрещён — разрешите домен в computercraft-server.toml
(секция [http], параметр rules).
holi install <пакет>[@в] — установить / обновитьholi update [пакет] — обновить пакет или всеholi remove <пакет> — удалитьholi list / outdated — список / есть ли обновленияholi search <запрос> — поиск в реестреholi info <пакет> / versions — информация / версииholi init . mypkg — создать holi.jsonholi publish . [@в] — опубликовать пакетholi unpublish <пакет> [@в] — удалить версию или пакетholi config set token <токен> — задать токен
Версию указывают после @: holi install mypkg@1.2.3.
Без версии ставится самая свежая. Точная версия закрепляет пакет (без
автообновления), диапазон — обновляется внутри границ.
| Указание | Подходят версии |
|---|---|
1.2.3 | только 1.2.3 |
latest | любая, самая новая |
1.x / 1.2.x | мажор 1 / мажор 1 + минор 2 |
>=1.0 / <2.0 | не ниже 1.0 / строго ниже 2.0 |
~1.2 / ~1.2.3 | только патчи минора 1.2 |
^1.2.3 | миноры и патчи 1.x (от 1.2.3) |
holi init . mypkg и отредактируйте holi.json (name, version, description, main, deps)holi config set token <токен из профиля>holi publish . — новая версия: holi publish . @1.0.1
Зависимости перечисляются в deps в holi.json и
подтягиваются автоматически и рекурсивно. Пакеты видны в реестре, ваши — в профиле.
local holi = dofile("/holi_api.lua")
local mylib = holi.import("mylib") -- автообновление при импорте
Или через require:
local holi = dofile("/holi_api.lua")
holi.installRequireHook()
local mylib = require("mylib") -- автоустановка + автообновление
| Метод | Путь | Описание |
|---|---|---|
| GET | /api/ping | статус сервера |
| GET | /api/packages | список всех пакетов |
| GET | /api/packages/<имя> | информация + версии |
| GET | /api/packages/<имя>/<вер> | скачать архив |
| POST | /api/packages/<имя>/<вер> | загрузить версию (токен) |
| POST | /api/packages/<имя>/<вер>/delete | удалить версию (токен) |
| POST | /api/packages/<имя>/delete | удалить пакет (токен) |
| GET | /api/search?q=… | поиск |
| POST | /api/accounts/register | регистрация аккаунта |
| POST | /api/accounts/login | вход, возвращает токен |
| GET | /api/me | свой профиль и пакеты (токен) |
| GET | /api/users/<имя> | публичный профиль пользователя |
| GET | /client/*.lua | файлы клиента для установки |
Авторизация: Authorization: Bearer <токен>. Токен даёт
права только на свои пакеты.