Website profiles · Technology insights · Alternatives

spark.lucko.me

spark is a performance profiler for Minecraft clients, servers, and proxies.

No paid content found
Visit website
Profile views 9 Outbound visits 22 Normal
spark Full homepage screenshot

At a glance

Category
Development
Language
English
Paid-content signal
No paid content foundObserved
Registered
2015
Hosting
VercelInferred
HTTPS certificate trusted
PassedObserved
Last updated

Website review

This review may include AI-generated content and is not individually verified. Domain, certificate and other facts come from the observed data on this page.

What is spark?

spark is a performance profiler for Minecraft clients, servers, and proxies. It watches how the game or server actually behaves at runtime and turns that into data you can read: where time is being spent, what is eating memory, and how performance changes over time.

It has three main jobs, all described on the site:

  • Profiler – diagnoses performance problems and bottlenecks, so you can see which code or systems are slowing things down.
  • Memory inspection – produces full heap dumps and summaries of what is using the most memory, and monitors garbage collection activity.
  • Health reporting – tracks key metrics so you can follow performance trends rather than only a single snapshot.

The site itself is also a viewer for that data. You run the appropriate spark commands in-game or on the server, upload the result, and open the generated link. Alternatively you can export a .sparkprofile or .sparkheap file and drag it into the viewer page; only those two file types are accepted. The viewer is written in JavaScript with React and is open source.

Who it is for: server owners and admins chasing lag or tick spikes, modpack and plugin developers checking whether their code is the cause, and anyone who needs to hand a readable performance report to someone else. The viewer matters because raw profiling output is hard to interpret; a shareable link or file makes it a team activity.

A practical next step: if a server is lagging, decide first what question you are asking. Suspect slow code or a specific plugin? Take a profile. Suspect memory pressure or GC pauses? Take a heap summary. Then open it in the viewer and compare against a baseline captured when the server was healthy — a single profile tells you what happened once, while health reporting over time shows whether a change actually helped.

How do I install spark on my Minecraft server?

Installing spark means adding its plugin/mod to the server, then confirming it loaded. spark is a performance profiler for Minecraft servers, clients and proxies, and the official site points you to a Downloads page and Documentation for the current version and setup steps.

The exact file and folder depend on your server type, so use the documentation rather than guessing:

  • Plugin servers (Paper, Spigot, Purpur, etc.): download the plugin build, drop the .jar into your server's plugins folder, and restart the server.
  • Modded servers (Fabric, Forge, NeoForge): install the matching mod build into the mods folder. On Fabric/Quilt you typically also need the Fabric API.
  • Proxies (Velocity, BungeeCord, Waterfall): install the proxy-specific build into the proxy's plugin folder.
  • Clients: a separate client mod build exists if you want to profile your own game.

After restarting, run a spark command such as /spark (or /spark profiler) in chat or console. If it responds, the install worked. If the command is unknown, the file is usually in the wrong folder, built for the wrong loader, or the server wasn't fully restarted.

A practical first test: run /spark profiler start, let it capture for 30–60 seconds while the lag occurs, then /spark profiler stop. spark uploads the result and gives you a link that opens in its online viewer at spark, where you can inspect the data. You can also export a .sparkprofile or .sparkheap file and drag it into the viewer later, which is handy for sharing with a server admin or developer.

For version-specific download links and command syntax, start at spark and follow its Documentation and Downloads sections.

How do I read a spark profile to find what's causing lag?

Reading a spark profile means finding which code paths consume the most server time, then narrowing from broad categories down to the specific plugin, mod or vanilla mechanic responsible. The viewer at spark is where a .sparkprofile is opened and interpreted.

Start with the biggest number, not the prettiest chart

Open the profile and look at the main call tree or the top-level breakdown first. Ask one question: which single branch accounts for the largest share of tick time? Typical answers fall into a few buckets — entity ticking, chunk/block work, plugin event handlers, or async tasks. Ignore anything under a few percent until the top item is understood; a profile is a ranking, not a full inventory.

A concrete scenario

