Hardware FixRecommendedDevice not working? Your driver may be the problemCheck updates for common hardware issues.Fix DriversOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsWindows FixRecommendedWindows errors stealing your time? Find the fix fastScan stability, cleanup and performance issues.Fix Now×
Skip to content
VGSources
Blog

How to Install and Use Spark to Profile a Minecraft Server

A complete guide to installing the loader-matched Spark jar, running profiles during real Minecraft server lag, using profiler flags and interpreting the shareable flamegraph report.
Length10 min Posted Quest giverVGSources Team
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Install the Spark jar that matches both your Minecraft version and server loader, restart the server, grant yourself the spark or spark.profiler permission, then run /spark profiler start while the lag is happening. After a few minutes of normal play, run /spark profiler stop; Spark uploads the profile and gives you a shareable report with an interactive flamegraph showing where tick time was spent.

What Spark is and what it can tell you

Spark is a server profiler for Minecraft. It samples what the server threads are doing so you can connect a lag symptom—such as low TPS, long ticks, or a recurring spike—to the code or activity consuming time. The result is a web-based report rather than a single “lag score.”

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.

The most useful evidence comes from collecting a profile during the exact activity that feels slow: a busy area, a redstone machine, a mob farm, chunk generation, a scheduled task, or a player action that reliably causes a spike. A profile taken while the server is empty can be technically valid but irrelevant to a problem that only appears with players online.

Spark’s official download page is spark.lucko.me/download. Command syntax and flags can change between releases, so check the version-specific reference at spark.lucko.me/docs/Command-Usage when a command is rejected or behaves differently from the examples here.

#1 Best Overall
Sale
Gaoye Blue Light Blocking Glasses
  • BLUE LIGHT BLOCKING GLASSES: Our blue light glasses for women boast UV400 protection, blocking harmful blue rays from computer screens. With these bluelight glasses women, you can enjoy gaming, reading, or watching TV with no worries of eye strain.
  • EYE RELIEF: Our blue light glasses are engineered to reduce blurry vision or strain caused by prolonged screen time. These womens blue light glasses aid in better sleep by preventing blue light from disrupting your natural sleep cycle, helping you fall asleep faster and enjoy a more restful night's sleep, making them the perfect christmas present.
  • COMFORTABLE: Crafted from durable material, our trendy blue light glasses for woman or blue light glasses men ensure long-lasting comfort. The high-transmittance lenses accessories, gamer gifts for men, help keep your eyes relaxed. Perfect stocking stuffers, gifts for gamers men, christmas gifts for men, halloween costumes.
  • LIGHTWEIGHT: These clear blue light glasses feature a lightweight frame, meaning they’ll stay comfy for long-term wear. Perfect as blue blockers glasses for women or mens blue light glasses, these non-prescription fake glasses for men can be worn throughout the day. The blue light blocking glasses women feature polycarbonate HD lenses, which are anti-reflective and restore true color.
  • WORRY-FREE PURCHASE: If you experience any issues, our support team is ready to assist you quickly. These are the perfect costume glasses for cosplay dressing up.

Check your server before installing

  • Identify the loader: Paper and Spigot use the plugin system; Fabric, Forge and NeoForge use the mod system.
  • Identify the Minecraft version: download a Spark build made for that version, not merely the newest file on the download page.
  • Confirm access: you need console access or an account that can run server commands. Operator status works, or an administrator can grant the Spark permission nodes.
  • Inspect startup output: some third-party guidance claims that certain recent Paper builds include Spark already, but that is not established for every build. Search the startup console for Spark before adding another jar; duplicate installations can create confusing errors.
  • Keep a rollback path: stop the server before replacing a jar, and retain the previous file until the new installation has started successfully.

Install Spark on each server loader

1. Download the matching jar

Open the official Spark download page and select the file for your Minecraft version and loader. A plugin jar is not interchangeable with a Fabric, Forge or NeoForge mod jar. If you are checking the project’s Spigot resource page, it is available at spigotmc.org/resources/spark.57242; the official download page remains the place to match a release to your loader and game version.

2. Put the file in the correct directory

