This repository is the index for the list of "Popular Recipes" (aka server templates) shown in the txAdmin setup page, as well as the files for the "Basic Server" recipes.
Please check the Recipe Documentation Page if you want to know more.
- FiveM Basic Server
- RedM Basic Server
- ESX Legacy
- Qbox Framework
- QBCore Framework
- VORP Core
ZAP-Hosting ESX Pack(deprecated)PlumeESX Legacy(deprecated)
- Always start your recipe based on the CFX Default recipe. Copy the structure from server.cfg, resources folder, and recipe YAML;
- The recipe must "just work", without the user needing to edit anything before starting the server, like database credentials;
- Database stuff:
- Preferable use the
{{dbConnectionString}}placeholder inserver.cfginstead of writing to some database config file; - Put the database stuff at the start of the recipes, as that is the most likely task to fail;
- The recipe must accept the random database name generated by txAdmin instead of forcing a name like
es_extended. If needed, you can perform areplace_stringwith the{{dbName}}variable; - When exporting the database, make sure to not also export player data like admins, bans and etc;
- Preferable use the
- Your
server.cfgmust contain the following placeholders:{{maxClients}},{{addPrincipalsMaster}},{{serverEndpoints}}and{{svLicense}}; - Make sure your scripts/framework recognize users with the
adminACE group as script/framework admins. This can be done every time the player joins or even on his first join (esx-legacy example); - If your recipe requires
download_githubfrom an external third party repository, it is recommended that you set the reference parameter, preferably to a commit instead of a tag, since tags can change. This guarantees that no recipe-breaking change will be introduced by some random commit; - When downloading, extracting and moving Zip files, group the 3 actions so it is easier to find it after;
- Recipes must be onesync compatible, even if just
legacy; - Always set
$onesynctoonif your recipe supports it; - Considering that most people are not familiar with what your recipe is installing, guarantee a good onboarding experience with the following:
- The loading screen must clearly state what that framework is, and how to use it like keys to press and etc (plume example);
- On important files like
server.cfg, leave plenty of comments instructing the admin how to use or configure your framework;
- Execute a
waste_timewith 10 seconds every 25download_githubactions, or 50 if setting therefparameter. Too many GitHub requests in a short amount of time will result in a 403 error; - If your resources have some kind of inventory or any other NUI that activates on the press of
[TAB], it MUST use the IsNuiFocused() to prevent it stealing the focus from txAdmin menu when it is open (example commit). - Your framework must be fully compatible with txAdmin:
- Using menu features like noclip/godmode/teleport/etc should not trigger any negative side effects (like an "anticheat" ban);
- The txAdmin menu Heal command should also revive the player (eg from esx_ambulancejob);
- If you need any help or need any kind of integration, open an issue or contact the txAdmin Maintainer;
- Your recipe must not violate or facilitate violation of any license or copyright, so it should only contain resources that are open source (eg GPLv3/MIT/Apache) or sharable (eg Creative Commons). Please make sure it does not contain any leaked content. Although it is hard to find a scenario where a recipe could directly violate any license, this is a headache that we must try to avoid;
- When available, use
system_resourcesversions of resources from the now-arquivedcfx-server-data(eg the chat resource); - Set the game build to the same in the CFX Default recipes;
Do you have any questions? Things are looking too complicated? Join our Discord!
