


The moment that we got our Java plugin to communicate with our NodeJS backend, we were extremely proud. None of us knew Java so we had to do a lot of research in order to figure out what to do. Creating an HTTP POST request in Java was an enormous hurdle as well. After a while, we got some scripts running to get our application hosted. We had a lot of issues in the beginning in getting our applications posted and deployed on the servers. We had to work with load balancers, kubernetes, Google's hosted nodes and BigQuery. One of the team members was familiar with AWS, so we had that as a starting point.
#MINECRAFT DISCORD HOW TO#
We did not know how to create a Bukkit plugin, and we did not know much about google cloud. We also wanted to play around with big data, so we implemented Google's BigQuery to store every time a block is broken. But, our minecraft servers themselves are also running up in the cluster! In order to persist data, we use Google Cloud Sql to persist data about our users and credits. Things like our discord bot and our API server are running on Kubernetes. The server is built upon the Google Kubernetes Engine in order to make deploying as simple as possible. If the bot joins another discord server, they credits are persisted between servers because of our usage of Cloud SQL. They can use the discord bot in order to check how many credits they have. If the user runs out of tokens, they are bombarded with TNT in order to keep them from playing until they pay to be on the server. It is deducted at a rate of 1 credit per minute. When a player joins the server, they have their own personal collection of tokens (currency) that is deducted from as the user is on the server. This was fine, but players weren't held accountable for the time they spent on the server, and we wanted this to change. When players got off the server, the EC2 instance shut down. We spend a lot of time playing Minecraft and the old bot that we used just wasn't cutting it.
