PumpkinMC Artwork

Wiki & Guides

PumpkinMC

Minecraft Server Software · Rust · Pumpkin-MC (Open Source)

Rent PumpkinMC Server

Installing and understanding Pumpkin plugins

Pumpkin uses WebAssembly plugins instead of Bukkit: how to install .wasm plugins, control permissions and memory limits, and write your own in Rust, Go or Python.

Last updated September 5, 2026 · RespawnHost

On this page

Installing Pumpkin plugins

Pumpkin has its own plugin system based on WebAssembly. A plugin is a .wasm file placed in the plugins/ folder. Bukkit, Spigot and Paper plugins do not work — the APIs have nothing in common.

How to install a plugin:

  1. Open the Files area in the RespawnHost panel.
  2. Create a plugins folder in the main directory if it does not exist yet.
  3. Upload the .wasm file into it.
  4. Restart the server — or enable hot reload (see below).

Why WebAssembly instead of Java jars?

Because Pumpkin does not execute Java at all. WebAssembly gives the server two things a classic jar cannot:

  • Language freedom: plugins can be written in Rust, Python, C#, C, Go or Kotlin. The interface is defined through WIT (WebAssembly Interface Types), not through a Java API.
  • Isolation: every plugin runs in a sandbox with its own permissions and memory limit. A plugin can only do what you allow it to do.

How do I configure the plugin system?

Everything lives in pumpkin.toml under [plugins]:

[plugins]
enabled = true
hot_reload = false
allow_unsigned = true
verify_signatures = false
OptionMeaning
enabledPlugin system on or off
hot_reloadReloads changed plugins while running
allow_unsignedLoads plugins without a signature
verify_signaturesVerifies cryptographic signatures before loading
allowed_permissionsGlobally allowed permissions
blocked_permissionsGlobally blocked permissions

Rules can be tightened or relaxed per plugin:

[plugins.overrides.my-plugin]
max_memory_mb = 64

Besides the memory limit you can set individual permissions and environment variables there.

Warning

A plugin is executable code on your server. Only load plugins from sources you trust, and give third-party code a memory limit and permissions as narrow as possible. allow_unsigned = false together with verify_signatures = true is the strictest setup — it only works with signed plugins.

When is hot reload worth it?

On development servers: rebuild the plugin, upload the file, Pumpkin picks it up without a restart. On production servers, leave the option off — otherwise a half-uploaded plugin gets loaded mid-session.

Writing your own plugins

The official documentation provides quick starts for Rust, Python, C#, C, Go and Kotlin, each covering basic logic, commands, events, inventories and configuration. For newcomers there is a dedicated migration track from Bukkit showing how Bukkit concepts map onto the Pumpkin API.

Licensing is deliberately permissive: the server is GPLv3, but the plugin API (pumpkin-plugin-api and pumpkin-plugin-wit) is MIT or Apache-2.0 — your plugin does not have to be GPL.

Tip

A small plan is plenty for development. With per-second billing, a test server that only runs while you code costs very little — and you can stop it at any time.

Frequently asked questions

Do EssentialsX, LuckPerms or WorldEdit run on Pumpkin? No. Those plugins require the Bukkit API, which Pumpkin does not implement.

Where do I find ready-made Pumpkin plugins? The ecosystem is young and there is no established marketplace like SpigotMC yet. The community around GitHub and the project Discord is the place to look.

What file extension does a plugin use? .wasm. Other files in the plugins/ folder are ignored.

Can a plugin crash the server? The sandbox limits memory and permissions, but a broken plugin is still a broken plugin. Test new plugins on a separate server before they reach your main one.

Do plugins need extra RAM? Plugins get their own memory allocation (max_memory_mb). Factor that in on top of the server when choosing a plan — see the setup guide.

Rent a PumpkinMC server — with full file access for your own plugins.