Driver FixRecommendedSound, Wi-Fi or graphics acting up? Check drivers firstFind missing or outdated drivers fast.Check DriversHalloween DealsAmazon USHalloween week deals: useful picks before month-endAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
VGSources
Blog

How to Install Plugins on a BeamMP Server (Windows and Linux)

Put each BeamMP server plugin in its own Resources/Server/PluginName folder, keep its entry Lua files at the top level, restart the server, and use the console and Server.log to diagnose compatibility or path errors.
Length10 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install a BeamMP server plugin by placing it in its own folder under Resources/Server, putting the plugin’s main .lua files directly in that folder, and restarting the server. Do not put a server Lua plugin in Resources/Client: that directory is for ZIP mods sent to players. If the plugin still does not load, check the configured resource path, the top-level file layout, the server console and Server.log, and whether the plugin targets your server’s major version.

What you need before installing a plugin

You need an initialized BeamMP dedicated server on Windows or Linux, access to its server files, and the plugin’s Lua files. The official setup process supports both operating systems. Run the server once before installing anything; this first launch generates ServerConfig.toml and the resource directory, normally named Resources.

As an Amazon Associate I earn from qualifying purchases.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • A running server installation: The server binary, ServerConfig.toml, and the generated resource folders should be present.
  • File access: You must be able to create folders and copy files into the server’s configured resource directory.
  • A compatible plugin: Check the plugin’s target BeamMP server version. BeamMP Server 3.0.0 introduced major Lua plugin-system changes, so older Lua plugins may need a migration or a different release.
  • The plugin’s own instructions: Some plugins require configuration files, permissions, or client-side files in addition to their main Lua script.

Home hosting is free according to the BeamMP setup documentation. VPS hosting is described there as easier and more secure, but the documentation does not establish a universal price or a particular provider. Choose the hosting arrangement first, then use the same resource-folder procedure on that server.

Server plugins and client mods are different

A BeamMP server plugin is a folder containing Lua code under Resources/Server. It runs on the server and can provide server-side behavior such as administration, rules, logging, or gameplay logic.

#1 Best Overall
Sale
Logitech G920 Driving Force Racing Wheel and Pedals, Force Feedback + Logitech G Driving Force Shifter - Xbox Series X|S, Xbox One and PC, Mac - Black
  • REALISTIC RACING SIMULATION DUO: Feel what is like to drive a real race car with G920 Driving Force Racing Wheel & Pedals and Driving Force Shifter
  • PAIRED FOR PRECISION: Take full control of the race with G920 Driving Force Racing Wheel & Pedals and Driving Force Shifter
  • PRECISE CONTROL: Helical transmission gears reduce noise and vibration with anti-backlash keeping wheel and pedals tight. The six-speed “H” shifter helps you execute smooth, accurate gear transitions
  • FORCE FEEDBACK: The dual motor force-feedback realistically simulates the feel of tires on a turn, understeer, oversteer, drifting and more
  • PREMIUM BUILD: Look, feel and durability of a real race car wheel, pedals and shifter. Wheel cover, knob and boot are covered in high-quality, hand-stitched leather with a solid steel gear shaft and polished metal pedals

A client mod is normally a ZIP file under Resources/Client. The server can send those files to connecting players. A feature that has both server and client components may require a server Lua plugin plus a client ZIP, and some client-side functionality additionally needs a Lua client extension and modScript.lua. Follow the specific project’s instructions when it documents such a dependency.

Item Correct location Typical format Loaded by
Server plugin ResourceFolder/Server/PluginName One or more top-level .lua files BeamMP server
Client mod ResourceFolder/Client ZIP file Clients through the server

Putting a Lua server plugin in Resources/Client, or putting a client ZIP in Resources/Server, will not turn it into the other type. Use the directory that matches the component you are installing.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install a BeamMP server plugin step by step

1. Initialize the BeamMP server

  1. Complete the BeamMP server setup for Windows or Linux.
  2. Launch the server once and allow it to finish its first-run initialization.
  3. Stop it cleanly after the initial files appear. You should now see ServerConfig.toml and a resource directory, normally Resources.

