본문으로 건너뛰기

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 태그에서 가져옵니다.

무료 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.

artifact 업데이트하기

서버를 멈추고, artifacts 폴더의 내용을 (server-data가 아닙니다) 새로 받은 파일로 교체한 다음 다시 시작하세요. 위의 업데이트 가이드에 단계별로 정리되어 있습니다.

문제가 있는 빌드를 찾으셨나요?

제보해 주세요: 제보 양식 또는 GitHub에 이슈를 열면 모든 서버 운영자가 미리 알 수 있습니다.

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)