Общие конфиги и Lua для spype
Загружай свои конфиги и скрипты в облако прямо из меню игры, делись ими с друзьями и читай полный справочник Lua API. Без аккаунтов: профиль защищается ключом, который генерирует сам клиент.
Работает и из игры, и из браузера. Игра общается с тем же API, что и сайт.
-- загрузить конфиг в облако из Lua-скрипта
sync.publish_config('my_aim', function(ok, id_or_err)
print('[cloud]', ok, id_or_err)
end)
-- или любой Lua-файл
local src = utils.FileRead('my_script.lua')
sync.publish('lua', 'my_script', 'описание', src, function(ok, id)
print('[cloud]', ok, id)
end)
-- забрать чужой конфиг
sync.list('config', function(items)
for _, item in ipairs(items or {}) do
print(item.id, item.name)
end
end)
Что умеет
Всё работает через один API — сайт, игровой клиент и сторонние скрипты используют его одинаково.
☁Облако из меню
Вкладка Scripts → Cloud в меню игры: отправить текущий конфиг или открытый Lua-скрипт, скачать чужое в один клик.
✓Бейджи игроков
Клиент стучится на сервер раз в 20 секунд и рисует метку над игроками, которые тоже запустили spype.
⌘Lua API
Полный справочник по game, draw, rage, events, ui и остальным таблицам — с поиском и копированием кода.
⇄Синхронизация
Профиль, онлайн-статус и библиотека обновляются автоматически. Несколько адресов сервера — если один недоступен, клиент идёт к следующему.
⚡Без регистрации
Никаких аккаунтов и паролей. Клиент генерирует ключ профиля, сервер хранит только его хеш.
↯Один API
/api/heartbeat, /api/library, /api/profiles, /api/stats, /api/docs/lua — открытые для сторонних скриптов.
Как начать
Три шага — и облако доступно из игры.
Адрес сервера
Клиент хранит адрес в файле scripts/spype_sync_endpoint.txt. Можно задать вручную или через Lua:
sync.set_endpoint('https://spype.pages.dev')
print(sync.endpoint())
Если адрес не отвечает, клиент автоматически перебирает запасные.
API для своих скриптов
Минимальный пример — отправка и чтение библиотеки.
{
"xuid": "76561198000000000",
"key": "your-profile-key",
"kind": "lua",
"name": "my_script",
"description": "что делает скрипт",
"content": "print('hello')"
}
{
"ok": true,
"items": [
{
"id": "0f9a12c3d4e5f607",
"kind": "lua",
"name": "my_script",
"description": "что делает скрипт",
"xuid": "76561198000000000",
"downloads": 12,
"updated_at": 1764000000000
}
]
}