Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchInstall a FiveM loading screen as a resource: create a folder containing fxmanifest.lua and an html entry page, declare that page with loadscreen, list every asset in files, then add ensure my_loadscreen to server.cfg. Restart the server and join to verify it. Manual shutdown is optional; use it only when your client code can close the screen after the player has spawned.
For a hosted FiveM server, Godlike.Host FiveM server hosting provides a Pterodactyl-based game panel, free DDoS protection and SFTP/FTP access. It is not on Cfx.re’s list of authorized FiveM hosts (fivem.net, 10 Oct 2026).
As an Amazon Associate I earn from qualifying purchases.
What a FiveM loading screen actually is
A FiveM loading screen is not a setting in the server dashboard. It is a normal resource that contains a web page. FiveM opens that page while a client is loading server and game data, so the screen can contain HTML, CSS, JavaScript and images.
The minimum working resource has three parts:
- An entry page: usually
html/index.html. - A manifest:
fxmanifest.lua, which tells FiveM which game, page and files the resource uses. - A server configuration entry: an
ensureline that starts the resource.
The browser can load only files declared in the manifest. If an image, stylesheet, script or font is omitted from files, the page may appear partially blank even though the path in your HTML looks correct.
#1 Best Overall
- [Ultra-Lightweight Ear Buds Designed for Small Ears] Each earbud weighs only 3.7g and features a compact, ergonomic in-ear design made especially for small ears. Secure, low-profile, and comfortable for workouts, all-day wear or overnight sleeping.The ultra-slim profile sits flush in your ear with no hard edges poking or rubbing, so you can even sleep on your side without discomfort.
- [Immersive Stereo Sound with TOZO OrigX Technology] TOZO OrigX tuning delivers clear vocals, balanced mids, and natural stereo sound for music, podcasts, and videos.
- [Long Battery Life for Daily Use] Get up to 7 hours of playtime on a single charge, with up to 32 hours total using the charging case—ideal for workdays, commuting, and extended listening sessions.
- [Bluetooth 5.3 & Stable Connection] Bluetooth 5.3 provides fast pairing, stable wireless performance, and reduced dropouts as you move around home or office.
- [Deep Bass with Clear Vocals] High-performance drivers produce punchy bass while keeping vocals clean and detailed for everyday listening.
Before you begin
- Access to the FiveM server’s resource directory.
- Access to the server’s
server.cfg. - A text editor capable of saving Lua, HTML, CSS and JavaScript files as plain text.
- A way to restart the server and join it with a FiveM client.
- A unique resource name. The examples below use
my_loadscreen; replace it consistently if you choose another name.
Keep the resource name simple: lowercase letters, numbers and underscores are least likely to cause mistakes in configuration lines and paths. Do not put the resource inside another resource’s directory.
Step 1: Create the resource directory
In your server’s resources directory, create a category folder if you use one, then create the resource itself. A valid layout is:
resources/
└── [local]/
└── my_loadscreen/
├── fxmanifest.lua
└── html/
├── index.html
├── style.css
├── app.js
└── images/
└── logo.png
The square-bracket folder, such as [local], is only a grouping convention. FiveM still starts the resource by its actual name, my_loadscreen.
At minimum, create fxmanifest.lua and html/index.html. Add CSS, JavaScript and images only as needed, but remember that every one of those files must be declared in the manifest.
Step 2: Build the loading page
A minimal HTML entry file
Save this as html/index.html. The page is deliberately self-contained except for the stylesheet and script, making it easy to test before adding artwork or server-specific features.
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Loading</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
<main class="loading">
<img class="logo" src="images/logo.png" alt="Server logo">
<h1>Loading the server</h1>
<p>Please wait while game data is prepared.</p>
<div class="bar" aria-hidden="true"><span></span></div>
</main>
<script src="app.js"></script>
</body>
</html>
Use forward slashes in web paths, including on a Windows-hosted server. The path in src="images/logo.png" must match the actual directory and filename, including capitalization.
Rank #2
- 【IP68 Waterproof Multifunctinal Smart Watch】Torjalph fitness activity tracker smart watch is IP68 waterproof technology ,you can wear it when swimming,handwashing,it's rain-proof which means that you perform multiple exercise modes outside without worrying about sweat or rain corroding your fitness smart watch,and this watch equipped with a 230 mAh large capacity battery magnetic charging ,and this sports activity tracker watch can be used 5-7 days If fully charged.
- 【Larger 1.83'' Full Screen Watch & Multi-dial Selection】1.83 inch full HD color touch screen smart watch for men / women provides excellent 240*284 resolution image quality ,This Bluetooth smart watch offers a better touch experience and remarkable immersion and ,more than 200 watch faces for you to choose from App"Da Fit ", you can change the dial style according to your mood to wear keeping the world on your wrist
- 【Accurate Activity Tracker Smart Watch 】sports watch activity tracker uses sweat and dust resistant breathable silicone strap, our Fitness Tracker Smart Watch for Android iOS Phones supports 12 sports modes,walking,running,bicycle,swimming,badminton,basketball,football,rope skipping. This bluetooth calls smart watch for men women is lightweight and stylish, bringing more convenient and relaxing sports experience while also providing more protection.
- 【Your 24 Hour Personal Daily Health Monitor】Fitness watch for women men full touch screen IP67 waterproof bluetooth smartwatch for Android iOS Phones with heart rate blood pressure monitor multifunction Andriod smart watch with steps counter sleep monitor sports fitness watch, monitoring blood oxygen saturation allows you to understand your physical condition in real time to track fitness progress ,to know your health status in time.
- 【More Functions Bluetooth Call Smart Watch】This fitness activity smart watch full screen for iPhone and Android phones includes a bunch of new features including:The bluetooth smart watch can hang up the phone, receive and display WhatsAPP /Text /Facebook /Twitter /Messenger reminder.Support sedentary reminder, alarm clock, stopwatch, timer,weather information,music control, remote camera control compatible with Android 5.0 and above or iOS 9.0 and above smartphones.
Simple styling and animation
Save the following as html/style.css. It uses only local CSS and does not depend on an external web host.
:root {
color-scheme: dark;
font-family: Arial, sans-serif;
}
* { box-sizing: border-box; }
body {
margin: 0;
min-height: 100vh;
display: grid;
place-items: center;
background: #10131a;
color: #f4f6fb;
}
.loading {
width: min(90vw, 620px);
text-align: center;
padding: 2rem;
}
.logo {
max-width: 220px;
max-height: 120px;
object-fit: contain;
}
.bar {
height: 8px;
margin-top: 1.5rem;
overflow: hidden;
border-radius: 999px;
background: #2b3242;
}
.bar span {
display: block;
width: 35%;
height: 100%;
border-radius: inherit;
background: #55a7ff;
animation: move 1.4s ease-in-out infinite alternate;
}
@keyframes move {
from { transform: translateX(0); }
to { transform: translateX(185%); }
}
Optional JavaScript
Save this as html/app.js if you want a rotating status message. A loading page should remain useful even when JavaScript fails, so keep the basic message in HTML.
const messages = [
'Loading the server',
'Preparing game data',
'Almost ready'
];
const heading = document.querySelector('h1');
let index = 0;
setInterval(() => {
index = (index + 1) % messages.length;
heading.textContent = messages[index];
}, 2500);
This script changes only the page text. It does not close the loading screen; FiveM controls the screen’s lifetime unless you explicitly enable manual shutdown.
Step 3: Write fxmanifest.lua
Create fxmanifest.lua in the resource’s top-level directory, next to the html folder. This example declares the page and all assets used above:
fx_version 'cerulean'
game 'gta5'
loadscreen 'html/index.html'
files {
'html/index.html',
'html/style.css',
'html/app.js',
'html/images/logo.png'
}
The manifest reference uses the same basic pattern as a NUI page: the HTML entry file is named by loadscreen and is also included in files. Listing the entry file only in the loadscreen line is not enough.
Free tools Windows power users keep installed
One-click scans. No signup required.
What each directive does
| Directive | Purpose | Use in this setup |
|---|---|---|
fx_version 'cerulean' |
Selects the resource manifest version. | Use the value shown in the working example unless your server’s current documentation requires another version. |
game 'gta5' |
Identifies the game targeted by the resource. | Required for a GTA V FiveM resource. |
loadscreen 'html/index.html' |
Points FiveM to the loading page. | The path is relative to the resource root. |
files { ... } |
Allows the loading page and its assets to be served to the browser. | Include every HTML, CSS, JavaScript, image, font or other local asset that the page requests. |
loadscreen_cursor 'yes' |
Enables a mouse cursor while the loading screen is visible. | Optional; the cursor is not shown by default for legacy reasons. |
loadscreen_manual_shutdown 'yes' |
Prevents automatic closing so client code can decide when to close the screen. | Optional and risky if your shutdown code does not run. |
Adding a cursor
Most informational screens do not need mouse input. If your page has clickable controls, add this line to the manifest:
Rank #3
- [Low Noise High Fidelity] New bee guitar cord with 22AWG oxygen-free-copper center conductors provides enhanced signal transfer, the PVC insulation material and the high-density stranded copper double shield provide noise rejection for quiet operation
- [Ideal for Choice] New bee 1/4 straight and right angle metal connectors, ensures a secure connection in any instrument, pedal, or amp jack. L shape great fro on stage guitar stands
- [Wide Compatible] Suitable for mixer, power amplifier, microphone, effector, decoder, equalizer, electoronic organ, electric guitar, electric bass and other electronic equipments. Widely used in the installation of smart home, karaoke speaker, professional stage audio, etc
- [Easy Disassemble] Making incidental repairs quick and easy! Very nice, flexible cable
- [Dont Hesite to Order] 24 hours customer services and professional technology team are standing by
loadscreen_cursor 'yes'
The setting affects visibility of the cursor; it does not create buttons or make a page interactive by itself.
Step 4: List every asset, not just the entry page
For each URL in your HTML, CSS or JavaScript, check that the corresponding file appears in the manifest. Common omissions include:
- CSS files referenced by
<link>. - JavaScript files referenced by
<script>. - Images referenced by
src, CSSurl()or JavaScript. - Web fonts and font metadata files.
- Additional HTML fragments loaded by script.
Keep paths consistent. For example, html/images/logo.png is different from html/image/logo.png, and a filename’s capitalization can matter when the resource is hosted on a case-sensitive filesystem. Prefer relative paths inside the html directory and avoid references to files outside the resource.
Step 5: Enable the resource in server.cfg
Add an ensure line to the server configuration:
ensure my_loadscreen
If the resource is inside resources/[local]/my_loadscreen, the command still uses the resource name, not the category folder. Put the line where your server starts local resources, or anywhere after the resource is available to the server. Save the file before restarting.
If you use a framework that already ships with a loading resource, identify which resource is enabled before adding another one. Two resources attempting to provide the same loading experience can make troubleshooting confusing; disable the old one or decide which resource should own the screen.
Step 6: Restart and test from a fresh connection
- Restart the FiveM server, or restart the resource from the server console if you are iterating.
- Join the server with a client that was not already connected during the change.
- Watch the loading page while the client downloads and initializes server data.
- Confirm that the logo, styles and script all appear as expected.
- Open the client console if available and look for missing-file, JavaScript or resource errors.
- Reconnect after every manifest or asset change; a page already open in a running session may not reflect the new files.
A successful test shows the page during connection and then proceeds into the game without requiring a button press. If the page appears but an image or style is missing, inspect paths and the files block before changing the shutdown settings.
Rank #4
- Digital Family Calendar: BSIMB digital calendar wall touch screen puts an end to your chaotic life. Designed for busy families, the digital calendar keeps you organised and in step with your family. Assign different colours and tasks to each family member to make family scheduling easier and more intuitive.
- Easy Setup and Auto-Sync: Plug in, connect to WLAN and auto-syn your electric calendar in minutes. Digital wall calendar compatible with Google calendar, iCloud calendar, Outlook calendar, Cozi calendar and Yahoo calendar. Add events directly on the device or through the ecalendar app. Electronic calendar stays current whether you're at work or traveling—no manual updates needed.
- All-In-One Home Assistant: Smart calendar builds habits and encourage independence with personalised chores. Display daily meal plan to reduce the daily ‘What's for dinner?’ stress. To-do lists keep track of everything you want. Turning chores into valuable achievements with stars and rewards, making life easier and more enjoyable.
- Manage Anytime Anywhere: BSIMB electronic calendar for family stay connected with the powerful ecalendar app. Access and manage your digital wall calendar anytime, anywhere with free features like stars & rewards, photo screensaver, chore charts, meals plans, to-do lists etc. Electronic planner paid features like Magic Import tailor advanced tools for users with special needs.
- Stay in Touch with Loved Ones: Share photos or videos from your phone to electronic wall calendar with app, instantly update your life moment, and keep in touch with your family, especially those who are far away; you can also surprise your smart calendar digital wall by sending him a wish card; it's also great for keeping tech-illiterate elders in touch with the youngsters.
Automatic shutdown versus manual shutdown
Automatic handling: the safer default
With no manual-shutdown directive, the game handles the normal end of the loading phase. The manifest reference describes the screen as remaining until the game invokes its loading-screen shutdown behavior. This is the appropriate choice for a purely visual screen because there is no client callback that can accidentally fail and leave every connecting player stuck.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Manual handling: when you need control
Add this to fxmanifest.lua only when another client resource must keep the page visible until a known condition is met:
loadscreen_manual_shutdown 'yes'
With that option enabled, the page does not close automatically after game data loads. Your client script must call ShutdownLoadingScreenNui() after the player has actually spawned. Put the call in the framework’s confirmed player-spawn callback, not merely at resource start or when the connection begins.
The exact callback name depends on the framework and spawn resource you use. The important sequence is:
- Allow the game and framework to finish loading.
- Wait for the event or callback that confirms the player is in the world.
- Call
ShutdownLoadingScreenNui()once. - Test reconnects, character selection and any path that can fail before spawning.
A stuck screen is the main failure mode of manual shutdown. If players remain on the page, first remove loadscreen_manual_shutdown 'yes' and remove or disable the client shutdown code. That restores automatic handling while you repair the spawn integration.
Do these 3 things before closing this tab:
1Scan for outdated or missing drivers - takes under a minute2Repair Windows errors before they cause bigger problems3Fix the driver behind crashes, sound loss and screen glitchesThe older native named SET_MANUAL_SHUTDOWN_LOADING_SCREEN_NUI is deprecated for this purpose. Configure loadscreen_manual_shutdown in the manifest instead.
Best Value
Standalone resource or framework-bundled loading resource?
| Choice | Setup effort | Best fit | Main consideration |
|---|---|---|---|
| Standalone resource | Low: create the manifest, web files and one ensure line. |
Servers that need a branded or informational page without framework-specific behavior. | You must maintain the page and any optional client shutdown integration yourself. |
| Framework-bundled resource | Usually lower if it is already installed and configured. | Servers whose framework expects its own loading flow or handover data. | Follow that framework’s documented events and settings; replacing it with a generic page can remove assumptions the framework makes during connection. |
If you are replacing an existing framework loading resource, check its start order and configuration first. A standalone page that only displays HTML is simpler, but it should not be presented as a drop-in replacement for a framework resource that performs additional connection work.
Troubleshooting checklist
| Symptom | Likely cause | Fix |
|---|---|---|
| The loading screen never appears. | The resource is not started, the resource name in ensure is wrong, or the manifest is in the wrong directory. |
Confirm the folder is named my_loadscreen, the manifest is at its root, and ensure my_loadscreen exactly matches that name. Restart and check the server console. |
| The page is blank or shows only plain text. | CSS, JavaScript or an image is missing from files, or a path is incorrect. |
Compare every referenced path with the directory tree and add each asset to the manifest. |
| The logo is missing. | Filename, extension, capitalization or relative path does not match. | Verify the physical file is at html/images/logo.png and that the HTML uses exactly images/logo.png. |
| The cursor is invisible. | Cursor support was not enabled. | Add loadscreen_cursor 'yes' and reconnect. This is unrelated to whether the page itself loaded. |
| The screen remains forever. | Manual shutdown is enabled but the client never calls the NUI shutdown function, or the call occurs before spawning. | Remove the manual directive and shutdown code to return to automatic behavior, then integrate the call with the framework’s confirmed spawn callback. |
| Changes do not show after editing. | The client is still using an earlier connection or the resource was not restarted. | Restart the resource or server and reconnect completely. Check the console for syntax errors in Lua, HTML or JavaScript. |
| Another loading page appears instead. | A framework or another resource is also configured as a loading screen. | Find the other resource’s loadscreen declaration and decide which resource should be active. Avoid maintaining two competing implementations. |
Practical design and maintenance guidance
Keep the first version local and small
Start with one HTML file, one stylesheet and one image. This isolates manifest and path problems. Add video, large artwork or extra scripts only after the basic page reliably appears. A loading screen is shown during a connection, so unnecessarily large assets can make the page itself slower to display.
Make the page readable without interaction
Use a clear status message and sufficient contrast. Do not make the cursor or a click action a prerequisite for entering the server unless your complete connection flow is designed around that interaction. The page should still communicate that the client is working while assets are being prepared.
Quick wins for a faster PC:
Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Clear out junk files and repair common Windows errorsFree Scan →Use reliable fallbacks
Keep the main message in HTML rather than generating all visible content in JavaScript. If a script has a syntax error, the player should still see a useful loading message. Likewise, use an alt attribute on important images so a missing asset does not leave an unexplained empty area.
Change one layer at a time
When diagnosing a problem, first confirm that the resource starts, then confirm that index.html loads, then add CSS, images and scripts. Finally test optional cursor and manual-shutdown behavior. Changing the manifest, framework start order and client callbacks simultaneously makes the cause of a failure harder to identify.
Complete minimal example
The following is the smallest practical configuration for the files shown in this guide:
-- resources/[local]/my_loadscreen/fxmanifest.lua
fx_version 'cerulean'
game 'gta5'
loadscreen 'html/index.html'
files {
'html/index.html',
'html/style.css',
'html/app.js',
'html/images/logo.png'
}
# server.cfg
ensure my_loadscreen
Leave out loadscreen_manual_shutdown 'yes' unless you have a tested client-side reason to control the closing moment. Add loadscreen_cursor 'yes' only when the page genuinely needs mouse input.
Final verification before publishing the resource
fxmanifest.luais in the resource root.- The
loadscreenpath points to a real HTML file. - The HTML entry file is also listed in
files. - Every local asset referenced by HTML, CSS or JavaScript is listed in
files. - The resource name in
server.cfgmatches its directory name. - A fresh connection displays the page and then enters the game.
- Any enabled cursor setting is intentional.
- Manual shutdown is either disabled or tied to a callback that runs after the player has spawned.
Once those checks pass, the loading screen is installed as a conventional FiveM resource and can be maintained by editing its web files without changing the server’s core game resources.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




