Skip to main content

Welcome

· 2 min read
Ben Robson
Founder & Developer at Modular Software

Greetings Everyone,

We extend a warm welcome to Modular Software, a dynamic collective of dedicated developers passionately engaged in crafting an array of diverse applications. Our talented team specializes in a broad spectrum of software development, from creating Minecraft Plugins and Datapacks to building extensive web-scale applications.

At Modular Software, we're committed to pushing the boundaries of innovation and crafting software that enhances various facets of your digital experience. Currently, our application portfolio includes:

  • Craftify: Dive into the enchanting world of Minecraft with Craftify, a Minecraft datapack that elevates the gameplay experience. Craftify brings a new level of excitement and creativity to your adventures in the blocky realm, making every moment more engaging and immersive.
  • DevoteMe: For those seeking spiritual growth and reflection, we've designed DevoteMe, an application suite intended to foster Bible reading and contemplation. This powerful tool empowers users on their spiritual journey by encouraging and facilitating a deeper connection with their faith.
  • PlayerHeadHunt: If you're a fan of in-game challenges and treasure hunts, PlayerHeadHunt is the Minecraft plugin you've been searching for. Unleash your inner adventurer with this versatile tool, which can be used for anything from scavenger hunts to Easter egg quests. Get ready for endless fun and excitement as you hunt for prizes and hidden treasures!

These are just a few of the applications that we've brought to life, and we're not stopping there. Our team is hard at work on many more exciting projects that will continue to push the boundaries of what software can do. We're dedicated to creating solutions that make a meaningful impact in the gaming and digital world.

Stay tuned for updates on our current projects and be part of our exciting journey as we continue to innovate and develop cutting-edge software solutions. Thank you for joining us at Modular Software, where the possibilities are limitless, and the future is boundless!

Introducing Zander - Now Open Source!

· 2 min read
Ben Robson
Founder & Developer at Modular Software

We're excited to announce that Zander, our flagship project at Modular Software, is now officially open source!

For those unfamiliar, Zander is a powerful web-based application that operates and connects between Minecraft, Discord and it's own web-based platform and API. This project is mainly being used by our group over at Crafting For Christ. Zander is the backbone for and main operation system for this server.

Why Open Source?

Open-sourcing Zander is a move that reflects our commitment to transparency, collaboration, and innovation. By making the source code available to the public, we aim to:

  • Foster Collaboration: We believe that the best ideas come from diverse perspectives. By opening up Zander, we're inviting developers from around the world to contribute, share ideas, and help shape the future of the project.
  • Accelerate Development: With the community's involvement, we can identify and fix bugs faster, implement new features, and continuously improve the framework. Your contributions can make a real impact on the speed and direction of Zander's evolution.
  • Support Learning and Growth: Whether you're a seasoned developer or just starting out, contributing to an open-source project like Zander is a fantastic way to learn, grow, and showcase your skills. You'll have the opportunity to work alongside experienced developers and gain insights into best practices in modern web development.

How to Get Involved

Getting started with Zander is easy. Here’s how you can contribute:

  • Explore the Codebase: Head over to our GitHub repository for Zander's web/api framework at https://github.com/ModularSoftAU/zander-web or the Minecraft framework at https://github.com/ModularSoftAU/zander to familiarize yourself with the code.
  • Submit Pull Requests: If you’ve got a fix or a new feature, fork the repository, create a branch, and submit a pull request. We’re here to review and merge your contributions.
  • Join the Discussion: Participate in discussions on GitHub or join our community forums. Your feedback and ideas are invaluable to us and you can do that over at our Discord: https://discord.gg/YRpakuYhJZ

Thank you for your support, and welcome to the Zander open-source community!

Zander v1.1.0 Patch Notes

· 3 min read
Ben Robson
Founder & Developer at Modular Software

Hello Everyone,

I hope you're all having a good 2024, I am releasing a new update which introduces Ranks, some modification to configuration and some bug fixes.

Notes & Configuration Changes

I would like to note that in this update we have migrated some configuration and added additional configuration options.

config.json

  • A new keywords field has been added for SEO configuration.
  • The discord.channels is now discord.webhooks and now requires a webhook URL for (welcome, networkChatLog, adminLog) to operate.
  • Added a Discord webhook for staffChannel for the staffhelp command.

Features

  • Ranks - Ranks is a feature that allows Administration to modify configuration file to display ranks, perks and have linked in to external URLs to support the server.

Patch Notes

Hub

No changes for this update.

Proxy

  • Implemented a Command Spy Event which sends command data to API.
  • Implemented a Social Spy Event which sends direct message (dm) data to API.

