Arena is a demo server made with Minestom

Overview

Arena

standard-readme compliant
discord-banner

Arena is a demo server made with Minestom, as both a showcase for what Minestom is capable of and as a way to teach developers how to work with Minestom.

The demo server is hosted at minestom.net, or you can follow below guide to get it up and running yourself.

Table of contents

Install

Arena can be installed in multiple ways. You can use a pre-built version or clone and build it yourself. We recommend cloning since this allows you to experiment with Minestom.

Cloning

You can also choose to clone this repository with:

git clone https://github.com/Minestom/Arena.git

And then build with:

./gradlew build

You will then find your jar in ./build/libs/ which you can run with:

java -jar arena-1.0-SNAPSHOT-all.jar

Of course you can also use an IDE which makes this process easier.

Pre-built

Download the latest release from here and then run it with the following command:

java -jar arena-1.0-SNAPSHOT-all.jar

Goals

The reason behind making Arena was to help new developers get into Minestom and familiarize themselves with the toolchain. Besides, it's a good showcase of what Minestom can do.

Contributing

See the contributing file!

Comments
  • Use Instance#getWorldAge instead of System#currentTimeMillis

    Use Instance#getWorldAge instead of System#currentTimeMillis

    Shouldn't https://github.com/Minestom/Arena/blob/aee77686437fdaf24310d60a996de8a08e0b7370/src/main/java/net/minestom/arena/feature/BowFeature.java#L30-L36 use the instance world age rather than current time millis?

    opened by MrlnHi 4
  • Graceful shutdown

    Graceful shutdown

    The demo server is configured to restart at 00:00 every day in order to fetch updates, however this currently causes all players to be disconnected immediately, this PR solves that by waiting for all games to finish and prevents new ones from starting if a shutdown is initiated.

    opened by Kebab11noel 1
  • Adds NPCs to lobby

    Adds NPCs to lobby

    Adds 4 NPCs to the lobby, three for links to website, Discord and this repo and another one for starting a game. I also split the lobby class into multiple since it was getting quite big.

    opened by kiip1 0
  • Fix various bugs

    Fix various bugs

    • [x] Fix evoker looking at players in a different instance (resolves #50)
    • [x] Update AI methods to not use their deprecated counterparts
    • [x] If you leave during round start countdown, you still receive the countdown/items/armour
    • [x] If you disband/are not in a group then create a new group you don't have the scoreboard/sidebar
    • [x] Confusing messages when setting another player to group leader and you aren't the leader
    • [x] Make the process for joining a group when you have an existing group less spammy
    • [x] If the size of a group is > 16, the scoreboard lines will go over the max and cause errors. Replace this with a ... 5 more
    opened by ZakShearman 0
  • Entity can look at another entity that is within it's own instance

    Entity can look at another entity that is within it's own instance

    [Ms-Tick-0] [01:52:09] (Main.lambda$main$7) - ERROR - Global exception handler: java.lang.IllegalArgumentException: Entity can look at another entity that is within it's own instance
            at net.minestom.server.utils.validate.Check.argCondition(Check.java:36)
            at net.minestom.server.entity.Entity.lookAt(Entity.java:355)
            at net.minestom.arena.game.mob.EvokerMob.lambda$new$1(EvokerMob.java:32)
            at net.minestom.arena.game.mob.EvokerMob$ActionGoal.tick(EvokerMob.java:97)
            at net.minestom.server.entity.ai.EntityAIGroup.tick(EntityAIGroup.java:94)
            at net.minestom.server.entity.ai.EntityAI.lambda$aiTick$0(EntityAI.java:48)
            at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
            at java.base/java.util.concurrent.CopyOnWriteArraySet.forEach(CopyOnWriteArraySet.java:425)
            at net.minestom.server.entity.ai.EntityAI.aiTick(EntityAI.java:48)
            at net.minestom.server.entity.EntityCreature.update(EntityCreature.java:48)
            at net.minestom.server.entity.Entity.tick(Entity.java:540)
            at net.minestom.server.thread.TickThread.tick(TickThread.java:66)
            at net.minestom.server.thread.TickThread.run(TickThread.java:41)
    

    on another note, that error message is pretty confusing lol, maybe "Entity cannot look at another entity that isn't within it's own instance"

    opened by emortaldev 0
  • Better combat

    Better combat

    • Add attack invulnerability (No longer get insta killed by a group of zombies nor can you insta kill zombies at 20cps)
    • Better holograms (No longer blocks your attacks)
    • Revive on stage complete (Share coins with fellow group members)
    • Make skeletons attack less often
    opened by kiip1 0
  • Balance combat and add more shop items

    Balance combat and add more shop items

    Before you could get to any stage you wanted basically, now it gets much harder at higher stages. The first few stages are still very doable by any person. I also fixed some bugs (/lobby letting you fall out of world, misleading attack indicator, MOTD for open to LAN being yellow instead of gold)

    opened by kiip1 0
  • Shop

    Shop

    • Adds shop to mob arena
    • Before next stage starts all group members must continue
    • You can buy weapon and armor upgrades and health restoration
    • The shop is a NPC in the center of the arena
    • Made damage modifiable (Used by armor and weapon)
    • Added some utilities which might come in handy for others image image
    opened by kiip1 0
Releases(latest)
Owner
Minestom
Reimplementing a light Minecraft server
Minestom
spark client is a utility mod for anarchy server made by dvd, geza3d and me

Spark-Client spark client is a utility mod for anarchy server made by dvd, geza3d and me.

null 42 Dec 11, 2022
Essentials - Minecraft server command mod - Adds over 100 commands for use in-game to help manage a server

Essentials Development Readme The official repository is at: https://github.com/essentials/Essentials We use NetBeans 7.3 for development. Recommended

Essentials 811 Jan 7, 2023
The most powerfull forge server software (not yet) which aims for high capacity and performance on 1.16.5 modded server.

GoldenForge The most powerfull forge server software (not yet) which aims for high capacity and performance on 1.16.5 modded server. Current work Asyn

null 20 Sep 3, 2022
A Minecraft server proxy with unparalleled server support, scalability, and flexibility

Velocity A Minecraft server proxy with unparalleled server support, scalability, and flexibility. Velocity is licensed under the GPLv3 license. Goals

PaperMC 1.2k Jan 8, 2023
simple spigot plugin malware remover, made in 10 minutes lol

spigot-malware-remover Simple spigot plugin malware remover made in 10 minutes, using ASM bytecode manipulation library. Compile it using maven, if yo

Michał Kaczmarek 24 Oct 29, 2022
Plugin with helpful tools for factions, made to be used beside atlas spigot.

AtlasUtils Plugin with helpful tools for factions, made to be used beside atlas spigot. Features: Config: Found in your plugins folder at AtlasUtils/c

null 2 Dec 24, 2021
A fairly Simple Game made in Java,You can adopt Pets, name them, and take care of them for XpPoints and level up!

Introducing PetGame! A simple console based game made by @denzven in Java ☕ About the Game PetGame is my first big project in Java, the rules are simp

Denzven 11 Jun 7, 2022
Minecraft Mod: Torches made from glowing squids that can be used underwater!

Aquatic Torches No more dark oceans Ever wondered what to do with glowing ink sacs aside from glowing item frames? Aquatic Torches adds waterproof tor

Marius 2 Jan 9, 2022
It's a particle system only appliaction. Made with LWJGL (OpenGL and GLFW for Java) and ImGui.

ParticleParty It's a particle system only appliaction. Made with LWJGL (OpenGL and GLFW for Java) and ImGui. How To Use Move the camera with ctrl + W/

Ahmet Aydogan 2 Jan 8, 2022
A game made in Javafx that includes animation, background music, and view leaderboards

A game made in Javafx that includes animation, background music, and view leaderboards. To keep the game alive, a player has to move the ball up/down by pressing the up/down arrow so that the ball only touches different rotating obstacles with the same color. ..

Bijendar Prasad 3 Nov 19, 2022
A Minecraft mod made by TurtyWurty's community with a theme around ancientness and mythology

Ancientology Description A Minecraft mod made by TurtyWurty's community with a theme around ancientness and mythology. This uses the Forge modding API

null 8 Aug 12, 2022
A simple puzzle game made with Unity to practice the game engine

A simple puzzle game made with Unity to practice the game engine.

Eyüb Salih Özdemir 1 Mar 30, 2022
Simple plugin made for TimBW HCF to fix pearling noclip exploit

Simple plugin made for TimBW HCF to fix pearling noclip exploit. It currently can prevent pearl glitching throught blocks, and fences like all servers! Basic features implemented, so you can use this in production. ??

null 2 Aug 10, 2022
Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2.

MinecraftSnake Play snake, in minecraft. This is a crude, horibly made snake in minecraft game. Requires PaperMC 1.18.2. Installation: Create a paperm

null 1 Sep 30, 2022
An arcade game project which made using java and swing for graphics

Arcade_Game_Development This is an arcade game project which made using java and swing for graphics. Meteor Dodge Here you have to dodge the meteor an

Md. Shakib Shahariar Junayed 1 May 25, 2022
Chess made as an assignment project for OOP course 2021/22

chess Chess made as an assignment project for OOP course 2021/22 Installation Project is built with Clone the repository In the directory containing p

Michał Horodecki 3 May 1, 2022
A mod about player interactions, made for Modfest: Singularity.

Affectionate A mod about affectionate player interactions, made for Modfest: Singularity. What is it? This mod focuses on affectionate player interact

LambdAurora 15 Dec 10, 2022
Jetserver is a high speed nio socket based multiplayer java game server written using Netty and Mike Rettig's Jetlang.It is specifically tuned for network based multiplayer games and supports TCP and UDP network protocols.

Note New version of Jetserver is called Nadron and is in a new netty 4 branch of this same repo. JetServer is a java nio based server specifically des

Abraham Menacherry 1.2k Dec 14, 2022