A server owner notices the tick rate dropping to 12 TPS once 30 players are online. They run a timed profile during the worst period, open it in the viewer, and see one plugin's PlayerMoveEvent handler sitting near the top of the tree, called thousands of times per tick. That is the actionable finding: not "the server is slow" but "this listener runs on every movement packet." Reducing how often it does heavy work — or moving that work off the main thread — is the fix.

Three useful views

View What it answers When to use it
Call tree Which call paths dominate total time First pass, to locate the hot branch
Flat/top-down list Which methods are expensive overall, regardless of caller When the same method is called from many places
Per-tick or timeline data Whether lag is constant or spiky When players report intermittent freezes

Practical reading tips

  • Separate your own time from waiting time. A method that blocks on I/O is not the same as one burning CPU; the fix differs.
  • Watch call counts, not just percentages. A cheap method called 200,000 times per tick is a real problem.
  • Check whether the spike is event-driven. If lag correlates with player joins, chunk loads or mob spawns, profile during exactly that moment rather than averaging over ten minutes.
  • Compare two profiles. One at low player count and one at high player count shows what scales badly, which is usually the true culprit.

When the profile is not enough

If the hot branch is vanilla Minecraft internals rather than a plugin, the answer is usually configuration or hardware — view distance, entity limits, mob caps — not code. If it is a plugin, take the finding to that plugin's author with the profile link, since the viewer lets them inspect the same tree.

Next step: generate a profile with a short, deliberate duration during the lag, upload it, and write down the single largest branch before looking at anything else.

What are the differences between spark's profiler, memory inspection, and health reporting?

spark bundles three distinct tools under one name, and they answer different questions. The profiler tells you where time is going; memory inspection tells you what is holding memory; health reporting tells you how the server is behaving over time. They are complementary, not alternatives.

Quick comparison

Component Question it answers Typical output Best moment to use it
Profiler Which code paths are slow or hot? Sampling profile of call stacks, viewable in the online viewer Server feels laggy, TPS drops, or a specific action stalls
Memory inspection What is consuming memory, and is GC struggling? Heap dump, memory summary, GC activity Rising memory use, frequent GC pauses, suspicion of a leak
Health reporting Is performance degrading over time? Reported key metrics tracked across time Routine monitoring, or confirming whether a fix actually helped

Choosing between them

  • Start with the profiler when the symptom is lag you can feel: block lag, mob AI stutter, slow chunk generation. It points at the offending plugin or code path.
  • Switch to memory inspection when the symptom is memory pressure rather than CPU: the server climbs toward its heap limit, garbage collection pauses grow, or the process dies under load. A heap dump is heavier to handle than a profile, so treat it as a targeted investigation, not a routine check.
  • Use health reporting as the baseline layer. It is the least invasive and the most useful before and after a change, because it shows trends rather than a single snapshot.

A practical workflow

A common sequence: notice lag, run the profiler to find the hot path, fix or disable the cause, then rely on health reporting to confirm the improvement holds. If the profiler looks clean but memory keeps climbing, move to memory inspection.

How the viewer fits in

The website doubles as an online viewer for spark data. You generate a profile or heap summary with the appropriate spark commands, upload it, and open the resulting link. Alternatively, produce a .sparkprofile or .sparkheap file and drag it into the viewer box. Only those two file types are accepted, so export accordingly before trying to open anything.

For setup details and the exact commands, check the documentation linked from spark, and the project's GitHub repository if you want to read the source or contribute.

Can I use spark to diagnose performance issues on a Minecraft client or proxy?

Yes. spark is designed as a performance profiler for Minecraft clients, servers, and proxies alike, so you can use it to investigate lag, stutter, and bottlenecks on a client or a proxy, not just on a server.

What it gives you in practice

  • Profiler — records where time is being spent, which is the core tool for finding bottlenecks. On a client this helps with frame stutter and slow rendering or mod-related work; on a proxy it helps with plugin or network-handling overhead.
  • Memory inspection — full heap dumps, a summary of what is consuming the most memory, and GC activity monitoring. Useful when the symptom is rising memory use or frequent garbage collection rather than raw CPU cost.
  • Health reporting — tracks key metrics over time, so you can see whether a change actually improved things instead of guessing.
  • Viewer — the site doubles as an online viewer for spark data: run the appropriate spark commands, then open the link it produces, or export a .sparkprofile or .sparkheap file and drag it into the viewer.

