跳到主内容

server.cfg 生成器

填一个表单,得到一份干净、带注释的 server.cfg,直接丢进 FiveM 服务器就能用,包含 OneSync、endpoint、tags、locale、资源和 ACE 权限。

工具下面的说明目前是英文的。

配置与代码配置, 下载查看文档
框架

服务器标识

人数、网络和游戏

OneSync

密钥与品牌信息

额外的 sets 变量

安全

数据库

打开后会为 oxmysql 加上 mysql_connection_string。

语音(pma-voice)

打开后会加上 pma-voice 的 convar,并确保它已启动。

资源

权限(ACE)

管理员

在 txAdmin 里找标识符(Players,然后点一个玩家),或者用 GetPlayerIdentifiers(source). 只粘贴值就行, license: 前缀可以省略。

自定义规则

add_principal child parent 会让子级继承父级拥有的一切。

请设置 sv_licenseKey。到 portal.cfx.re 申请密钥。

没有设置管理员标识符。你将不会有管理员权限。

server.cfg
# ==========================================================
#  server.cfg
#  Generated with fivemad.com/tools/server-cfg-generator
#  Docs: https://docs.fivem.net/docs/server-manual/setting-up-a-server/
# ==========================================================
#
#  txAdmin: start the server from txAdmin, not with +exec.
#  txAdmin reads the port from the endpoint lines below, so keep them.
#  Restarts, schedules and bans are handled in the txAdmin panel.

## Networking
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"

## Server identity
sv_hostname "^5My Server ^7| Serious RP | Discord: example"
sets sv_projectName "My Server"
sets sv_projectDesc "Serious roleplay with custom jobs and an active staff team"
sets locale "en-US"
sets tags "default"

## Slots and game
sv_maxclients 48
set onesync on
set sv_enforceGameBuild 3258      # Bottom Dollar Bounties

## Security
sv_scriptHookAllowed 0
sv_pureLevel 1                 # blocks modified game files, allows audio and graphics mods
sv_endpointprivacy true

## Keys
set steam_webApiKey "none"   # https://steamcommunity.com/dev/apikey
sv_licenseKey "changeme"   # https://portal.cfx.re

## Resources (load order matters)
# Default cfx resources
ensure mapmanager
ensure chat
ensure spawnmanager
ensure sessionmanager
ensure basic-gamemode
ensure hardcap
ensure baseevents

## Permissions
add_ace group.admin command allow            # all commands
add_ace group.admin command.quit deny        # but not quit
# add_principal identifier.license:xxxxxxxx group.admin   # add yourself here

How to use it

  1. Pick your framework. It fills a working ensure order and the matching permission lines.
  2. Fill in the hostname, license key, slots and game build. Warnings on the right point out common mistakes.
  3. Add yourself as admin with your license or Discord identifier.
  4. Download server.cfg into your server-data folder (next to the resources folder).

Everything stays in your browser, including the license key and database password. The form is saved locally so you can come back to it.

Starting the server

With txAdmin, point the deployer or Settings, then FXServer, at this file. Without txAdmin, start FXServer from the server-data folder:

# Windows
C:\FXServer\server\FXServer.exe +exec server.cfg

# Linux
bash ~/FXServer/server/run.sh +exec server.cfg

Load order

Resources start in the order they are listed. Libraries such as oxmysql and ox_lib must come before the framework core, and the core (qb-core, qbx_core, es_extended) before any script that uses it. ensure [folder] starts everything inside a bracketed folder and you do not control the order inside it, so ensure dependencies explicitly before the folder.

OneSync and slots

  • set onesync on is what almost every modern resource expects. Without OneSync the cap is 32 players.
  • Up to 48 slots works with any key. Going higher needs an Element Club subscription on the Cfx.re account that owns the key.
  • sv_enforceGameBuild must be set before players join. Changing it makes clients download the matching game build on their next connect.

ACE permissions in short

# give a group a permission
add_ace group.admin command allow
# put a player (or group) inside a group
add_principal identifier.license:abc123 group.admin
# let one group inherit another
add_principal group.admin group.mod

Check a permission in Lua with IsPlayerAceAllowed(source, 'command.kick'). After editing ACE lines you can apply them live by pasting them into the server console.

Gotchas

  • Do not commit server.cfg to a public repo: it holds your license key and database password. Move secrets to a separate file and exec secrets.cfg.
  • Special characters in the database password must be URL-encoded in mysql_connection_string. The generator does that for you.
  • setr convars are replicated to clients, sets convars are shown publicly in the server list, plain set stays on the server.