跳到主内容

FiveM 服务器 Artifacts

该跑哪个 FXServer 版本?这里有推荐的 artifact、所有已知有问题的版本,以及 Windows 和 Linux 的直接下载。

Recommended artifact

How the recommendation works

A new artifact is not recommended straight away. It waits a short period so server owners have time to report problems. The recommended artifact is the newest one that has cleared that window with no reported issues.

No reported issues

Artifact 数据来自开源项目FiveM Artifacts DB 由 JG Scripts 维护。版本列表来自 citizenfx/fivem 的 GitHub tags。

免费 JSON API

在你自己的工具里用这些数据

不要密钥,不用注册,已开启 CORS。基础 URL https://artifacts.jgscripts.com

推荐的 artifact、Windows 和 Linux 下载链接,以及所有已知损坏的 artifact。

{
  "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…" }
  ]
}

检查单个 artifact 编号。返回 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.

更新 artifacts

停掉服务器,用新下载的内容替换 artifacts 文件夹里的东西(不是 server-data),然后重新启动。上面的更新指南有一步步的说明。

发现有问题的版本?

请通过 反馈表单 提交,或者在 GitHub 上开一个 issue,让所有服主都知道。

server/artifact_check.lua
-- 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)