Interordi Menu
Langue / Language English Français

Portfolio

This is a limited selection of my more recent projects that also happen to be available to the public.

Sites and tools

Interordi.com

Main site

  • PHP
  • CSS
  • Twig

Interordi.com is the website on which you currently are. It is used as the main index for all my projects that are available online. The design was created to be clean and light, allowing the users to quickly find what they're looking for, without falling into the trap of a site that's bland and without contrast, as favored by adepts of extreme minimalism.

Creeper's Lab

Site for gamers

  • PHP
  • CSS

The website of the Creeper's Lab targets a gaming community. As such, the design used over there aims to be more fun and visually attractive by using strong colors and symbols. A greater density of information is used to allow the various visitors to gain access to their favorite content as quickly as possible.

IOBoard

Discussion forums

  • PHP
  • CSS
  • JavaScript

The main discussion forums for Interordi are a platform that's been continuously evolving since 2005 and gets constantly improved with the addition of new functionalities to better serve the community. A large refresh in 2020 was focused on renewing and cleaning up the interface, and (finally) adding proper mobile support. Some sections that were previously underused are now also better highlighted.

Why: A custom system was put into place in order to allow a wider range of customization and open the door to deeper integrations. The forums are now the backbone of multiple features of the entire network, including user accounts, the processing of achievements for the Minecraft players, and more.

For the older websites, now obsolete:

Web design

Applications

BiteReads

Interface for the Pocket service

The Pocket service allows one to save web pages in order to reference them later, either on the same device or elsewhere. BiteReads is an interface for that service, showing the same information in a more compact format. All of the base features are included.

Why: Pocket's standard interface is functional but includes a lot of whitespace, which means that only a few saved pages can be shown at once. BiteReads offers that same information in a much more compact format, allowing someone to see more notes in parallel.

Minecraft plugins

IOBattleStats

Statistics tracking

This plugin aims to track as many of the player actions as possible. This has multiple uses, such as tracking the process of custom achievement goals. A lot of care was spent to make the data fetching and saving as efficient as possible, as multiple events can be triggered every second. This, multiplied by the amount of players usually online, could very easily lead to server performance degradation if done wrong.

Why: The internal statistics tracking done by the game itself isn't reliable in the long term as old values get deleted if a property is renamed or updated. Various other third-party plugins were used for a while, but they all stopped being maintained by their original authors. As such, creating my own version seemed like the best way to ensure I could track all the data I might need and ensure its long-term stability.

IOSync

Data synchronization

This server addon synchronizes the data of Minecraft players across multiple servers within the same network. This lets them keep their inventory and positions across several worlds, even by doing multiple jumps. This data save leans as much as possible on the internal logic of the game itself, which avoids some common issues presented by other solutions. Some of these were tried and ultimately rejected.

Why: The solution that was previously into place saved the necessary data and would restore them later. However, each new game version that introduced new functionality required the software to be updated to included this new information. IOSync uses the opposite approach: by relying directly to the game's files, everything is copied automatically. What shouldn't be included, like the position of the players (which needs to be unique to each world), is explicitly removed from the set. This way, all new game data will be managed without requiring extra maintenance.

IOTrails

Cosmetic effect

Purely cosmetic, the IOTrails addon allows selected players on a Minecraft server to showcase a particle trail behind them as they move around. This visual addition is liked by those looking to have an extra something in their day-to-day playing. The addon was designed to be as light in resource usage as possible, keeping the gameplay fluid and quick for everyone.

Why: Partially for fun, partially to add new features more easily! This replaced an older plugin and added the benefit of sharing its data across multiple worlds, making it more convenient to the players.

Other

IOChatServer

Chat server

  • Java

This chat server allows Discord, IRC and the Minecraft game servers to communicate with each other. The content written by the players is transmitted on all the other channels, allowing people to stay in touch no matter where they are active. Each communication endpoint can be active, offline or restarted without consequences to the others.

Some more advanced functionality is also included, like the option to transmit commands to the game servers from Discord, or redirect the output of a specific server to a different channel.

The server is accompanied by a wrapper around each game server, which captures the chat output from the players and transmits it to the chat server.

Why: This system was put in place to break the dependency on external services, such as Discord or IRC, which aren't always available. When they would suffer some downtime, the entire chat system would collapse. This local service thus allows an improved reliability.


I've created many other addons that aren't listed here. Their source code isn't available in order to keep some functionality unique to our servers, or because they're so tightly integrated with other systems that they would be virtually useless to anyone. Notably, a few tie up with IOBoard described above.

Other projects of a smaller scope, along with corrections and improvements on projects generally abandoned by their original authors, are also available on my GitHub page.