If those files are not present, you are probably looking at the wrong directory, the server has not completed initialization, or the account running it cannot write to the installation folder. Resolve that before copying a plugin.

2. Confirm the configured resource directory

Open ServerConfig.toml in the server’s main directory and find the ResourceFolder setting. The folder named Resources is only the normal default; the setting is authoritative. If it points to another path, install the plugin beneath that path instead.

For example, if the setting resolves to /srv/beammp/Resources on Linux or a different Windows directory, the required destination is that configured directory’s Server subdirectory, not a second Resources folder beside the server executable.

3. Create one folder for the plugin

Inside the configured resource directory, create a Server folder if it does not already exist. Then create a separate folder for the plugin:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
MOZA R5 Bundle Racing Wheel, Direct Drive Base, Pedals Simulator Kit for PC
  • MOZA R5 Racing Wheel and Pedals Bundle Kit is designed for PC Users (Not Compatible with Xbox and ps), provides an affordable, direct-drive setup force feedback system that transforms your sim racing experience.
  • Direct-Drive Simulator: Delivers smooth, detailed 5.5 Nm peak torque without the mechanical slack or noise of older gear- and belt-driven wheels.
  • Ready-to-Race Kit: Includes the wheel base, MOZA ES Steering Wheel with an aluminum quick-release system, and steel pedals and desk clamp in a single package.
  • ES Wheel: At 280mm (11 inches), the compact diameter gives the motor maximum leverage, ensuring the 5.5Nm force feedback feels crisp, strong, and detailed rather than dampened or weak.
  • SR-P Lite Pedals(No Clutch): Crafted from high-strength steel, this Pedal with throttle and brake feature precise Hall sensors, adjustable spacing and height, customizable output curves, and an anti-slip base—offering reliable, adaptable performance for any setup.
ResourceFolder/Server/<PluginName>

Replace <PluginName> with a descriptive folder name. Each plugin must have its own subfolder. Do not place unrelated plugins together, because BeamMP treats each folder as a separate plugin unit.

4. Copy the plugin’s Lua files into the top level

Copy the plugin’s main .lua files directly into its new folder. A minimal installation looks like this:

BeamMP-Server/
├── BeamMP-Server.exe (or Linux server binary)
├── ServerConfig.toml
└── Resources/
    ├── Client/
    └── Server/
        └── MyPlugin/
            └── main.lua

The important detail is that main.lua is immediately inside MyPlugin. BeamMP automatically loads Lua files in the plugin’s main directory. Lua files placed only in deeper subdirectories are not automatically loaded.

A common archive mistake is creating an extra wrapper directory. If extraction produces Server/MyPlugin/MyPlugin/main.lua, the script is one level too deep for automatic discovery. Move the folder or its contents so the intended top-level Lua file is directly under Server/MyPlugin.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

5. Keep supporting files in subfolders only when the code expects them

Subdirectories are allowed for supporting files when the plugin’s code loads them with require() or another documented mechanism. They are not a substitute for the plugin’s top-level entry file. If every Lua file is buried in a subfolder and no top-level script loads it, BeamMP has nothing to discover automatically.

Do not rename files, change case, or rearrange the plugin’s internal paths unless its documentation tells you to. On case-sensitive Linux filesystems, a spelling or capitalization difference can produce a path error even when the layout appears correct in a graphical file manager.

Rank #3
Razer Wolverine V3 Pro Wireless Gaming Controller: Licensed for Xbox Series X|S, Xbox One, Windows PC - 6 Remappable Buttons - Fast Triggers - Customizable Thumbsticks - Wired Tournament Mode - Black
  • 4 MOUSE CLICK BACK BUTTONS & 2 CLAW GRIP BUMPERS — Enjoy the same ultra-responsive actuation found in Razer's top gaming mice with 4 buttons built into the controller’s ergonomic, rubberized handles—topped with 2 claw grip bumpers for even more control
  • PRO HYPERTRIGGERS — Set the triggers for instant actuation with zero travel time or ultra precise analog control—be fully immersed in the action and feel every trigger pull with integrated haptic vibrations
  • HALL EFFECT PRECISION THUMBSTICKS — Experience analog thumbsticks that are not only more accurate than traditional models but are smoother, lighter, and more durable thanks to their anti-friction rings and pro grade materials
  • HYPERSPEED WIRELESS — Delivering an ultra-low latency 2.4 GHz connection via its USB Type A dongle, experience fast, reliable performance that meets the demands of the most intense competitive players on Xbox and PC
  • RAZER MECHA-TACTILE ACTION BUTTONS & 8-WAY FLOATING D-PAD — By combining the speed of microswitches with the cushioned comfort of a rubber membrane, compete with quicker inputs that feel just as comfortable to press

