A Ktor-based server that handles game process, user registration and packs provision

Overview

License: Apache-2.0 Java CI with Gradle Test with Gradle

Polyhoot! Server backend

Polyhoot! Logo

A Ktor-based server that handles game process, user registration and packs provision

Deploying server locally

You can deploy Polyhoot! server to your machine with purpose of hosting games yourself. You'll also have to build Android client with your own WebSocket IP in order to play. These instructions will get you a copy of the project up and running on your local machine for any purpose possible.

Prerequisities

  • Java Development Kit 17

Cloning the project

git clone https://github.com/polyhoot/server -b master

Setting up the environment

At this point you have to export MONGOURI and JWT_SECRET environmental variables.

You should create a MongoDB and copy the connection URI and export it to MONGOURI

JWT_SECRET should be a random string, it will be used as key for JWT Auth

">
export MONGOURI="mongodb..."
export JWT_SECRET=<random string>

Building server

To build server you should run shadowJar Gradle task. You can do that with:

./gradlew shadowJar

A runnable JAR file will be generated and placed to build/libs/polyhoot_server.jar

Running the server

To run server use standard java -jar command

java -jar build/libs/polyhoot_server.jar <options>

Server running options

There are only three options so far:

--port, -p [8080] -> Port server should listen to { Int }
--debug, -d [false] -> Debug mode (MongoDB logging mostly)
--help, -h -> Usage info 

License

This project is licensed under the Apache License 2.0 - see the LICENSE file for details.

You might also like...
WynnLib is a Fabric mod that aims to provide data-related functionalities for the server Wynncraft

WynnLib is a Fabric mod that aims to provide data-related functionalities for the server Wynncraft. The mod inherits from the mod WynnInvManager (WIM), but comes up with a better framework design and supports newer Minecraft versions. As an open-source project, the contribution is welcome.

simple game implements with kotlin and jetpack.(covered by unit test)
simple game implements with kotlin and jetpack.(covered by unit test)

Simple Spy Game: Source Code 🚨 Published version 🚨 This repository contains a detailed game app that implements simple game using Koin, Room, Corout

Spooky house game with monsters and sounds
Spooky house game with monsters and sounds

SHGWMAS Spooky house game with monsters and sounds INSTRUCTIONS to play the game you must: have a brain downloaded the world + jar from the releases t

Terminal Game. Black and White have only pawns. White wins if their pawn moved to 8th line. Black wins if their pawn moves to 1st line. If black or white haven't any move, then no one wins(stalemate))

Only-Pawns-Chess Terminal game for 2 players Regular chess but all sides have only pawns Rules This game extend all the rules of regular chess but it

Tic Tac Toe is a two-player game in which the objective is to take turns and mark the correct spaces in a 3x3 (or larger) grid
Tic Tac Toe is a two-player game in which the objective is to take turns and mark the correct spaces in a 3x3 (or larger) grid

Tic Tac Toe is a two-player game in which the objective is to take turns and mark the correct spaces in a 3x3 (or larger) grid.

Butterfly - Small and powerful weapons, own it, let your Android are developed like Tiger, Carry whole game!

Butterfly - Small and powerful weapons, own it, let your Android are developed like Tiger, Carry whole game!

Multiplayer Dots and Boxes game for Android

Multiplayer Dots and Boxes game for Android. One player is the server, and the rest connect to them. Has player customization and in-game chat! Still in development, but fully compatible with version 2.0 of my NetDot protocol.

An easy open source Android Native Game FrameWork.
An easy open source Android Native Game FrameWork.

JustWeEngine - Android Game FrameWork An easy open source Android Native Game FrameWork. Engine Flow Chart How To Use? Import Engine's module as Libra

Desktop/Android/HTML5/iOS Java game development framework
Desktop/Android/HTML5/iOS Java game development framework

Cross-platform Game Development Framework libGDX is a cross-platform Java game development framework based on OpenGL (ES) that works on Windows, Linux

Owner
Polyhoot!
Polyhoot! is a open-source Kahoot! clone. Mostly Kotlin and TypeScript. Made for a university course project.
Polyhoot!
The Xlite Game Server.

Xlite 2.0 Xlite is a modular kotlin based RSPS. The goal of Xlite 2.0 is to provide the community with a stable and powerful sandbox to experiment wit

null 11 Nov 19, 2021
The Xlite Game Server.

Xlite 2.0 Xlite is a modular kotlin based RSPS. The goal of Xlite 2.0 is to provide the community with a stable and powerful sandbox to experiment wit

Runetopic 11 Nov 19, 2021
Game made with Korge (Kotlin Multiplatform game engine)

MolesAttack Kotlin Multiplatform Game Play Html/js: https://feliperce.github.io/MolesAttack-Distribution/ Jar: https://feliperce.github.io/MolesAttack

Felipe Rodrigues 10 May 30, 2022
Our maze game is an 2d-animation game developed using android studio.

Our maze game is an 2d-animation game developed using android studio. The game consists of a ball and a board with a hole in the center of it. We are using accelerometer as controller to guide ball towards the hole. T

Suraj Devgan 6 Nov 29, 2022
**Bigger Number Game ** propose the user to select largest number between the two numbers.

**Bigger Number Game ** propose the user to select largest number between the two numbers.

Shivangee Rajput 0 May 24, 2022
Gameforma is a simple game list application where user could explore more than 350.000 games

Gameforma is a simple game list application where user could explore more than 350.000 games data provided from RAWG Video Games Database API. Built with MVVM repositoy pattern, clean architecture in order to finish Dicoding Menjadi Android Developer Expert's (MADE) class submission.

Naufal Aldy Pradana 3 Sep 22, 2022
Korjector is a KorGE game engine-based multiplatform client for Projector.

Korjector is a KorGE game engine-based multiplatform client for Projector. An internal JetBrains Hackathon 2021 project to demonstrate that a Projector client can be created in less than 48 hours for any OS that supports decent canvas 2D API.

Sergei Bulgakov 10 Nov 20, 2021
RemsEngine - OpenSource Kotlin/OpenGL/ECS based game engine

Game Engine: Rem's Engine Parallel to this video editor, I am developing my own

Antonio 7 Nov 3, 2022
A console-based game that helps you learn new words.

learn-language-game ?? ?? ?? This is a simple console-based game which helps you learn new words each day. Prerequisites An API-KEY is required from R

null 2 Jul 21, 2022
Item-Attribute Framework for Minecraft Server

Item-Attribute Framework for Minecraft Server

Rain 10 Dec 26, 2022