Git Product home page Git Product logo

titanic's Introduction

logo

Titanic

Titanic is a private server made to be compatible with all osu! stable clients (2008-2024). The goal of this project was to gain deeper insights into the inner workings of Bancho and how it changed over the years.

The main goal of this project was achieved. There are still some features that I want to add, which you can view here.

You can play on it, by registering on the website, and downloading a client from the website. Keep in mind that only a smaller range of clients will be available there. For anyone interested, we also have a Discord server: https://discord.gg/qupv72e7YH

Setup

To set up and use this project I would recommend to use docker, as it's easier to set up in most cases. If you do not feel comfortable using docker, here are some instructions for the manual setup, which is not recommended but still possible to do.

Verify that docker is installed:

docker --version

Clone this project onto your machine:

git clone --recurse-submodules --shallow-submodules https://github.com/osuTitanic/titanic.git

Rename the .example_env to .env and edit it.

Start the server:

docker compose up -d

("-d" argument means detached, meaning that containers will run in background)

To turn off the server, from the titanic root folder, execute:

docker compose stop

If you experience issues on the first run, you may need to restart your containers:

docker compose restart

If you changed some files around, and don't see your changes applied, execute:

(rebuild)
docker compose build
(apply changes & restart affected containers)
docker compose up -d

After the setup is done, you should have a PostgreSQL database instance, which you can access using your database management system of choice. By default, it contains the user peppy with the password recorderinthesandybridge.

Updating

Titanic will get updates from time to time, so it's a good idea to apply them once in a while.

Start by first pulling all pending changes into your root folder:

git pull

After that update all of your submodules:

git submodule update --recursive

Finally, rebuild and restart all of your containers:

docker compose build
docker compose up -d

Patching the client

You can view the instructions for patching the client here.

Contributing

You are welcome to make any kinds of suggestions or contributions to this project. Feel free to contact me if you have any questions.

Credits

  • All testers that somehow found the project through this GitHub repo and decided to register through Discord DMs
  • Everyone that donated & contributed to this project (you guys are a big help!)
  • Adachi for helping with the Discord bot & developing the pp system
  • Beatmap mirrors (osu.direct, nerinyan & mino)

Screenshots

sanic cool wow nice multiplayer

titanic's People

Contributors

ascenttree avatar digitalfear117 avatar github-actions[bot] avatar how-to-do-frontend avatar islodinxosu avatar lekuruu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

titanic's Issues

Add seperate rx/vn leaderboards

A lot of people have requested to separate rx/vn leaderboards entirely, and I agree on that as well. At first I thought, making the pp system balanced enough would work, but that does not seem to be the case. To not completely restructure the way, the server works right now, I've come up with a new solution.
My Idea is to still combine rx & vn scores for pp ranks, but also making separate leaderboard for rx and vn at the same time. The rx/vn rank will get displayed on their profile if they choose so in the settings. Based on user feedback, I may or may not implement this in the future.

Fix default docker deployment

The current default docker deployment was not updated in a while and can probably be causing some trouble for a lot of people.

Deployment for stern

Stern is the new frontend for osu!Titanic, which is currently under active development. I would say that it is in a "usable" state, currently read-only. To deploy this, I will need to create a reverse-proxy like nginx inside the dockerfile, to merge deck and stern under one domain. I will create a static server in sometime as well, which will be hosted under s.lekuru.xyz.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.