6. Start or restart the server

Start the server and watch its console output. A clean startup should identify errors if the plugin has a Lua syntax problem, a missing file, or an invalid path. The server manual documents hot reloading for changed top-level Lua files, but current 3.x reference material notes that files added after startup are not tracked in some versions. Restarting after copying a new plugin is therefore the dependable activation method.

Leave the console visible during the first launch with the plugin. If the process exits, the plugin reports an error, or expected commands are missing, stop and troubleshoot before inviting players to connect.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

How BeamMP decides what to load

BeamMP scans the configured resource directory’s Server subdirectory. Each folder there that contains at least one Lua file in its top level is treated as a plugin. This explains why the folder hierarchy matters more than the archive’s original name.

  • Correct: Resources/Server/MyPlugin/main.lua
  • Usually not auto-loaded: Resources/Server/MyPlugin/scripts/main.lua
  • Wrong component directory: Resources/Client/MyPlugin/main.lua
  • Extra extraction layer: Resources/Server/MyPlugin/MyPlugin/main.lua

Use the deeper scripts arrangement only if a top-level Lua file explicitly loads it. The automatic loader does not recursively treat every Lua file beneath the plugin folder as an entry point.

Check BeamMP 3.x compatibility before debugging files

BeamMP Server 3.0.0 made drastic changes to the Lua plugin system. A plugin written for an older server cannot necessarily be used unchanged on a current 3.x server. Before modifying code, check the plugin release notes or documentation for its target server version and any migration instructions.

Compatibility check What to verify What to do if it fails
Server major version The plugin explicitly supports your installed BeamMP server major version. Use a compatible plugin release or follow the project’s migration notes.
Lua API expectations The plugin’s functions and event hooks match the current scripting system. Do not assume an old script can be repaired by moving folders; update the code or choose a maintained version.
Client dependency The feature states whether a client ZIP, Lua client extension, or modScript.lua is required. Install the documented client component in addition to the server plugin.
Configuration format The plugin’s settings file and required values are documented for that release. Use the configuration template supplied with the matching release.

A correct path cannot compensate for an incompatible API. Treat version compatibility as the first diagnostic branch when a plugin is discovered but fails during startup.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Obokidlyamor 2PCS Simulation Turbine Intake Pipe Wind Sense Speed Change on Steering Wheel PC USB for Logitech G923 G920 G29 Pro RS50 Base Intake Pipe Sim Racing Wind Simulator (Red)
  • PC USB Simulation Racing Game Wind Sense Simulator Wind Speed Change on Steering Wheel of Racing Game for Logitech G923 G920 G29 G /Thrustmaster T300RS T500
  • Supports SIMHUB software and can be debugged on it.It suitable for 20/30/40 aluminum profiles and cockpit brackets with suitable holes.you can read the game data in real time, calculated by racing speed.
  • The maximum speed is 7000 rpm/second.The maximum and minimum air quantity can be set. The default starting air volume is 60km/h. The faster the car, the greater the air quantity.
  • Very High Wind Speed For Simulation Racing Game Wind Sense Simulator steering wheel.Easy assembly and high adaptability. Compatible with aluminum profiles in the sizes of 20x20mm/0.8x0.8", 30x30mm/1.2x1.2" and 40x40mm/1.6x1.6". As for other brackets, please contact the customer service.
  • Support many games, including for American Truck Simulator, Assetto Corsa, Euro Truck Simulator 2, Assetto Corsa Competizione, Automobilista, Codemasters F1 2019, Codemasters F1 2020, Automobilista 2, BeamNG Drive, Codemasters F1 2021, Codemasters F1 22, Farming Simulator 22, Forza Horizon 4, IRacing, RFactor 2, Forza Horizon 5, Forza Motorsport 7, Project Cars 2, Project Cars 3, WRC 10 FIA World Rally Champion, WRC 8/9 FIA Word Rally Champion, Codemasters Dirt 3, and Codemasters Dirt 4.