Web

  • Made urgent change to hasPermission, allowing non-logged in users to view administration panel.
  • Change node engine to support Node 18.
  • Logs: Make usernames more presentable in logs.
  • Add page descriptions to headers.
  • Added keywords and SEO option to configuration.
  • Add documentation badges for dashboard list and editors.
  • Made changes for view and session page changes to be more mobile friendly.
  • Resolved mobile styling issues with dashboard views.
  • Resolve issues with cookie banner not showing on /register.
  • Added a staffChannel config option with the addition of the /staffhelp command.
  • Reformat all project files using Prettier.
  • Resolve issue with logout causing the application to crash.
  • Separate redirect route into own file, add config option for kb and added issue tracker route.
  • Added keywords to config.json for SEO configuration.
  • Added ranks.json for rank configuration.
  • Added following front-facing routes:
    • Ranks /ranks
    • Added /issues redirect.

API

Have a look at our API documentation for information on routes functionality.

  • Implement Command & Social Spy API Functionality.
  • Discord
    • Implemented /spy/command
    • Implemented /spy/directMessage

Discord

  • Filter: Patched delete message after filtering prohibited content.
  • Filter: Fixed issue where filter errors after response is sent.
  • Network Log: Fixed spacing messages.
  • Network Log: Remove deleted channel field from being mentioned twice.
  • Migrate all discord channel-based functions to webhooks.
  • Implemented the following commands:
    • poll - Ask everyone a question or something to vote on!
    • staffhelp - Sends a message to our Staff for help or assistance.
    • ranks - Display link to view rank perks and donate.

Zander v1.0.0 Patch Notes

· 7 min read
Ben Robson
Founder & Developer at Modular Software
Jaedan
Developer at Modular Software
Aron
Developer at Modular Software

Hello Everyone,

We're releasing our first of many patch notes for Zander, a multi-platform Minecraft Server management tool. We have only implemented most of the basics but we are working towards implementing a full suite of features which will allow you to manage your Minecraft Server with ease.

Features

  • Announcements - Announcements is a feature that allows Administration to broadcast messages across your Server and Website and have linked in to external URLs if required.
  • Applications - Allows administrative users to create, edit and delete applications. Applications are used for things like Server Position applications and other Server roles.
  • Discord - The Discord feature allows for moderation, community interaction and much more.
  • Server - Allows administrative users to add, edit and remove Servers. Adding a server will list the server on the /play page and also list the server on the /play command on Discord.

Patch Notes

Hub

  • Added /fly command which can be applied to users via zander.hub.fly.
  • Added a Hub Booster which can be placed as a Light Weighted Pressure plate which will allow players to be launched in the direction they're looking at with the configuration options set in the config.yml file.
  • Added a player join event which:
    • Cleared player's inventory of miscellaneous items upon joining.
    • Teleports the player to the Hub spawn point, if configured in the config.yml.
    • Gives the player a navigation compass and set the player's current slot to the navigation compass.
    • Sets off a celebratory firework and separate Message of the Day (MOTD) sent for new players as specified in welcome.yml.
    • Plays a random sound to the player upon joining.
    • Broadcasts a message announcing the player's join, if they are not vanished.
  • Added welcome.yml to configure MOTD for players.
  • Added a variant player join event which alters the Message of the Day (MOTD) for Christmas time between 24th and 25th of December.
  • Add check to avoid players from infinite falling in void.
  • Added a compass item to navigate to set Servers.
  • Implemented Creature, Interaction and Hub prevention to stop Hub being damaged by players.

Proxy

  • Implemented /discord command which redirects player to Network discord.
  • Implemented /ping command to test players connection to Proxy.
  • Implemented /rules command which redirects player to Network discord.
  • Implemented /website command which redirects player to Network website.
  • Implemented a proxy-side connection for link and word filtering.
  • Implemented Chat Event which checks chat messages for blocked content, sends a request to a filtering API, blocks messages containing restricted content and notify the player, and sends approved messages to a Discord channel for Network Log monitoring.
  • Implemented User Disconnection Event which checks if the player is still connected, sends a request to the API to destroy the player's session and sends a request to the API to notify Discord channel for Network Log monitoring of the leave event.
  • Implemented User Login event which retrieves the player logging in, sends a request to the API to create a new user if they're new, sends a request to the API to start a session, including the player's unique ID and IP address and then sends a request to the API to notify Discord channel for Network Log monitoring of the join event.
  • Implemented a Proxy Ping event which is displayed when players ping the server. It retrieves the MOTD from an API, applies formatting, and sets it as the server's description. If an error occurs, it falls back to a default MOTD specified in the config.yml.
  • Implemented User Switch event which sends a request to the API to switch the player's session to the new server and sends a request to the API to notify Discord of the server switch for the Network log monitoring.
  • Added a config.yml file for MOTD fallback and API connection.