Server software Installation directory What to do
Paper plugins/ Copy the Spark plugin jar into the server’s plugins folder.
Spigot plugins/ Copy the Spark plugin jar into the server’s plugins folder.
Fabric mods/ Copy the Spark mod jar into the mods folder.
Forge mods/ Copy the Spark mod jar into the mods folder.
NeoForge mods/ Copy the Spark mod jar into the mods folder.

Do not put a mod jar in plugins/ or a plugin jar in mods/. The loader will either ignore the file or report a dependency or format error during startup.

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

3. Restart completely

Stop the server cleanly, place the jar, and start it again. A full restart is the supported way to load Spark. Do not rely on a hot-reload command: reloaders can leave plugin state or class loaders in an inconsistent state and make profiling results harder to trust.

4. Verify the installation

Once the server is online, run:

/spark version

A version response confirms that the command is registered. If the command is unknown, check the loader directory, the jar’s Minecraft-version compatibility, and the startup log for a dependency or Java error before trying to profile.

Give yourself permission to use Spark

The official permission nodes are spark and spark.profiler. An operator can also run the commands. On a permission-managed server, grant the appropriate node to the administrator group through your permission manager, then reconnect or refresh permissions if that manager requires it.

Rank #2
Windex Gaming Cleaning Wipes, Pre-Moistened Wipes to Instantly Clean all Gaming Gear and Electronics, Resealable Packaging for a Freshness Lock, 25 count (Pack of 1)
  • WINDEX GAMING WIPES: effortlessly clean all your gaming gear and gaming electronics in one easy step with our new Windex Gaming Wipes
  • AMMONIA FREE: our ammonia-free formula is safe to use on all of your favorite gaming equipment like consoles, headsets, controllers, screens, keyboards, and more
  • PRE-MOISTENED WIPES: each wipe instantly removes dust, dirt, and stubborn smudges and fingerprints leaving a streak-free shine
  • ANTI-STATIC: great for cleaning and wiping down your gaming gear and electronics leaving behind no visible residue
  • COMPACT RESEALABLE PACKAGE: store your pack of Windex Gaming Wipes anywhere in your home for whenever a quick and easy wipedown is needed
Access method When it is useful Important detail
Operator status Fast troubleshooting on a private or trusted server Op access is broader than Spark alone, so avoid it for users who should only profile.
spark Granting the Spark command family to an admin group Use the node supported by your permission manager.
spark.profiler Restricting access specifically to profiler commands Other Spark diagnostic commands may require additional permission nodes.

If a command returns a permission error even though Spark is installed, test from the server console. Console commands bypass in-game permission issues and help distinguish an access problem from a syntax problem.

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

Run your first profile

Use this sequence for a normal performance investigation:

  1. Get players into the situation that causes the lag. Reproduce the issue with the normal number of players, loaded regions and active machines whenever possible.
  2. Start sampling:
    /spark profiler start
  3. Let the profile collect data. Hosting guides commonly suggest about three to five minutes with players online. The official command reference does not mandate a duration, so use a period long enough to include the problem without collecting unrelated activity.
  4. Stop and publish the profile:
    /spark profiler stop
  5. Open the link Spark prints. A completed profile uploads to Spark’s viewer automatically and returns a shareable report URL.

The correct stop command is /spark profiler stop. One third-party example uses /spark profiler --stop, but that is not the form shown in the official command list and should not be your default.

Profiler commands and options

Command Purpose
/spark profiler start Begin a profile using the current defaults.
/spark profiler stop End the active profile and upload the result for viewing.
/spark profiler info Show information about the current profiler session.
/spark profiler open Open or view the current profile without stopping it.
/spark profiler cancel Discard the active profile without uploading it.

