A lightweight FiveM resource for Stevo's Gem Era Roleplay that gives access to content creator morphs. Players who hold the matching Ace permission can apply a streamed ped model (morph) on themselves with a single command. This resource is fully self-contained, requiring no framework (QBCore, ESX, vRP) or NUI dependencies. Server-side Ace permission checks ensure security, while persistence features restore a player's morph across reconnects and server restarts.
- Copy the
gemera_ccmorphfolder into your server'sresourcesdirectory. - Add to
server.cfg:ensure gemera_ccmorph - Configure your content creator morphs in
config.lua(model names must be available/streamed on your server). - Grant Ace permissions to your content creators (see below).
- Restart the resource.
Edit config.lua. Each morph has a name, a model (the ped model string) and an ace (the permission required):
{
name = 'Content Creator 1',
model = 'cc_morph_1', -- your streamed ped model
ace = 'gemera.ccmorph.1',
},Add something like this to your server's server.cfg or an ACL.cfg:
# Give a specific Steam ID (or identifier) access to one morph
add_ace identifier.steam:1100001000000AB gemera.ccmorph.1 allow
# Or give access to ALL content creator morphs
add_ace identifier.steam:1100001000000AB gemera.ccmorph all allow
# Give a whole group access (recommended for staff/content team)
add_principal group.contentteam identifier.steam:1100001000000AB
add_ace group.contentteam gemera.ccmorph all allow
Replace the example Steam IDs with real ones. Never commit real identifiers to a public repository.
| Command | Description |
|---|---|
/ccmorph |
Open the chat menu |
/ccmorph <name/number> |
Apply a morph by name or number |
/ccmorph reset |
Reset back to the default ped |
/ccmorphs |
List morphs and show which ones you can use |
- Fully self-contained, no framework (QBCore / ESX / vRP) required
- Command + simple chat menu, no NUI dependency
- Server-side Ace permission checks for every morph
- Server-side model streaming (
RequestModel/SetPlayerModel) - Fuzzy name matching (
/ccmorph cc1matches "Content Creator 1") /ccmorphslists which morphs a player can actually use- Built-in reset back to the default ped
- Persistence — a player's morph is restored across reconnects and server restarts (stored in
data/morphs.jsonand re-applied on join, only if the player still holds the ace permission)
- FiveM server (FXServer)
- Streamed ped models (must be available in the game files)
- Ace permissions configured for content creators
- This resource only switches the player's ped model. The actual ped models (
.ytyp/.ydd) must be streamed onto your server separately. - Persistence: each player's applied morph is saved to this resource's
data/morphs.json(created automatically). On reconnect or after a server restart, the morph is automatically re-applied — but only if the player still holds the matching ace permission. Revoking permission also revokes the morph. Tune this in theConfig.Persistenceblock ofconfig.lua. - The
data/folder must be writable by the server process. It is generated on first run; you do not need to create it. SetPlayerModelis used server side so the morph is authoritative and cannot be spoofed by a client.
Provided by EnderDevelopment for use on Stevo's Gem Era Roleplay.
More FiveM resource projects by EnderDevelopment: https://github.com/EnderDevelopment