Артефакты сервера FiveM
Какой билд FXServer ставить? Рекомендуемый артефакт, все билды с известными проблемами и прямые загрузки для Windows и Linux.
Данные об артефактах из открытого проектаFiveM Artifacts DB от JG Scripts. Список билдов из тегов citizenfx/fivem на GitHub.
Используй данные в своих инструментах
Без ключа, без регистрации, CORS включён. Базовый URL https://artifacts.jgscripts.com
Рекомендуемый артефакт, ссылки на загрузку для Windows и Linux и все известные сломанные артефакты.
{
"recommendedArtifact": "35945",
"windowsDownloadLink": "https://runtime.fivem.net/artifacts/fivem/build_server_windows/master/35945-…/server.zip",
"linuxDownloadLink": "https://runtime.fivem.net/artifacts/fivem/build_proot_linux/master/35945-…/fx.tar.xz",
"brokenArtifacts": [
{ "artifact": "12078-12083", "reason": "Some clients will fail to connect…" }
]
}Проверяет один номер артефакта. Возвращает OK или BROKEN с причиной.
{ "status": "BROKEN", "reason": "voip-server-mumble.dll server crash (citizenfx/fivem#3054)" }Пусть сервер проверяет себя сам
Drop this into any server script. On start it reads the running build from the version convar, asks the API about it and prints a warning in the console if the build has known issues.
Обновление артефактов
Останови сервер, замени содержимое папки с артефактами (не server-data) на новую загрузку и запусти его снова. Гайд по обновлению выше проведёт по шагам.
Нашёл плохой билд?
Сообщи о нём через форму репорта или открой issue на GitHub, чтобы предупредить всех владельцев серверов.
-- server.lua: warn in the console when this server runs a broken artifact.
CreateThread(function()
local build = GetConvar('version', ''):match('v1%.0%.0%.(%d+)')
if not build then return end
PerformHttpRequest('https://artifacts.jgscripts.com/check?artifact=' .. build, function(code, body)
if code ~= 200 or not body then return end
local data = json.decode(body)
if data and data.status == 'BROKEN' then
print(('^1[artifacts] Build %s has known issues: %s^0'):format(build, data.reason or 'unknown'))
print('^3[artifacts] Recommended build: https://fivemad.com/artifacts^0')
else
print(('^2[artifacts] Build %s has no reported issues.^0'):format(build))
end
end, 'GET')
end)