A concrete workflow Suppose a player reports periodic freezes on a modded client. Record a profile during the freeze, open it in the viewer, and look for the heaviest call paths; then disable or update the mods implicated and re-profile to confirm the improvement. For a proxy, the same loop applies to plugin or connection-handling code.

Decision criterion Choose spark when you need evidence about where time or memory goes, rather than a single aggregate number. If your problem is a one-off crash rather than a slowdown, a profiler is the wrong instrument — you want logs or a crash report instead.

Next step Read the official documentation and usage guides before your first capture, since the right command differs between client, server, and proxy. Downloads and docs are linked from spark, and source and discussion are available via GitHub and Discord.

How do I view a .sparkprofile or .sparkheap file with spark's online viewer?

Open spark's online viewer and drag your .sparkprofile or .sparkheap file onto the drop area on the page, or click that area to browse for the file. The viewer accepts only those two extensions, so a renamed or zipped file will not load.

You have two routes to get a file into the viewer:

  • Direct upload from the game or server: Run the appropriate spark command to generate a profile or heap summary, then click the link spark prints after the data is uploaded. That link opens the viewer with your data already loaded.
  • Local file: Generate or export a .sparkprofile or .sparkheap file, then drag it into the box on the viewer page or click to select it.

Which file to open

File What it shows Typical use
.sparkprofile Sampling profile of where time is spent Tracking down lag spikes, slow ticks or heavy mods/plugins
.sparkheap Heap dump and memory summary Investigating memory growth or GC pressure

Practical notes

The viewer runs in your browser and is built with React; the source is open on GitHub. Large profiles can take a moment to parse, so give the tab time before assuming it failed.

A useful next step: if you are chasing lag on a server, capture a profile during the slowdown rather than after it, since a quiet period produces a much less informative sample. For memory issues, a heap summary taken when usage is near its peak is more revealing than one taken after a restart.

Related questions

More questions →
What is spark (spark.lucko.me)?

spark is a performance profiler for Minecraft clients, servers, and proxies. It helps you diagnose performance problems and bottlenecks, inspect memory usage, and track key health metrics over time. The website at spark.lucko.me serves two purposes: it hosts downloads and documentation, and it acts as an online viewer for the data spark generates.

What spark does

spark is made up of three main components, each targeting a different kind of performance question:

Component What it does Typical use
Profiler Diagnoses performance problems and bottlenecks Finding out why a server tick is slow or where CPU time is going
Memory Inspection Produces full heap dumps, summarizes what is using the most memory, and monitors GC activity Tracking down memory leaks or excessive garbage collection
Health Reporting Monitors and reports a number of key metrics Watching performance trends over time

If your problem is "something is lagging and I don't know what," the profiler is the starting point. If your problem is "memory keeps climbing" or "GC pauses are frequent," memory inspection is the relevant tool. If you want ongoing visibility rather than a one-off diagnosis, health reporting covers that.

Using the online viewer

The viewer on spark.lucko.me is where you read the data spark collects. The workflow described on the site is:

  1. Generate a profile or heap summary using the appropriate spark commands.
  2. After the data has been uploaded, click the link to open the viewer.
  3. Alternatively, generate or export a .sparkprofile or .sparkheap file and open it by dragging it into the box on the page.

The drag-and-drop box accepts only .sparkprofile or .sparkheap files. If you have data in another format, it will not open here.

Where to get spark and learn more

The site points to three resources:

  • Downloads — get the latest version of spark.
  • Documentation — read the documentation and usage guides.
  • GitHub and Discord — more information about spark is on GitHub, and there is a Discord for chatting with the project.

The website and viewer themselves are written in JavaScript using the React framework and are open-source on GitHub, with pull requests welcomed.

When spark is the right tool

spark fits situations where you need to measure rather than guess: a Minecraft server, client, or proxy that is underperforming, memory that behaves unexpectedly, or a need to track metrics over time. It is a diagnostic and monitoring tool, not a fix in itself — you still have to interpret the profile or heap summary and act on what it shows. For that interpretation step, the documentation and the community channels linked from the site are the places to go next.