These options can be appended to the start command. Use the exact spelling and syntax accepted by your installed version; the complete reference is at spark.lucko.me/docs/Command-Usage.

  • --timeout <seconds> stops the profile automatically after the specified number of seconds. For example, /spark profiler start --timeout 300 collects for five minutes.
  • --thread * profiles all threads, while --thread <name> limits collection to a named thread when you are investigating one worker.
  • --alloc profiles memory allocations instead of only focusing on normal execution sampling. Use it when the symptom points to allocation or garbage-collection activity.
  • --interval <ms> changes the sampling interval in milliseconds. The command reference reports a default value of 4; confirm the exact default and accepted range for your Spark build.
  • --only-ticks-over <ms> records only ticks exceeding the selected duration. A commonly used spike-hunting example is /spark profiler start --only-ticks-over 60.
  • --ignore-sleeping omits sleeping threads from the sample, which can make active work easier to see in a busy report.
  • --comment <text> attaches a note such as the area, player action or timestamp you are testing. Put multi-word text in quotes if your command interface requires it.
  • --save-to-file saves the profile locally instead of relying only on the automatic upload flow. Check the command output for the exact path and file handling on your version.

Choose the right capture for the problem

Continuous, general lag

Start a normal profile and leave it running for roughly three to five minutes while the server operates under representative load. Have players move, fight, build and use the systems that are normally active. A short profile taken during an empty-server lull will mostly describe idle behavior.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #3
Sale
LISEN Cell Phone Stand Phone Holder for Desk, Office Decor Gadgets for Men
  • Ergonomic & Adjustable Design: Fight "text neck" and improve your posture. Designed for comfort, it offers an adjustable height (7.1in-8.5in) (1.4in adjustable range) and angle (5°-85°) Please note: cell phone stand is only 9 inches tall—the length of a standard pencil
  • Without blocking subtitles Perfect for office desk Tiktok Face Time Zoom video—this is the ultimate kitchen desk essential for phones! Perfect viewing experience while reducing neck back strain, A must-have for gamers streamers desk, and anyone who values both style and support!
  • Sleek & Stable Design fits Otterbox Case: Say goodbye to bent cables, tangles, and tip-overs! LISEN’s stylish adjustable desk phone holder features a built-in charging hole and smart cable management, keeping your phone secure and your workspace clutter-free cool gadgets for men
  • ANTI-SLIP DESIGN free hands: The under 10.00 items easy gadgets back and the bottom of this kitchen essentials for women are fully covered by anti-skid silicone, which LISEN stand up desk decor can provide maximum protection device from any scratches and slides
  • Your Perfect Viewing Companion:If your product arrives damaged or breaks within 365 days, reach out to LISEN for a quick and hassle-free solution. Struggling with assembly, like tightening the screw? We’ve got your back! Your experience matters to us. (Product including: phone Holder stand*1, screw*1, hexagon screwdriver*1, specification*1)

Short, repeatable spikes

Use a threshold so the report concentrates on slow ticks:

/spark profiler start --only-ticks-over 60

The value is a filter, not a universal definition of lag. A 60 ms threshold is an example for isolating ticks that exceed that duration; choose a threshold that matches the symptom you are trying to capture.

One worker or subsystem

If you already know the relevant thread name, add --thread <name>. Use --thread * when you want the complete multi-thread picture. Restricting the scope can make a targeted investigation easier, but it can also hide work occurring on another thread.

Memory or garbage-collection symptoms

Use --alloc for allocation-focused profiling. Pair that profile with Spark’s memory commands—especially /spark gc, /spark gcmonitor, /spark heapsummary and /spark heapdump—when the issue is memory churn rather than long game ticks.

Read the Spark report

1. Open the generated page

After /spark profiler stop, Spark presents a link to the uploaded report. Open it in a browser and preserve the URL when asking for help; the page is designed to be shared.