Troubleshoot a plugin that is not loading

Nothing appears in the console

  • Open ServerConfig.toml and verify the exact ResourceFolder value.
  • Confirm the plugin is under ResourceFolder/Server/<PluginName>, not under the server executable’s directory by assumption.
  • Check that the plugin folder contains at least one .lua file directly at its top level.
  • Look for an extra folder created by archive extraction.
  • Restart the server after adding the files rather than relying on hot reload.

The server reports a Lua syntax or runtime error

Read the complete console message and then inspect Server.log. Syntax errors generally identify a file and line; runtime errors can point to a missing dependency, unsupported API, or invalid configuration. Correct one reported problem at a time, restart, and check whether the next startup reaches the same point.

If the error references a function or event that does not exist, check the plugin’s target server version before editing the script. The 3.x Lua changes make version mismatch a more likely explanation than a bad copy operation.

The plugin has files in a subfolder but still does not run

BeamMP does not automatically load Lua files in subfolders. Ensure there is a top-level entry script. Keep helper modules in subfolders only when the entry script loads them through the mechanism documented by the plugin.

The plugin worked before, but a newly added file is ignored

Restart the server. Although changed top-level Lua files can be hot-reloaded in the server manual, some current 3.x versions do not track files that were added after startup. A full restart refreshes the plugin file set.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Players cannot connect after installation

That symptom may be networking rather than plugin loading. The BeamMP FAQ identifies port forwarding as a check for connection problems: forward the configured server port for both TCP and UDP. Port 30814 is the common default in many setups, but use the value actually configured for your server rather than assuming the default.

First establish whether the server itself starts and loads the plugin. Then test connectivity with the plugin disabled if necessary. This separates a Lua startup problem from router, firewall, or port-forwarding configuration.

Best Value
Obokidlyamor Turn Signal Headlight Dimmer Switch For PXN V99/ V10/V12 LITE Direct Drive Servo Wheel Base;Multi-Function Stalks Turn Wiper Lever Combination Racing Simulator Button Console Racing Wheel (For PXN V99)
  • Product Features ----Multi-Function Stalks Turn Wiper Lever+ Cruise Control Switches+ Ignition Switch Key for For PXN V99 Racing Wheel Euro truck simulator2 /American truck simulator/ OMSI 2/ The Bus/BeamNG.drive;Powerful game management with distinct configurations and logic for different games, automatically switching according to the game.No need to install drivers-plug and play.Support original steering wheel installation.
  • Product Turn Signal Headlight Switches functions ---- The stalks feature up to 18 programmable switches to cover all your driving needs.Support game Auto-Sync(No need to pause the game to adjust the position of the lever position when entering the game.); Meter/Low beam switch,High beam/light switch;you can switch small lights, headlights, switch instrument lights, turn signal, high beam, warning light, cruise light, can expand the vehicle start light, meter mode switch.
  • Product Turn Wiper Switches functions ---- 1.Switching to Universal Mode:Recommend binding buttons as:Upward lever: Right turn signal; Downward lever: Left turn signal. Pull lever closer: Flash headlights/Honk horn; Push lever away: Toggle high/low beams.2.Euro Truck Simulator mode:Three-speed windshield wiper( high speed / low speed / off switch).
  • Product Ignition Switch Technology ---- The key module is modified from the original HOWO heavy truck factory key. The LOCK position is used for steering wheel lock (ignored in-game).In Euro Truck Simulator (ETS2), there is only a single "ignition" option. Therefore, you can bind either OFF→ACC or ACC→ON for the ignition sequence.Engine start is performed from ON→START (START position).
  • Package including ---- 1X Basic kit;1X Kit adapter and some screws.If you find the Turn Signal Wiper Lever Switch could not connect to your Steering Wheel or could not work for your game, please do not worry and contact us via message first we will offer professional resolution to make it work again or replacement for free.

