Skip to content

iiPythonx/garchive

Repository files navigation

Geesecraft Archives

A minecraft server hosted by the Geese, for the Geese.
Geesecraft is a Minecraft server hosted by iiPython about once per year (usually around summer) with a website to host archived season information, show screenshots, present modifications, and overall act as a central activity hub for the server.

This activity hub is garchive, the repository you are currently viewing.

Getting started

Downloading

GArchive can be downloaded either via a ZIP file provided by GitHub, or by directly cloning the repository:

git clone git@github.com:iiPythonx/garchive  # If you use SSH to authenticate with GH
git clone https://github.com/iiPythonx/garchive  # or if you prefer something simpler

Before doing anything else, it is recommended to install the requirements:

cd garchive

# If you're on windows, you should substitute python3 with py
python3 -m pip install -r reqs.txt

Launching

For development, GArchive provides a very basic launch.py file that launches the site with one uvicorn worker:

python3 launch.py

In production deployments, it is highly recommended to launch using uvicorn like so:

python3 -m gunicorn -k uvicorn.workers.UvicornWorker -b 0.0.0.0:8080 -w 8 garchive:app

Environment

Please refer to ENVIRONMENT.md.

Contributors

Most of the backend is maintained by iiPython.
Meanwhile, DmmD handles the frontend and templating system.

Built with

GArchive uses the following libraries:

  • Uvicorn to host the web application alongside gunicorn.
  • Jinja2 to create and render our server-side templates.
  • Pillow to convert PNGs to Webp for client-side performance gains.
  • MCStatus to check our servers ping time and member list.
  • Blacksheep to build the app using Flask-like syntax.