A fork of https://github.com/YumeMichi/elichika, check out the original.
Note that this part concern only this server implementation. For the clients, connections, and general knowledge about the game, checkout the LL hax wiki
To run the server, first install termux, you can get it from f-droid or github. Note that the google play store version will most likely NOT WORK.
Then run the install script inside termux, this will take care of everything:
curl -L https://raw.githubusercontent.com/arina999999997/elichika/master/bin/install.sh | bash
Use the same install script with termux (on Windows, run inside git bash or some other linux shell emulator):
curl -L https://raw.githubusercontent.com/arina999999997/elichika/master/bin/install.sh | bash
Or clone the respository and build manually, look at the scripts for the steps.
Use config.json
to change some runtime parameters. If the file is not present, you can run elichika to generate it.
If a field is present in config.json
, it will be used, otherwise, it will take the default config's value.
The fields are as follow (might not be up to date, you can check the code to see what field actually does what):
"cdn_server"
- The server for client to download assets.
- Default to https://llsifas.catfolk.party/static/ (special thanks to sarah for hosting it).
- We can host our own CDN with
elichika
by put the relevant files inelichika/static
.- You should look into this if you want to further develop the game/server, as doing so might require redownloading things a lot.
"server_address"
- The address to host the server at.
- Default to
0.0.0.0:8080
(server listen at port 8080 on all interfaces).
"tap_bond_gain"
- The amount of bond gained by tapping an idol.
- Default to
20
like the original, but we can change it to a big value to skip farming bond.
"auto_judge_type"
- The autoplay judgement type.
- Default to
20
(great) like the original. - Some other possible value include
30
for perfect and14
for good.
After setting up the server, we need to run it. Simply navigate to elichika
's directory and run it:
./elichika
For Windows:
elichika
If you have GUI for Windows/Linux, you can also just run the executable directly.
You can update the server by running:
git pull && go build
Note that this might introduce problems because the new server might not be compatible with old database format, so you might lose progress. Future versions will try to keep things compatible or have a safe way to transfer. Though, if you know what you're doing, you can still transfer things over anyway.
With the server running, and the client network setup correctly, simply open the game and play.
Logging in will create an account if one is not present in the server.
- User ID will be set to random if there is no user ID in the client.
You can use the account transfer system to switch / create account. Select transfer with password
.
Enter your user / player ID and a password:
- UserID is an non-negative integer with at most 9 digits.
- If user is in the database, password will be checked against the stored password.
- Otherwise a new account with that player ID and password.
- You can also leave the password empty.
After that, confirm the transfer and you can login with the new user ID.
At any point, you can use the transfer ID system inside the game to change your password.
You can use both the Japanese and Global client for the same server (and the same database).
However, it's recommended to not play one account (user ID) in both Japanese and Global client, because some contents are exclusive to only 1 server, and will cause the client to freeze.
The current implementation doesn't explicitly support multiplayer:
- More precisely, it doesn't support 2 clients connecting at once.
- If something happens to works, it just happen to works.
- If something fails, it's the expected outcome.
So you can switch accounts and things should work, but logging in with multiple clients might result in problems.
The WebUI for the sever can be located at <server_address>/webui
.
- By default, this is http://127.0.0.1:8080/webui
- The WebUI can import and export account data.
- The WebUI can be used to do stuff that the client can't do on its own.
- For example, the birthday can only be set during tutorial. The WebUI can change the birthday.
- The WebUI also has some account editing functions.
Checkout the docs for more details on the server and how to do more advanced stuffs.
Special thanks to the LL Hax community in general for:
- Archiving and hosting database / assets
- General and specific knowledges about the game
Even more special thanks for the specific individuals:
- YumeMichi for original elichika.
- triangle for informations and scripts to encode/decode database, as well as patching the clients.
- rayfirefirst, cppo for various cryptographic keys.
- tungnotpunk for ios client and help with network structure.
- Suyooo for the very helpful SIFAS wiki and for providing more accurate stage data.
- sarah for hosting public Internet CDN.
- Caret for the LL Hax discord.
- And other people who more than deserve to be here but I can't quite recall right now.