server.cfg 生成器
填一个表单,得到一份干净、带注释的 server.cfg,直接丢进 FiveM 服务器就能用,包含 OneSync、endpoint、tags、locale、资源和 ACE 权限。
工具下面的说明目前是英文的。
服务器标识
人数、网络和游戏
密钥与品牌信息
安全
数据库
打开后会为 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
# 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
- Pick your framework. It fills a working
ensureorder and the matching permission lines. - Fill in the hostname, license key, slots and game build. Warnings on the right point out common mistakes.
- Add yourself as admin with your license or Discord identifier.
- Download
server.cfginto your server-data folder (next to theresourcesfolder).
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.cfgLoad 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 onis 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_enforceGameBuildmust 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.modCheck 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.cfgto a public repo: it holds your license key and database password. Move secrets to a separate file andexec secrets.cfg. - Special characters in the database password must be URL-encoded in
mysql_connection_string. The generator does that for you. setrconvars are replicated to clients,setsconvars are shown publicly in the server list, plainsetstays on the server.
