HyperSpaceGamePanel: A game panel built with Spring Boot and Thymeleaf, designed to manage game servers and improve their performance, stability, and accessibility.
After trying out various game-server management panels, I realized that most of them lacked the features and user-friendliness that I was looking for. So, I decided to take matters into my own hands and create HyperSpace Game Panel - a comprehensive and intuitive game-server management panel that would cater to the needs of both novice and experienced users alike.
HyperSpace Game Panel is an open-source project designed to provide a web-based control panel for game servers, allowing server administrators to manage their game servers more efficiently. The project is written in Java and Spring Boot, making it easy to deploy and customize.
The panel comes equipped with a range of features, including real-time server monitoring, player management, game settings configuration, and plugin installation. The user-friendly interface and intuitive navigation make it easy for server administrators to perform these tasks quickly and efficiently, without the need for any technical expertise.
HyperSpace Game Panel also includes an authentication system that allows multiple users to access the panel, each with their own set of permissions. This makes it easy for server administrators to delegate tasks and responsibilities to other team members, without worrying about unauthorized access to critical server settings.
This project is built with a powerful combination of these tech stacks.
To run this project locally or on production, please follow the instructions below:
Make sure you have the following installed on your machine.
Java Development Kit (JDK) version 11 or higherMySQL Server 8.0
-
Clone the repository to your local machine using the command below:
git clone https://github.com/mharisraza/HyperSpaceGamePanel.git
-
Navigate to the
src/main/resourcesand open theapplication.properitesfile and update the following details.spring.datasource.url = jdbc:mysq://<host>:<port>/<db_name> spring.datasource.username = <username> spring.datasource.password = <password>
-
Make sure you have configured
Constants.javaSee Configuration method to configure the settings.. -
Now run the project, make sure you have installed all the dependencies using Maven.
If succeeded, go to http://localhost:8080 and you'll redirect to installation page where you can register yourself as an admin.
HyperSpaceGamePanel requires some configuration to run application properly without any errors that include email configuration. You just need to change the details to your needs and that's it!
Navigate to /src/main/java/com/hyperspacegamepanel/helper and open Constants.java file and update the following details:
// mail sender setting
public static final String EMAIL_FROM = "<your_email>"; // the mail you want to send from
public static final String EMAIL_APP_PASSWORD = "<your_email_app_password>"; // app password (You can get it from the Google's Account Setting)
// tickets setting
public static final int TICKET_MESSAGE_SIZE = <NUMBER_OF_MESSAGE_SIZE>; // change to your needs.
public static final String TICKET_MAXIMUM_MESSAGE_ERROR = "<MAXIMUM_MESSAGE_ERROR>" // default: Maximum <NUMBER_OF_MESSAGE_SIZE> characters are allowed;
// Secret key for password encoder
public static final String PASSWORD_ENCODER_SECRET_KEY = "<SECRET_KEY>";
// if you wish to change the scripts files keys or folder location, you'll need to update here, by default //they are in the correct place.
public static final Map<String, String> SCRIPTS_FILES = new HashMap<>();
// key will be script file name or whatever we want to be, value will be the location of the local scripts file
static {
SCRIPTS_FILES.put("VPS_INFO_SCRIPT", "./scripts/getvpsinfo.sh");
// add as much as scripts you want.
}Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!
- Fork the Project
- Create your Feature Branch (
git checkout -b <branch_name>) - Commit your Changes (
git commit -m 'Add some AmazingFeature') - Push to the Branch (
git push origin <branch_name>) - Open a Pull Request
Made with 💖 by Muhammad Haris 🙋♂️