Is the spark Viewer open source and what is it built with?

Yes. The spark Viewer hosted at spark.lucko.me is open source and is written in JavaScript using the React framework. The project is published on GitHub, and the site explicitly welcomes pull requests.

What the Viewer is built with

According to the site itself, the website/viewer is written in JavaScript using the React framework. That description covers the front-end application you interact with when you open a profile or heap summary in the browser.

Where the source lives

The Viewer is open-source'd on GitHub. The spark site also points to GitHub for more information about spark generally, so GitHub serves as the central place for both the project and the Viewer code. The site notes that pull requests are much appreciated, which confirms contributions are accepted rather than the code being published read-only.

What the Viewer does

The Viewer is an online tool for inspecting spark data. To use it:

  1. Generate a profile or heap summary using the appropriate spark commands.
  2. After the data has been uploaded, click the link to open the Viewer.
  3. Alternatively, generate or export a .sparkprofile or .sparkheap file and open it by dragging it into the box on the page.

The drag-and-drop box accepts only .sparkprofile or .sparkheap files.

Contributing

Because the Viewer is open source on GitHub and pull requests are welcomed, the practical path to contributing is to work from the GitHub repository rather than the hosted site. The site does not list a separate contribution guide for the Viewer beyond that invitation, so the repository itself is the place to check for how changes are proposed and reviewed.

What can you do with the spark Viewer on spark.lucko.me?

The spark Viewer is the web-based interface on spark.lucko.me for opening and inspecting spark performance data. You can use it in two ways: upload a profile or heap summary generated by spark commands and open the link it produces, or drag a .sparkprofile / .sparkheap file into the drop area on the page. Only those two file formats are accepted.

What the Viewer is for

spark itself is a performance profiler for Minecraft clients, servers, and proxies. Its data is produced by three main components:

  • Profiler — diagnoses performance problems and bottlenecks.
  • Memory Inspection — produces full heap dumps, summarizes what is using the most memory, and monitors GC activity.
  • Health Reporting — monitors and reports key metrics for tracking performance over time.

The Viewer is the part of the website that displays that data. It is written in JavaScript with React and is open source on GitHub.

Two ways to open data in the Viewer

1. Generate data with spark, then follow the upload link

  1. Run the appropriate spark command to generate a profile or heap summary.
  2. After the data has been uploaded, click the link to open the Viewer.

The expected result is that the Viewer opens with your uploaded profile or heap summary loaded for inspection.

2. Drag and drop a local file

You can also generate or export a .sparkprofile or .sparkheap file and open it directly:

  1. Locate the exported .sparkprofile or .sparkheap file.
  2. Drag it into the drop box on the page, or click the box to select the file.

The page states: “Drag & drop a profile/heap file here or click to select (only .sparkprofile or .sparkheap files are accepted).”

File format rules

Format Accepted by the Viewer?
.sparkprofile Yes
.sparkheap Yes
Any other file type No

Common sticking points

  • Wrong file type. If the file is not .sparkprofile or .sparkheap, the Viewer will not accept it.
  • No data yet. The upload-link route only works after you have generated a profile or heap summary with the appropriate spark commands.
  • Local file route. If you already have an exported file, you do not need to upload first — drag and drop is enough.

For more detail on spark itself, the site points to GitHub and its Discord community.

Where to Find spark Downloads, Documentation, and Support

spark.lucko.me is the official home of spark, a performance profiler for Minecraft clients, servers, and proxies. From this site you can reach the latest download, the documentation and usage guides, the online viewer, and the GitHub and Discord channels for source code and community help. Use the sections below to go straight to the resource you need.

Downloads

The site provides a Downloads entry for getting the latest version of spark. This is the starting point when you want to install or update the profiler on a Minecraft client, server, or proxy.

Documentation

A Documentation entry links to the documentation and usage guides. Consult it for the commands and workflows involved in generating profiles, heap summaries, and health reports.

The Online Viewer