Rank #4
Ledagic IC+RGBW USB Powered Led Light Bar with App & Remote Control, 2 Pack
  • Easy Installation: Our gaming lights have been designed to enhance your entertainment experience. Simply position the led light bar next to your TV or game console to create a game room environment with ease. They come with USB power and a 60 inch cord for direct mounting and mobility
  • Audio Syncing & Extensive Mode: The built-in high-sensitivity music sensor allows you to sync the TV led lights to your favorite music. Lights react and move to the beat of music, film and game audio, creating an incredible immersive sound and light experience – and all without the need for an additional hub. You can choose from 64+ patterns, including strobe, illusion, jump, energy, gradient, running, chasing, fluttering mode etc. Each mode can be applied to different scenes
  • 64+ Chasing IC+RGB & W Effect: The independent control design of IC+RGB and white all-in-one multifunctional rgbw led bar lights monitor backlight allows you to easily switch the led lights for desk between IC+RGB and white to enjoy a variety of lighting effects, you can choose white lighting mode with high brightness for better illumination when working, etc. Choose IC+RGB lighting mode when you need to create an entertaining atmosphere for the light show, 16 million colours of Color changing rgb light bar let you dance to the beat and create a dynamic party atmosphere
  • Dynamic and Dimmable Lights: 1%-full brightness free brightness adjustment gives you the flexibility to adjust dimmable led light bar for room decorations or a variety of occasions
  • USB Powered: USB light bars for room can be powered by powernank, usb charger, TV, Monitor, laptop PC mainframe, making behind TV led lighting bar easy to install in any location.TV led lights are powered by the TV usb interface / PC mainframe, can be turned on/off synchronously with TV / PC

2. Start with the flamegraph

The interactive flamegraph visualizes where sampled time was spent. Wider sections represent a larger share of the collected samples. Select a wide stack and follow it downward to see the call path that led to the work, then use the report’s navigation to inspect the surrounding methods and threads.

3. Separate server work from an isolated outlier

Look for patterns that match the reproduction notes. If the profile was collected while a machine was running, a stack associated with that machine is more relevant than an unrelated one-time task. If the profile used --only-ticks-over, remember that the page is intentionally showing slow ticks rather than an average of every tick.

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

4. Compare the evidence with the symptom

  • A report dominated by one repeating stack suggests a specific task or subsystem worth disabling or testing in isolation.
  • Many different stacks spread across the report may indicate broad workload pressure rather than one clear culprit.
  • An allocation profile answers a different question from a normal execution profile; do not treat allocation totals as direct tick-time measurements.
  • If the report does not include the lag event, collect another profile with a longer window, a better reproduction, or a threshold suited to the spike.

Spark shows where sampled activity occurred; it does not automatically prove that a plugin, mod or configuration setting is defective. Use the stack, reproduction conditions and controlled changes together before removing a component.

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

Use Spark’s other diagnostics

Profiling is one part of the command family. These checks can establish whether the server is currently unhealthy and can help you decide what to capture next.

Command What it helps check
/spark health General server-health information.
/spark ping Ping-related response information.
/spark tps Ticks-per-second status.
/spark tickmonitor Tick-duration monitoring for spotting slow ticks.
/spark gc Current garbage-collection information.
/spark gcmonitor Ongoing garbage-collection monitoring.
/spark heapsummary A summary of heap usage.
/spark heapdump A heap dump for deeper memory investigation; treat the resulting file as sensitive.
/spark activity Activity information that can add context to a profile.

Run the commands your installed version exposes; availability and permission requirements can vary by loader and release.

Best Value
Sale
HUANUO FlowLift™ Dual Monitor Stand, Fully Adjustable Gaming Monitor Desk Mount for 13–32″ Computer Screens, Full Motion VESA 75x75/100x100 with C-Clamp & Grommet Base, Each Arm Holds 4.4 to 19.8 lbs
  • Compatible with Wide Screens - To ensure compatibility with the dual monitor mount, your each monitor must meet three conditions at the same time: First, computer screens size range: 13 to 32 inches. Second, screen weight range: 4.4 to 19.8 lbs. Third, the back of the monitor screen must have VESA mounting holes with a pitch of 75x75mm or 100x100mm.
  • Regarding the compatibility with desks - Your desk must meet three conditions at the same time: First, desk material: Only wooden desks are recommended, plastic or glass desks cannot be used. Second, desk thickness range: 0.59" - 3.54". Third, the bottom of the desk should not have any cross beams or panels, as this will interfere with installation. We recommend carefully checking that your desk and monitors meets all above conditions before purchasing.
  • Dual C-Clamp Hold - Worried your dual monitors might wobble or slip? Our upgraded base uses a larger platform plus a dual C-clamp structure to lock the dual monitor arm firmly to your desk. Each arm safely keeps your screens steady while you type, click and game—no shaking, no sliding, just a clean and secure setup you can trust every day. It also provides Grommet Mounting installation choice, both options ensure stable and secure fixation for your 0.59" - 3.54" desk.
  • Full-Motion Adjustment For Comfortable View - Pull the screen closer when you’re deep in a spreadsheet, push it back to watch videos, or rotate to portrait for coding — moving everything smoothly with just one hand. The monitor stand offers +85°/-50° tilt, ±90° swivel and 360° rotation. Raise your monitor up to 15.75″ to support a healthy sitting posture. Whether you’re working from home, gaming through the night, or switching between video calls and documents, getting the screens to your natural line of sight helps relieve neck, shoulder and back strain so you can stay focused longer with less fatigue.
  • Keep Your Desk Organized: By lifting both screens off the desktop, this dual monitor stand opens up valuable space for your keyboard, notebook, docking station or a simple, clutter-free work area. Built-in cable management guides wires along the arms, keeping cords out of sight and out of the way. Enjoy a tidy, modern workstation that looks as good as it feels to use.

