Table of contents

main menu song list


Fork of opsu!, which is a clone of the osu! rythm game.

As of 2017 some major changes were made in this fork which changed the inner workings of opsu. This was done in an attempt to get more control over the base system and allowed a.o. changing resolution and skin at runtime without the need to restart the whole system. This fork was pretty even to opsu! before this change, but now there are way more differences.


I made a cursordancing bot in C# for osu!, and by adding it into this clone, it allows me to do even more stuff with it. This way I can also provide this client to other players so they can play with it too, as I will not give my bot to people because I don't want to endorse cheating in any way.

My goal is to to add cool cursordancing things to this fork, but also make it possible to play the normal way. In the meantime I'm also adding various improvements to opsu! while I make a mess here, like the option menu, default back button, slider stuff, ...


You can find prebuilt jars on the releases page.


If you don't need to edit the source, just download a jar from the releases page.

Using an IDE is recommended because it is usually faster than the other options and provides debugging.

Using your favorite IDE

You should know how to do this. It's recommended to use a working directory like out to not pollute the project directory with config/db files.

If your IDE has poor maven support, do mvn intialize first and link the jars from the mvnlibs folder.

Using apache maven

mvn compile

Using apache ant

Resolve dependencies first by doing ant mvnresolve or mvn initialize

Then do ant run

Running tests

Requires junit.jar (I use junit 4) in your ANT_HOME/lib

ant test

Building a JAR

Using ant is recommended. Ant is used since release 0.5.0

Using apache ant

ant jar, find it in the bin folder

Using apache maven

mvn package -Djar, find it in the target folder.


opsu! was made by Jeffrey Han (@itdelatrisu). All game concepts and designs are based on work by osu! developer Dean Herbert. Other opsu! credits can be found here.

opsu!dance (everything in the src package yugecin.opsudance) was made by me (@yugecin). Lots of edits were made in the opsu! sources, too.


This software is licensed under GNU GPL version 3. You can find the full text of the license in the LICENSE file.

NB: Some source files in this repository are authored by others who are not associated with this project. See the copyright headers in those files for more details, if applicable. Those files may be modified, with modifications either annotated in source and/or visible in revision information.