spark.lucko.me is also an online viewer for spark data. To use it:

  1. Generate a profile or heap summary using the appropriate spark commands.
  2. After the data has been uploaded, click the link to open the viewer.
  3. Alternatively, generate or export a .sparkprofile or .sparkheap file and drag it into the box on the page (or click to select it). Only those two file types are accepted.

The website and viewer are written in JavaScript using the React framework and are open-sourced on GitHub, with pull requests welcomed.

Source Code and Community Support

For more information beyond the site itself, spark points to two external channels:

Resource What it's for
GitHub More information about spark and the open-source code behind the website/viewer
Discord Chatting with the project community

What spark Does (Quick Context)

spark is a performance profiler made up of three main components:

  • Profiler — diagnoses performance problems and bottlenecks.
  • Memory Inspection — produces full heap dumps, summarizes what is using the most memory, and monitors GC activity.
  • Health Reporting — monitors and reports key metrics useful for tracking performance over time.

Knowing these components helps you pick the right documentation section and the right viewer file type for your task.

What Are the Three Main Components of spark and What Does Each Do?

spark is a performance profiler for Minecraft clients, servers, and proxies, and it is built from three main components: a Profiler, Memory Inspection, and Health Reporting. Each one targets a different kind of performance question, so the right choice depends on whether you are chasing a lag spike, investigating memory growth, or watching performance over time.

Profiler: diagnosing performance problems and bottlenecks

The Profiler is the component you reach for when something is slow and you need to know why. According to spark's own description, it helps "diagnose performance problems and bottlenecks with its built-in profiler."

Use it when you have a concrete symptom to explain, for example:

  • The server freezes for a second or two at regular intervals.
  • A specific action, such as a large redstone contraption or a modded machine, causes a visible stall.
  • Tick times are consistently higher than you expect and you want to find the code responsible.

The output of a profiling run is what you then open in the viewer on spark.lucko.me to inspect where time is being spent.

Memory Inspection: heap dumps, memory summaries, and GC activity

Memory Inspection answers questions about memory rather than raw CPU time. spark can:

  • Produce full heap dumps.
  • Present a summary of what is using the most memory.
  • Monitor GC (garbage collection) activity.

This is the component to use when the symptom is memory-related, for example:

  • Memory usage climbs steadily and never seems to come back down.
  • You suspect a leak and want to see which objects dominate the heap.
  • Garbage collection pauses are causing noticeable hitches.

A heap summary or full heap dump generated here is also viewable through the same online viewer.

Health Reporting: tracking key metrics over time

Health Reporting is the long-term observation component. spark "monitors and reports a number of key metrics which are useful for tracking performance over time."

Where the Profiler and Memory Inspection are about investigating a specific moment, Health Reporting is about the trend. Use it when you want to know whether performance is degrading gradually, whether a recent change made things better or worse, or whether a server behaves differently at peak hours than at quiet ones.

Choosing between the three

Component Question it answers Typical trigger
Profiler Where is time being spent, and what is the bottleneck? Lag spikes, slow ticks, a specific action causing stalls
Memory Inspection What is using memory, and how is GC behaving? Rising memory, suspected leaks, GC pauses
Health Reporting How is performance changing over time? Tracking trends, comparing before/after a change

The three are complementary rather than alternatives. A common sequence is to notice a problem through Health Reporting, confirm and locate it with the Profiler, and then check Memory Inspection if the cause looks memory-related.

Getting data into the viewer

The spark website doubles as an online viewer for spark data. To use it:

  1. Generate a profile or heap summary using the appropriate spark commands.
  2. After the data has been uploaded, click the link to open the viewer.
  3. Alternatively, generate or export a .sparkprofile or .sparkheap file and open it by dragging it into the box on the page.

The drag-and-drop box only accepts .sparkprofile or .sparkheap files, so other file types will not load. The viewer itself is written in JavaScript using the React framework and is open-source on GitHub.

Website Overview

An established domain and managed infrastructure suggest continuity of operations and may support dependable delivery, although neither guarantees service quality. An active inbound-mail setup with incomplete authentication may leave the domain more open to impersonation. Provider hosting alone does not close that gap.

Domain and Registration