Web

  • Implemented framework for website, Discord and API.
  • Implemented Feature toggling to be able to enable or disable a feature via features.json
  • Implemented filter of words and links and the ability to control via filter.json
  • Implemented ability to have random join messages for Discord which can be added to via joinMessages.json
  • Implemented a small language file to expand on for translatability in lang.json
  • Added following front-facing routes:
    • Home /
    • Play /play
    • Apply /apply
    • Terms Of Service /terms
    • Rules /rules
    • Privacy /privacy
    • Refund /refund
    • Login /login
    • Register /register (which is currently toggleable)
    • Logout /logout
    • Added /discord redirect.
    • Added /webstore redirect.
    • Added /knowledgebase redirect.
  • Implemented administration dashboard and routes:
    • Added /dashboard.
    • Added /dashboard/announcements with the Announcement Editor to allow creation, deletion and ability to edit.
    • Added /dashboard/applications with the Applications Editor to allow creation, deletion and ability to edit.
    • Added /dashboard/servers with the Servers Editor to allow creation, deletion and ability to edit.
    • Added /dashboard/logs to view application logs an actions.

API

Have a look at our API documentation for information on routes functionality.

  • Announcement
    • Implemented /get
    • Implemented /create
    • Implemented /edit
    • Implemented /delete
  • Application
    • Implemented /get
    • Implemented /create
    • Implemented /edit
    • Implemented /delete
  • Server
    • Implemented /get
    • Implemented /get/users
    • Implemented /create
    • Implemented /edit
    • Implemented /delete
  • Session
    • Implemented /create
    • Implemented /destroy
    • Implemented /switch
  • Discord
    • Implemented /switch
    • Implemented /chat
    • Implemented /join
    • Implemented /leave
  • Web
    • Implemented /register/create
    • Implemented /configuration
    • Implemented /statistics
    • Implemented /logs/get
  • User
    • Implemented /create
    • Implemented /get
  • Implemented /heartbeat
  • Implemented /filter
  • Added function to verify token against API.

Discord

  • Implemented the following commands:
    • legoflip - A simple lego flip which generates 2 different avatar heads, a unique command for the community.
    • play - Display all Network servers to play on.
    • policy - Display Network policy (Rules, Terms, Privacy, and Refund).
    • rules - Display link to the Network Rules.
    • website - Display link to the Network Website.
  • Implemented a filter listener connected to the filter API which checks incoming messages for prohibited content, using filters for links or phrases if enabled. If such content is detected, it sends a warning to the message sender. If an error occurs during this process, it is logged.
  • Implemented a jokingly General Kenobi listener which checks if the message content includes the phrase "hello there" and if the condition is met, sent a message to the same channel saying 'General Kenobi'.
  • Implemented a Guild Boosting event which find the premium status of the user, and sends a message to the specified welcome channel about thanking them for the boost.
  • Implemented a welcome user event which checks for a Verified user, and sends a welcome message specified in joinMessages.json with a random HEX code to the welcome channel.
  • Implemented a message deletion event which checks for when a user deletes a message it creates an embed with details about the deleted message, including the author, channel, and content and sends to the specified admin log channel.
  • Implemented a message edit event which checks for when a user edits a message it creates an embed with details about the edited message, including the author, channel, and content and sends to the specified admin log channel.

Zander v1.2.0 Patch Notes

· 2 min read
Ben Robson
Founder & Developer at Modular Software
Jaedan
Developer at Modular Software
Aron
Developer at Modular Software

Hello Everyone,

Hope you are all well, we're releasing a new update which introduces account linking between Discord, Minecraft and the Website, some modification to configuration and some bug fixes.

Features

  • Player Profiles - Players can now link their Minecraft accounts with Discord and can sign in to customise and style their own player profile.

Patch Notes

config.json

  • A new googleTag field to utilise Google Analytics.

Permissions

  • Added zander.web.punishments for viewing player and Network punishments for an upcoming update.
  • Added zander.web.audit for viewing player and audit log on profile.

Hub

No changes added in this update.

Proxy

No changes added in this update.

Auth

  • Added zander-auth module JAR for backend Minecraft-based authentication.

Web

  • Added player profiles and profile editor.
    • Allows the user to add social media, about page, interests and more.
  • Implemented Discord-based authentication gateway.
  • Implement Google Analytics tags and config.

API

  • Implemented Discord-based authentication gateway.

Have a look at our API documentation for information on routes functionality.

Discord

  • Implemented the following commands:
    • apply - A simple application command to direct users to the application page.
    • poll - Command in the previous update, ported and updated for this suite.
  • Removed the following commands:
    • legoflip - due to the proxying of Minecraft images via Craftatar this killed all requests via discord making this command useless (Removed all Craftatar discord side features due to traffic amplification attacks.)