Skip to content

Installation

Install pixel-loadingscreen and, if you want it, wire up the Discord profile badge.

On this page6

Requirements

RequirementNotes
A FiveM serverAny framework, or none at all
Discord bot tokenOptional. Only powers the profile badge
1

Place the folder

Drag pixel-loadingscreen into your resources folder.

2

Add to server.cfg

cfg
ensure pixel-loadingscreen

Only one loading screen can be active at a time, so stop or remove any other one you have.

3

Enable the Discord profile (optional)

The badge in the top-left shows the connecting player's Discord name and avatar. Without a token it falls back to their FiveM name and the default Discord avatar.

  1. Create an application at https://discord.com/developers/applications.
  2. Open the Bot tab and add a bot.
  3. Reset and copy the bot token.
  4. Paste it into server/config.lua:
lua
Config.DiscordBotToken = "your-bot-token-here"

The bot does not need to be in your Discord server and needs no intents or permissions, the lookup is a plain GET /users/{id} REST call.

A player only has a discord: identifier when the Discord desktop app is running and FiveM has detected it. Players without it always get the fallback. That is expected, not a fault.

If something goes wrong

Console lineCause
This resource must be named 'pixel-loadingscreen'.The folder was renamed. Rename it back and restart
No Discord bot token set in server/config.luaConfig.DiscordBotToken is empty. Harmless if you never wanted the badge
Discord bot token is invalid or revoked (401)Wrong or reset token. Often a client secret pasted in place of the bot token
Rate limited by Discord (429)Too many lookups at once, typically a restart. That player gets the fallback
Discord lookup timed out after 5000msDiscord did not answer in time. A late answer is still cached, so the next connect resolves
… has no discord: identifierDebug line, not an error. That player has no Discord identifier to look up
config.json could not be parsedInvalid JSON, usually a trailing comma or a smart quote
Safety timeout reached (…ms)The session never reported ready, so the screen was torn down anyway. Something else in the join is stalling

Updating

config.json and server/config.lua are the only two files you own. Copy both out before dropping in a new version, then move your values back across.