magmafoundation / Magma
Programming Languages
Projects that are alternatives of or similar to Magma
About
Magma is the next generation of hybrid minecraft server softwares.
Magma is based on Forge and Paper, meaning it can run both Craftbukkit/Spigot/Paper plugins and Forge mods.
We hope to eliminate all issues with craftbukkit forge servers. In the end, we envision a seamless, low lag Magma experience with support for newer 1.12+ versions of Minecraft.
BungeeCord
If you want to use Magma in a BungeeCord network, we recommend to use HexaCord instead since it has 1.7 and Forge Support. If you experience entity errors with Forge mods you can use KettleCord, which is a HexaCord fork that fixes this bug.
In order to use Magma with BungeeCord, you have to enable forge-support
in the BungeeCord config, set online-mode
to false in server.properties and bungeecord
to true in spigot.yml.
Big Paper Update π
Magma at the moment is not using all of the API/Patches with this update we will have all features of Paper and more optimizations (including Timings v2).
We can't wait to have this finished and shared with all for a better/faster server software.
All work is being done on the paper branch if you would like to check it out.
1.15
Magma 1.15.x is in beta! Learn more here.
1.16
Magma 1.16.x is in development, but a usable release is not available yet. You can still view the source code here.
Deployment
Installation
- Download the recommended builds from the Releases section (Do not use the "-installer" version as it is broken right now)
- Download Beta builds from the CI
- Make a new directory(folder) for the server
- Move the jar that you downloaded into the new directory
- Run the jar with your command prompt or terminal, going to your directory and entering
java -jar Magma-[version]-server.jar
. Change [version] to your Magma version number.
Building the sources
- Clone the Project
- You can use Git GUI (like GitHub Desktop/GitKraken) or clone using the terminal using:
git clone https://github.com/MagmaFoundation/Magma
- Next, clone the submodules using:
git submodule update --init --recursive
- You can use Git GUI (like GitHub Desktop/GitKraken) or clone using the terminal using:
- Building
- First you want to run the build command
./gradlew launch4j
- Now go and get a drink this may take some time
- Navigate to
build/distributions
directory of the compiled source code - Copy the Jar to a new server directory (see Installation) or run
./gradlew launchServer
- First you want to run the build command
Plugin Development
- Clone the Project
- You can use Git GUI (like GitHub Desktop/GitKraken) or clone using the terminal using:
git clone https://github.com/MagmaFoundation/Magma
- Next, clone the submodules using:
git submodule update --init --recursive
- You can use Git GUI (like GitHub Desktop/GitKraken) or clone using the terminal using:
- Building Jar
- First you want to run the plugin gen command
./gradlew genPluginJar
- Now go and get a drink this may take some time
- Navigate to
build/distributions
directory - You should have a jar like
Magma-xxxxxx-plugin.jar
- Now create a plugin with that jar.
- First you want to run the plugin gen command
Contributing
If you wish to inspect Magma, submit PRs, or otherwise work with Magma itself, you're in the right place!.
Please read the CONTRIBUTING.md to see how to contribute, setup, and run.
Chat
You are welcome to visit Magma's Discord server here.
You could also go to Magma's subreddit here.
Unstable/Test builds
For unstable/test builds you can check the CI
Partners
YourKit
YourKit, makers of the outstanding java profiler, support open source projects of all kinds with their full featured Java and .NET application profilers.