The server starts, but the feature is absent for players

Determine whether the plugin is server-only. If the feature changes the client game, it may require a client ZIP under Resources/Client and, for some functionality, a Lua client extension and modScript.lua. Install only the client files documented by the plugin, then restart and verify that players receive the required mod.

Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Use the console and log as your primary evidence

The server console is the fastest way to see startup and runtime failures. Server.log is part of the normal server files and provides a record you can review after a restart. When asking a plugin maintainer for help, preserve the relevant error text, the server version, the operating system, and the exact folder path. Avoid reporting only “it does not work”; the file name and line number often identify the fault.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Record whether the server was restarted after the plugin was copied.
  • Record the configured ResourceFolder value, without replacing it with an assumed default.
  • Record the plugin release and the BeamMP server major version.
  • Include the first error in the log, not only later cascading errors.

Choosing a plugin safely

BeamMP’s official documentation establishes how the server/client split and 3.x migration work, but it does not publish a universal ranking of plugins. Evaluate each project against your server’s needs instead of assuming that a popular name is compatible or efficient.

Decision factor Questions to answer before copying files
Version compatibility Does the release support your BeamMP server major version, and are migration notes provided?
Server or client scope Is it server-only, or does it require a client ZIP, Lua client extension, or modScript.lua?
Installation complexity Does it need a configuration file, permissions, database, or other dependency beyond its Lua files?
Maintenance Are updates and compatibility changes documented by the project?
Resource impact Could its event frequency, logging, or other behavior affect server resources? A universal performance figure is not established.
License Does the license permit your intended private, public, or modified use?

Install one plugin at a time on a test server when possible. That makes it clear which folder, configuration change, or script introduced an error and keeps the production log readable.

Home server or VPS for plugin hosting

The official setup guidance characterizes a home server as free and VPS hosting as easier and more secure. Home hosting gives you direct access to the files and avoids a hosting bill, but you remain responsible for the machine, operating-system updates, firewall, router forwarding, backups, and uptime. A VPS places the server in a hosted environment that is typically easier to expose consistently, while still requiring you to maintain the BeamMP installation and plugin files.

Whichever option you use, keep a backup of ServerConfig.toml, the complete Resources directory, and any plugin configuration before upgrading the server or replacing a plugin. A backup lets you restore the known-good folder layout when a version change breaks a script.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

A repeatable installation checklist

  • Run the BeamMP server once so ServerConfig.toml and the resource directory exist.
  • Read ResourceFolder; do not assume the folder is named Resources.
  • Confirm the plugin supports the installed BeamMP server major version.
  • Create ResourceFolder/Server/<PluginName>.
  • Place at least one plugin entry .lua file directly in that folder.
  • Keep helper Lua files in subfolders only when the entry code loads them explicitly.
  • Put client ZIP mods in ResourceFolder/Client, never in the server plugin folder.
  • Restart the server after adding a new plugin.
  • Read the console and Server.log for syntax, runtime, and path errors.
  • If players cannot connect, check forwarding of the configured port for both TCP and UDP; 30814 is a common default, not a guaranteed value.

Where the installation should end up

For a standard server using the default resource directory, the finished layout is:

BeamMP-Server/
├── BeamMP-Server.exe (or Linux server binary)
├── ServerConfig.toml
└── Resources/
    ├── Client/
    └── Server/
        └── MyPlugin/
            ├── main.lua
            └── optional-support-files/
                └── helper.lua

The essential conditions are that MyPlugin is directly inside Server, that main.lua is directly inside MyPlugin, and that the configured ResourceFolder points to this Resources directory. Once those conditions and version requirements are satisfied, restart the server and use its console and log to confirm whether the plugin initializes.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More quests from Patch Notes

  1. How to Set Up a RedM (RDR2) Server in 2026: License Key, txAdmin and server.cfg, Step by StepBlog11min
  2. Best RedM (RDR2) Server Hosting in 2026: Comparing Four Hosts on Slots, Memory and PriceBlog10min
  3. How to Host a Mindustry Server in 2026: server-release.jar, Port 6567 and the Commands That MatterBlog7min
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Crashes, No Sound, or Screen Glitches?Free driver scan

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.