Automatic profiling and proxy or client commands

Background profiling

Spark’s configuration includes spark.backgroundProfiler. When enabled, it can start profiling automatically at server startup. This is useful when the problem appears during unattended restarts or before an administrator can log in, but it also creates profiles you may not need. Review the generated data and disable the setting when you have finished the investigation.

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

Different command prefixes

The command prefix changes outside a standard server context:

  • /sparkb is used for BungeeCord.
  • /sparkv is used for Velocity.
  • /sparkc is used for a Forge or Fabric client.

On a normal Paper or Spigot server, use /spark; on a Fabric, Forge or NeoForge server, use the Spark command exposed by that installation.

Troubleshoot installation and profiling failures

Symptom Likely cause Fix
/spark version is unknown The jar is in the wrong folder, incompatible with the loader, or failed during startup. Check whether the file belongs in plugins/ or mods/, verify the Minecraft version, restart, and read the startup console.
The server reports a mod or plugin dependency error The downloaded build does not match the loader or game version. Remove the incompatible jar and download the matching Spark build; do not mix plugin and mod files.
The command is denied Your account lacks spark or spark.profiler, or you are not an operator. Run the command from console, obtain operator status, or ask an administrator to grant the required node.
stop does not end the profile The syntax was copied from a different guide or release. Use /spark profiler stop, then check the command reference for your installed version.
The report shows no useful lag The problem did not occur during collection, or the profile was taken with no representative players or activity. Reproduce the issue while profiling, use a longer window, add a descriptive comment, or apply --only-ticks-over for a repeatable spike.
No report link appears after stopping The profile may still be processing, upload may have failed, or local saving was requested. Check the command output and server log. If you used --save-to-file, locate the local file path reported by Spark.
Two Spark installations appear in logs A bundled copy and a manually installed jar may both be present. Inspect the startup messages, keep the intended compatible copy, remove the duplicate, and restart.

A repeatable workflow for diagnosing Minecraft server lag

  1. Record the Minecraft version, loader, player count and the exact action that causes the slowdown.
  2. Check /spark health, /spark tps and /spark tickmonitor to establish whether the symptom is active.
  3. Start a normal profile during representative play; use --only-ticks-over when the issue is a brief, repeatable spike.
  4. Stop the profile with /spark profiler stop and save the generated link with notes about what happened and when.
  5. Inspect the flamegraph for stacks that coincide with the reproduction, rather than choosing the widest stack without context.
  6. If memory behavior is suspected, collect an allocation profile and use the GC and heap commands for supporting evidence.
  7. Change one server component or setting at a time, reproduce the issue again, and compare the new profile with the original conditions.

This approach turns Spark from a one-off screenshot into a controlled diagnostic record: a known installation, a documented reproduction, a profile that includes the event, and a report you can share with the people maintaining the server.

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.

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

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
Outdated Drivers Are Slowing You DownFree scan - exact matches
Windows Errors? Fix Them Before They SpreadFree repair 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.