Registered in 2015, this domain has about 10 years of history. That suggests continuity, although ownership and purpose may have changed. Transfer-protection status is present, helping reduce the risk of unauthorized domain transfers. The registrar is Cloudflare, Inc, a widely used domain service provider. The domain uses the common .me extension, which is not an independent safety signal.

DNS and Email

The observed email authentication setup is incomplete: DMARC is missing. Nameservers are provided by Cloudflare, indicating managed DNS hosting. MX records point to the Zoho Mail email service. DNSSEC is enabled, allowing validating resolvers to authenticate signed DNS data. No CNAME was found; the observed records resolve directly to addresses.

TLS and Certificates

The public key uses EC with 256 bits. The server supplied a complete certificate chain. No organization name is present in the certificate; the available fields are consistent with domain validation. The certificate was issued within the Google Trust Services cloud or CDN ecosystem. The certificate's total validity is about 90 days, consistent with a short renewal cycle.

HTTP and Browser Security

The response lacks these common security headers: CSP, X-Content-Type-Options, Referrer-Policy, Permissions-Policy, clickjacking protection. CORS permits any origin to read this response. This is common for public resources; sensitive responses need narrower handling. No X-Powered-By header was found, reducing one common source of backend fingerprinting information. The cf-ray response header indicates a CDN or caching proxy in the delivery path. No obvious internal addresses or debug information were found in the headers.

Technology Stack Analysis

The public page identifies Next.js, Cloudflare, Vercel without precise versions, leaving fewer clues for version-specific scanning.

Search and Social Sharing

No homepage canonical URL was detected. If duplicate URLs exist, consolidation may be less explicit. Twitter Card metadata is configured. The title has 5 characters, within a common display range. A meta description is present, with 76 characters. The observed directives allow indexing and link following.

Hosting and Email

DNSCloudflare
HostingVercel
EmailZoho Mail
Approximate IP geolocation (inferred; a CDN or proxy may differ from the origin server) Location unknown Inferred 104.21.76.198

Registration details

RDAP / WHOIS

RegistrarCloudflare, Inc
Registered2015-12-07
Expires2028-12-07
Domain statusclientTransferProhibited https://icann.org/epp#clientTransferProhibited
Nameserverspaul.ns.cloudflare.com、tina.ns.cloudflare.com
DNSSECsigned

DNS records

DNS

TypeNameValueTTLPriority
Aspark.lucko.me104.21.76.198300—
Aspark.lucko.me172.67.200.46300—
AAAAspark.lucko.me2606:4700:3033::ac43:c82e300—
AAAAspark.lucko.me2606:4700:3037::6815:4cc6300—
MXlucko.memx.zoho.com30010
MXlucko.memx2.zoho.com30020
NSlucko.mepaul.ns.cloudflare.com86400—
NSlucko.metina.ns.cloudflare.com86400—
TXTlucko.mekeybase-site-verification=uB8e2kMQx1rGUfMICqAl3RLCg2LbENNmpDsBVIv4p8U300—
TXTlucko.mev=spf1 include:zoho.com ~all300—
DSlucko.me2371 13 2 a8c8d2af71a47cba501dcdb30b553715dbce7559327d470b36ffcfc9bcbef0f03600—

TLS and certificates

TLS / SSL

AssessmentNormal configuration
Supported protocolsTLSv1.2、TLSv1.3
Negotiated protocolTLSv1.3
Certificate subjectlucko.me
IssuerGoogle Trust Services
Valid until2026-12-26T13:57 · Remaining when checked: 86 days
Verification detailsCertificate trust: Passed · Hostname match: Passed

HTTP response headers

HTTP

HeaderValue
content-typetext/html; charset=utf-8
cache-controlpublic, max-age=0, must-revalidate
servercloudflare
strict-transport-securitymax-age=31536000; includeSubDomains; preload
access-control-allow-origin*

Identified technologies

Next.jsCloudflareVercel

Pages, Search and Sharing

Meta descriptionspark is a performance profiler for Minecraft clients, servers, and proxies.
Canonical URLNot detected
LanguageEnglish (default)
Twitter Cardsummary
All bots 1 allowed · 0 disallowed
  • Allow/

No sitemaps found

User reviews (0)

  • No reviews yet.