diff --git a/404.html b/404.html new file mode 100644 index 0000000..3669648 --- /dev/null +++ b/404.html @@ -0,0 +1,411 @@ + + + +
+ + + + + + + + + + + + + +LL Hax is a community created by Caret. The sole purpose of creating this community was to take notes and do research on hacking the SIFAC game. Then when SIF was getting EoS, Caret made sure that the community could be used for working on that, which followed SIFAS.
+Currently, the LL Hax community resides in a cozy discord server, but Caret also set up a matrix server as a back up, just in case (desipte unlikely-ness).
+Matrix is a decentralized messaging system that enables secure communication and collaboration across platforms.
+https://matrix.to/#/#ll-hax:m.sif.moe
+Check out a list of clients here: +https://matrix.org/ecosystem/clients/
+ + + + + + +This mkdocs instance includes all documentation related to the terms of Love Live game hacking. I'd like to keep all the important information in one place for easy access and easy contribution for other languages.
+This repo for the documentation here is open source, so please make your edits there:
+git clone git@codeberg.org:carette/ll-hax-docs.git
https://codeberg.org/carette/ll-hax-docs
+DM me on Discord if you need it to be updated (the public instance).
+Below is a list of notable users who have made contributions ranging from a few helpful messages to entire archival projects of games. This list is not in any particular order. If you would like your name removed, added or updated in anyway (as I've likely forgotten or made a mistake), please make a pull request.
+Puchiguru Love Live! (ぷちぐるラブライブ! Puchiguru Rabu raibu!) was a game released for iOS and Android, based on the Love Live! franchise. It was developed and published by Pokelabo, Inc. and was released on April 24, 2018 for both iOS and Android devices. The game's service was terminated on May 31, 2019.^1
+Puchiguru (as of 2023) has a private server hosted by CursedBlackCat
.
(Copied from the Discord)
+++Private server APK: +https://pokenesos.com/
+IOS Method:
+https://pokenesos.com/ios
+
(Copied from Reddit by CursedBlackCat
)
++ + + + + + +Puchiguru download links for Android and iOS! +iOS Link
+iOS App Store Download Link +Android Links
+Android Google Play Download Link
+Android APK Download Link (APKpure)
+ +Please note that you will not be able to play the game until the server goes live at 12PM noon on April 24, JST. A countdown timer until then can be found here. +
+
This mkdocs instance includes all documentation related to the terms of Love Live game hacking. I'd like to keep all the important information in one place for easy access and easy contribution for other languages.
This repo for the documentation here is open source, so please make your edits there:
git clone git@codeberg.org:carette/ll-hax-docs.git
https://codeberg.org/carette/ll-hax-docs
DM me on Discord if you need it to be updated (the public instance).
"},{"location":"#notable_users","title":"Notable Users","text":"Below is a list of notable users who have made contributions ranging from a few helpful messages to entire archival projects of games. This list is not in any particular order. If you would like your name removed, added or updated in anyway (as I've likely forgotten or made a mistake), please make a pull request.
LL Hax is a community created by Caret. The sole purpose of creating this community was to take notes and do research on hacking the SIFAC game. Then when SIF was getting EoS, Caret made sure that the community could be used for working on that, which followed SIFAS.
Currently, the LL Hax community resides in a cozy discord server, but Caret also set up a matrix server as a back up, just in case (desipte unlikely-ness).
"},{"location":"about/#discord_server","title":"Discord Server","text":"https://discord.gg/VnhnvdW8CG
"},{"location":"about/#matrix_server","title":"Matrix Server","text":"Matrix is a decentralized messaging system that enables secure communication and collaboration across platforms.
https://matrix.to/#/#ll-hax:m.sif.moe
Check out a list of clients here: https://matrix.org/ecosystem/clients/
"},{"location":"pugu/","title":"Puchiguru","text":""},{"location":"pugu/#puchiguru","title":"Puchiguru","text":"Puchiguru Love Live! (\u3077\u3061\u3050\u308b\u30e9\u30d6\u30e9\u30a4\u30d6\uff01 Puchiguru Rabu raibu!) was a game released for iOS and Android, based on the Love Live! franchise. It was developed and published by Pokelabo, Inc. and was released on April 24, 2018 for both iOS and Android devices. The game's service was terminated on May 31, 2019.^1
Puchiguru (as of 2023) has a private server hosted by CursedBlackCat
.
https://discord.gg/S64Yryk
(Copied from the Discord)
Private server APK: https://pokenesos.com/
IOS Method:
https://pokenesos.com/ios
(Copied from Reddit by CursedBlackCat
)
Puchiguru download links for Android and iOS! iOS Link
iOS App Store Download Link Android Links
Android Google Play Download Link
Android APK Download Link (APKpure)
Android QooApp Link
Please note that you will not be able to play the game until the server goes live at 12PM noon on April 24, JST. A countdown timer until then can be found here.
"},{"location":"sif/","title":"SIF","text":""},{"location":"sif/#sif","title":"SIF","text":"(the following was copied from the fandom wiki) Love Live! School idol festival (\u30e9\u30d6\u30e9\u30a4\u30d6\uff01\u30b9\u30af\u30fc\u30eb\u30a2\u30a4\u30c9\u30eb\u30d5\u30a7\u30b9\u30c6\u30a3\u30d0\u30eb Rabu raibu! Suk\u016bru Aidoru Fesutibaru, LLSIF) was a rhythm game released for iOS and Android, based on the Love Live! franchise. It was published by Bushiroad and developed by KLab Inc. and was released on April 16, 2013 for iOS and June 6, 2013 for Android devices.
An English version was released on May 12, 2014 under the title \"School Idol Festival\" at version 1.6. A Taiwanese version was released on May 22, 2014 under Mobimon Inc. at version 1.2. A Chinese version was released on June 12, 2014 under MariyGames at version 1.0. A Korean version was released on July 1, 2014 under NHN Entertainment Corp. at version 1.1. The Korean version was shut down and merged with the Global version on August 10, 2016. The Traditional Chinese version was shut down and merged with the Global version as of May 17, 2017. The Japanese Version was merged with the Global Version on June 10, 2021 and the Korean version & Traditional Chinese options was removed.
An arcade version was announced to be in production on November 27, 2015 and was made available for play on December 6, 2016. A new game titled Love Live! School Idol Festival ALL STARS was announced to be in production on September 21, 2017, and was released on September 26, 2019. Both games will continue to run concurrently alongside each other.
A successor to the game Love Live! School idol festival 2 MIRACLE LIVE! was announced on September 25, 2022, also featuring Nijigasaki High School Idol Club and Liella!.
On January 31, 2023, it was announced that the game's service would be shut down on March 31, 2023. ^1
"},{"location":"sif/#private_servers","title":"Private Servers","text":""},{"location":"sif/#self_hostable_servers","title":"Self Hostable Servers","text":""},{"location":"sifac/","title":"SIFAC","text":""},{"location":"sifac/#sifac","title":"SIFAC","text":"Love Live! School idol festival ~after school ACTIVITY~ (\u30e9\u30d6\u30e9\u30a4\u30d6\uff01\u30b9\u30af\u30fc\u30eb\u30a2\u30a4\u30c9\u30eb\u30d5\u30a7\u30b9\u30c6\u30a3\u30d0\u30eb ~after school ACTIVITY~) is an arcade version of Love Live! School idol festival. It was first announced to be in production on November 27, 2015 and was made available for play on December 6, 2016.
Aqours was first announced to be added to the game on October 20, 2017. Aqours was added to the game with the Love Live! School Idol Festival: After School Activity Next Stage update on December 6, 2018. It was announced on October 26, 2020 that the game will receive a final update on November 10, 2020. No new songs or cards will be added passed that point, essentially ending support for the arcade version.
On October 10th 2020, it was announced that a port to the Playstation 4, titled Love Live! School idol festival ~after school ACTIVITY~ WaiWai! Home Meeting!! was in development. This version of the game was also announced with English language support, notably being the first iteration of the game to be released outside of Japan and in another language. It was released worldwide on March 24th 2021.
"},{"location":"sifac/#how_to_play","title":"How to Play","text":"Obtaining the game files for this is gray area due to the copyright restriction playing an old arcade game entails. If you agree with me, you'd think this is total BS and want to play things that are considered dead or EoS even after the matter. Archival and preservation are the main motivators here, not money or business!
ll3.exe
, but don't run it yet! There are some command line arguments that you can run it with to change how it acts:-highquality
: Runs the game with higher quality graphics. Not really sure if this makes a huge difference or not.
-centralmode
: Enables a specific game mode designed for the gacha version, where players obtain randomized virtual items.
-windowmode
or -singlemode
: Runs the game in a resizable window instead of full-screen mode, useful for debugging or testing.
-sh
(screen height): Sets the desired vertical size or resolution of the game window.
-sw
(screen width): Sets the desired horizontal size or resolution of the game window.
-wx
: Controls the horizontal position of the game window, specifying where the left edge of the window will be positioned.
-wy
: Controls the vertical position of the game window, specifying where the top edge of the window will be positioned.
.bat
script in that directory to run the game, open it. Example below: bat ll3.exe -singlemode -sw 1920 -sh 1080 -highquality
For online mode, you will need some more files (which I don't believe are easy to get via the site you should not go to). Here is a download link for this file structure:
../files/system.zip
Next, make a D:\\
drive (you can partition your C:\\
drive) and directory to have the following file tree:
(Assume this is under the `D:\\` root)\n\u251c\u2500\u2500 system\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 CmdFile\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 log\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 Log.txt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 DUA\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 data\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 decrypt\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 download\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 event\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 news\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 1524476664.png\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 1554282603.png\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u251c\u2500\u2500 unpack\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 work\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 option.txt\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 Service\n\u2502\u00a0\u00a0 \u2502\u00a0\u00a0 \u2514\u2500\u2500 NesysService.exe\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 update.log\n
(The most important file is the NesysService.exe
as this is what the game uses to call between the game server and the game)
After that step, edit your arcade machine's hosts file:
Usually under: C:\\Windows\\System32\\drivers\\etc\\hosts
127.0.0.1 cert.nesys.jp\n127.0.0.1 cert3.nesys.jp\n127.0.0.1 data.nesys.jp\n127.0.0.1 proxy.nesys.jp\n127.0.0.1 nesys.taito.co.jp\n127.0.0.1 fjm170920zero.nesica.net\n
(If its the same PC, just leave it as 127.0.0.1
if its a different PC on your network, replace it with the IP address)
Once your computer resolves the domains to where ever you host the game server, we need to add some registry entries to enable the NesysService to run.
Run the following file:
../files/runme.reg
Finally, you'll need to make nesys an actual Windows service (one that you would find in services.msc
). Download and run this command to add it (assuming your service
directory is found in D:\\
). This is all tested for D:\\
.
../files/nesys.bat
If you don't want to create a service, you're also able to run NesysService.exe
in powershell or cmd. Just follow these steps:
chcp 932
D:\\system\\Service\\NesysService.exe -app
If it outputs the following then you're good to go!
If it outputs something else, then you didn't install the registry values correctly!
(todo, add a picture here as an example)
"},{"location":"sifac/#certificates","title":"Certificates","text":"The last step to this would be adding certificates. It is not an easy process, but asesidaa made a script that should do it for you.
You can find the script to install the scripts in here: https://github.com/asesidaa/LLServer/tree/master/LLServer/Certificates
Make sure to run the script as administrator. (you might need to enable powershell script running exception)
Enter this command in an administrator powershell window:
set-executionpolicy remotesigned
If the script doesn't work, you just need to have the certs in the 'Personal' store and the 'Root Trust ...' store (I forget the full name). After that you shouldn't get any nesys HTTP errors (it should just connect).
(On Japanese Locale, I think the 'Personal' store is also called the 'My' store)
If the server isn't compiled already, you'll need Visual Studio Community edition, link for easy access here. Make sure you set it up with basic .NET functionality. (It should install the things it needs if you don't select the right one so don't worry too much).
Then if you haven't already, download the LLServer repo: https://github.com/asesidaa/LLServer/archive/refs/heads/master.zip
"},{"location":"sifac/#network_interfaces","title":"Network Interfaces","text":"NesysService will require you to have a single interface enabled (and the other ones disabled) in order for it to connect correctly. Make sure you only have one network interface enabled like the picture below:
"},{"location":"sifac/#patched_binary","title":"Patched Binary","text":"Lastly you will need the patched binary with the correct public key. This key is used to confirm that it's talking to the right server.
Download it here:
../files/ll3.exe
FYI, you will need to replace the original binary with this one.
Please message @caretchara
on the Discord if anything here needs changes!
(the following was copied from the fandom wiki)
Love Live! School Idol Festival ALL STARS (\u30e9\u30d6\u30e9\u30a4\u30d6\uff01\u30b9\u30af\u30fc\u30eb\u30a2\u30a4\u30c9\u30eb\u30d5\u30a7\u30b9\u30c6\u30a3\u30d0\u30eb ALL STARS Rabu raibu! Suk\u016bru Aidoru Fesutibaru ALL STARS) was a rhythm action game developed for mobile platforms, based on the Love Live! and related franchises. It is published by Bushiroad and developed by KLab Inc., and was released on September 26, 2019. It was first announced at Tokyo Game Show 2017 on September 21, 2017. Prior to the announcement, it was first introduced and teased on March 30, 2017 as the PERFECT Dream Project in conjunction with SIF's 4th year anniversary. Love Live! School Idol Festival ALL STARS was designed with \"the greatest, best idol game\" as its concept. Characters from \u03bc\u2019s, Aqours and Nijigasaki High School Idol Club appear within this game.
On April 30, 2023, it was announced that the game's service would be shut down on June 30, 2023.
"},{"location":"sifas/#some_random_forewords","title":"Some random forewords","text":"SIFAS, whether you liked it or not, was unjustly killed in favor of a bad \"sequel\". SIFAS die and bring with it things like fully animated navigator, stories, costume, and of course the main selling point of the game - 3DMV. With SIFAS gone, the only way to officially watch 3DMV is through the Link Live app (doesn't have other groups), or through some metaverse VR stuff that you have to pay for (per concert).
Luckily for us, the community managed to preserve most if not all of the beloved aspects of the game. Thanks to various community members, there are works done and being done so that with a bit of tinkering, you can install and play SIFAS.
"},{"location":"sifas/#disclaimers","title":"Disclaimers","text":"The information presented by the author(s) of this documentation were either background knowledge, knowledge provided by community members, or knowledge learned from works published by community members.
The author(s) try to make sure that the information presented is correct. However, there might be incorrect info, or outdated info.
The author(s) try to acknowledge and credit the community members who share knowledge, develop tools, host resources, or helped in any other way, but there might be some missing credit. If that were the case, please know that it is not intended by the author(s), and please contact the author(s) for proper credit.
The knowledge, tools, resources used by this documentation are acquired and presented with a good faith basis. While the author(s) try to ask creators for permission to use or feature their works, some works was used or featured without explicit permission. If you have problem with your works being mentioned / features, or your name being credited, please contact the author(s) to sort things out.
"},{"location":"sifas/#intents","title":"Intents","text":"This documentation go somewhat in depth to the technical side, so for experienced audience, it can serve as a quick introduction to the working of the game and server. If you are not interested in the details, or want to get something running before learning more, please check out the Easy install section for a streamlined experience. Do note that the provided packages might not work for you, however, the details explanation should give you want you need to get things working. Regardless, feel free to reach out to the community, both to help resolve your situation and to help make the documentation better.
This documentation will be about hosting your own SIFAS server, however, there exist a Korean private server that you can play the GL version on. You can find out more about it by asking in the LL Hax server. This documentation will also discuss only the GL (Global) and JP (Japanese) version, although there exist private server for CN (Chinese) version as well.
This documentation assume that you have some background knowledge related to the topic discussed, however, if this is your first time doing something like this, or you just want to learn more, you can also checkout the Random knowledge section. Various things that are common knowledge, things that are related and interesting (but not totally relevant to the discussion) are discussed.
"},{"location":"sifas/#convention","title":"Convention","text":"As there are multiple platforms for both client and server, we use the following terms to refer to them:
We will be using the 3.12 clients (patched): - If you recall, these are released after the game is dead. - The only functionality is to show a \"SIFAS EoS, thanks for playing SIFAS\" message, or so it seems. - The truth is that, none of the original functionality was deleted, but the crack-proof is removed. - Which mean that if we patch the starting screen away, we have access to a superior version of the app. - We will only deal with the patched version here, the only modification you might need to do is to change the server address inside the client.
"},{"location":"sifas/#basic_clients","title":"Basic clients","text":"These are the clients that come with the elichika server, you can get them fromelichika or directly here.
These clients connect to http://192.168.1.123. This is a local address (LAN), so if you run elichika
the machine that has that address (and the port is opened for LAN access), you won't have to modify the clients at all. It will be explained more on the easy install section.
There are some problems that prevent the basic clients from working or working well: - You might not have a Wi-Fi network that you can connect to. - You might not have a separate device (usually a PC / laptop) to run the server on. - Your Wi-Fi router IP address might not look like 192.168.xxx.xxx, and it's impossible or very complicated to change that. - You can't obtain the IP 192.168.1.123 because someone or something on your network already have that (it's a nice address). - You have the IP but you need port 80 (default http) for something else, so you can't run elichika
on that port. - You are outside touching grass a lot, so you are not connected to Wi-Fi that often. - The list go on.
In which case, you will need to patch the server address in your client, or a client with different address. There are a few clients provided in the easy install section, see if you can use one of them, if not then you will have to patch the server address yourself.
"},{"location":"sifas/#patching_android_client_to_different_server_address","title":"Patching Android client to different server address","text":"This part is written after referencing honoka-chan. It's recommended that you read that for a deeper understanding, however that won't be necessary to follow this documentation.
We work with the basic clients .apk
here.
There are multiple ways to do this, but we will use apktool.
We can either use the wrapper or .jar directly. Of course, java will be necessary.
Open up a terminal (command prompt) in the same folder as the .apk
and run the following:
apktool d ALL_STARS_3.12.0_gl_patched.apk\n
for global client, or
apktool d ALL_STARS_3.12.0_ja_patched.apk\n
for JP client. Note that if you don't use or don't have the apktool
wrapper, you can run the .jar
directly (put in the same directory or you will have to specify to the actual path):
java -jar apktool_2.8.1.jar d apkname.apk\n
In any case, after unpacking, you should have a folder that has the same name as the .apk
except for the extension
We will use the MetaData String Editor
It is written in C#, and the .exe
you can download need windows to run. If you can build your own from source, or change the metadata in other way, then you can use that too.
This tool is used to edit the metadata file of Unity engine games. In this case, we use it to change the address the client will connect to, but you can also change other strings.
To change the address string, open the tool, then press the top left button and open up the global-metadata.dat
file. You can find it in:
ALL_STARS_3.12.0_gl_patched\\assets\\bin\\Data\\Managed\\Metadata\n
or
ALL_STARS_3.12.0_jp_patched\\assets\\bin\\Data\\Managed\\Metadata\n
depending on the versions.
You will see many strings. Search for http://192.168.1.123 using the textbox at the top. Double click on the string, click on the popup thing, and you will see another window pop up. You can edit that data to any address you wish to connect to.
If want to use the elichika server, keep it http
, you can use https
if the server do support that.
After editing the address, click the bottom right button to change the address. After that, click the middle button on the top left of the program. Save the metadata as some other file, as you can't overwrite to the current file. After that you can close the tool, remove the original global-metadata.dat
and rename the new file to global-metadata.dat
.
We can do this with apktool
:
apktool b ALL_STARS_3.12.0_gl_patched\n
or
apktool b ALL_STARS_3.12.0_ja_patched\n
After apktool
is done, you can find the output .apk
in
ALL_STARS_3.12.0_gl_patched\\dist\\ALL_STARS_3.12.0_gl_patched.apk\n
or
ALL_STARS_3.12.0_jp_patched\\dist\\ALL_STARS_3.12.0_jp_patched.apk\n
This .apk
is not finished, we need to sign it before it can be installed in emulators or phones.
To sign the .apk
, we will need a few things.
The first is apksigner
. You can either download a .jar
online, or you can get it with the Android SDK.
The second thing we need is a keystore. You can download this keystore that has password 123456
for your convinience. If you want to generate your own key store, you will need keytool
, which come with java
(find it in java bin folder):
keytool -genkeypair -v -keystore sifkey.keystore -alias sifkey -keyalg RSA -keysize 2048 -validity 36500\n
You can choose your own password and the keystore name. After we have the keystore, you can sign the .apk
:
apksigner sign --ks sifkey.keystore --ks-key-alias sifkey --out ALL_STARS_3.12.0_gl_patched.apk ALL_STARS_3.12.0_gl_patched\\dist\\ALL_STARS_3.12.0_gl_patched.apk\n\n
You can change the .apk
name if necessary.
After this, you can install the .apk
. If you already have a version of SIFAS, you might get an error saying that the signature doesn't match. You can just uninstall the old SIFAS and install the new one in that case. Google play protect might say the file is suspicious, but you can still install it.
It's possible to use frida to change the address and avoid having to patch the .apk
, as demonstated by sarah
in the LL Hax discord. If you don't want to use the above patching process, you might want to try that.
The details on patching .ipa
is outside of the author(s) knowledge and is not discussed here, but it is doable.
The ios clients distributed by elichika
were patched by tungnotpunk
in the LL Hax discord. If you want to learn how patch them yourself, you can find out more there.
elichika is a SIFAS server written by YumeMichi
(.yumemichi
on discord). It is written in Go(lang), and it is still being worked on at the time of writing this documentation. As such, it's recommended that you install git to make it easy to keep your version up-to-date.
This documentation will walk through the process of installing and building elichika
using git
and some other tools. You can also try the prebuilt server binaries but they might not be up to date, and might not work for your purpose.
Generally, if we can run Go on a platform, then we can run the server on it. Regardless of the platform, the setup will be something like this: - Local PC: server run on a PC (windows, linux, mac), client connect to it through WLAN (Wi-Fi) or some tethering method. - External PC: server run on an external machine, client connect to it through a public IP or a server address. This is the setup for online multiplayers, however that is not supported by the server (for now). - Android/Termux: server run on the same android phone, tablet, or emulator as the client. More precisely, it will be running inside the termux app.
"},{"location":"sifas/#zeroth_step_install_git_for_each_platform","title":"Zeroth step: Install git for each platform","text":"If you want to use git
to get the server, and you didn't have it installed, you can download and install through the official website.
For Linux and Termux, you can also install git
through the terminal (it's most likely already installed in Linux, but this is necessary for a fresh Termux install):
apt install git\n
If you don't want to use it, you can skip this step.
"},{"location":"sifas/#first_step_download_the_server","title":"First step: Download the server","text":""},{"location":"sifas/#using_git","title":"Using git","text":"Nagivate to where you want to put the server and open up a terminal: - For Windows, nagivate with the GUI to the folder you want to put the server, then enter cmd`` into the address bar, that will open up a terminal inside that folder. - For Linux GUI, you can also navigate to the directory you want, and right click, there should be an option to open the terminal. - For all platforms, you can also just open the command prompt / terminal and go to the correct place. Expect to use things like
cdand
mkdir` to navigate and create folder.
After that, use git clone
to download the server:
git clone https://github.com/YumeMichi/elichika\n\n
You will get an elichika
folder / directory. Go to it with your current terminal:
cd elichika\n
Everyt ime you want to run the server, you will have to open a terminal in that directory.
If you use git, you can keep your server source code up to date by running the following:
git pull\n
Note that if you made changes to the server, then git pull
might fail. You can either learn more about .gitignore
(or other methods) to keep your changes, or you can just run:
git reset --hard\ngit pull\n
to update it, but you will have to make the change again.
"},{"location":"sifas/#download_directly","title":"Download directly","text":"You can also download the source code directly to avoid using git
. If you do this, everytime you want to update the server, you will have to redownload everything.
Simply go to elichika with your web browser, click on the Code button, click on Download ZIP, save the file, and extract it. You will need to open terminal in the extracted folder with main.go
file.
It's recommended to build your own server if you can, so you can stay up-to-date and make the changes necessary.
"},{"location":"sifas/#installing_go","title":"Installing Go","text":"Because the server is written in Go, you have to install it to build the server.
For PC platforms, you can get it here.
For Termux, run:
pkg install golang\n
"},{"location":"sifas/#building_the_server","title":"Building the server","text":"On all platform, simply run:
go build\n
inside the elichika
server. You will get an elichika
binary (elichika.exe
on windows). Note that you will have to rebuild everytime you update or make a change.
Before you can play the game, you have to run the server. To do that, go to the elichika
folder, and run the binary through terminal / command prompt:
./elichika\n
remove the ./
on windows. On windows, you can also run it by opening the .exe file directly.
If you haven't configured the server correctly, you might have to change some config. Mostly you will change config.json
or main.go
.
Easy setups all have configuration ready, but you might still want to do some modifications.
To change the files in windows or linux GUI, you can open any text editor to change config.
In Termux, you should use some command-line based text editor like nano
, or vim
. Looks up a tutorial if you don't know how to use them. You can also just use sed
if you are comfortable with it.
A CDN (content distribution network) server is where the game(app) will download the files necessary (i.e. songs, stories). We can set it inside config.json
. Note that if the file is not present, just run elichika
and close it, the file will be generated.
By default, it's pointed to http://192.168.1.123/static (the same address as the default elichika
server). This essentially tell the game to download game files from http://192.168.1.123/static (from the game network environment).
We can change the CDN server by changing that string in the config.json
file.
Thanks to sarah
(sarayalth
) from the LL Hax discord, there is a CDN that we can use to avoid hosting our own files.
Change the cnd server to https://llsifas.catfolk.party/static, and the game will download file from that server (through the internet). This is the recommended way to do this, however the server might become unavailable later on. The config.json
file should looks something like this:
{\"app_name\":\"elichika\",\"settings\":{\"cdn_server\":\"https://llsifas.catfolk.party/static\"}}\n
The easy installs all use this method.
"},{"location":"sifas/#self_hosted_cdn","title":"Self hosted CDN","text":"elichika
has the ability to host the CDN files, but we will have to have the CDN data ready. The data is 20GB for either GL or JP server, so 40GB for both.
One way to get them is from archive.org. The direct downloading speed is not that great, so be prepared to leave your machine on for a very long time. If you don't want that, download using the .torrent
, it would be much appreciated if you also host the files once downloaded. Do note that there are risks associated with torrenting, but that topic will not be discussed here.
Another way to get them is from extracting the downloaded game files. You can try this once you download the necessary files (from https://llsifas.catfolk.party/static), for example. To extract the files, use this youtube tutorial, or any other methods you know.
You can also just directly download from https://llsifas.catfolk.party/static if you have the list of necessary files (check the file database).
Regardless of how you get the files, you want to put them in:
elichika/static/2d61e7b4e89961c7\n
for GL or
elichika/static/b66ec2295e9a00aa\n
for JP. After that, edit the cnd_server
address to be http://<server_address>/static
(i.e. http://192.168.1.123/static or http://127.0.0.1:8080/static) and we're done.
Since we use the 3.12 clients, we have to patch the database (as the cdn data was for 3.11 clients). The patched database is included in the same download with the basic clients here. Just extract the correct version GL or JP, and put them in elichika/static/2d61e7b4e89961c7
(GL) or elichika/static/b66ec2295e9a00aa
(JP).
The easy installs have the database patch included for both JP and GL version.
It's possible to patch and key the database again (if you want to modify some file for example), although that is not discussed here. Join the discord and ask around for more informations.
"},{"location":"sifas/#changing_server_port","title":"Changing server port","text":"By default the server run on port 80. You can change by changing the main.go
file. Remember that you have to rebuild if you do this. Maybe this is better in a config file, but it's hard coded for now.
To change the port, open up main.go
the line:
r.Run(\":80\")\n
to whatever port you like, i.e.:
r.Run(\":8080\")\n
or
r.Run(\":1503\")\n
You can also use sed
:
sed -i 's/r.Run(\":80\")/r.Run(\":8080\")/g' main.go\n
On some system (Linux and/or Termux), port with number less than 1024 need to have root permission (or just higher permission than normal) to open, so changing it to something bigger let you run without root. Your port 80 might also be used for other things, so you might want a new port.
"},{"location":"sifas/#playing_the_game","title":"Playing the game","text":"After you have the server installed and run it, just open the game. You will be prompted to choose language if you are using the GL version, English(EN), Korean (KR), and Traditional Chinese (ZH) are supported, choose the one you want.
You will then be prompted to download the files. If you have spaces on your phone / emulator, you can just download everything, however, other type of download also work just fine. Download everything let you play the game without the internet later on.
After you are done downloading, you can just play the game like normal.
For your information, here is the summany state of the server. Note these might be outdated, mising, or incorekt.
"},{"location":"sifas/#stuff_that_works_at_least_partially","title":"Stuff that works (at least partially)","text":""},{"location":"sifas/#personalization","title":"Personalization","text":"The following persionalizations work: - Changing profile: You can select any card / title / name / nickname. - Changing partner: You can select partners and their costumes, as well as the backgrounds.
"},{"location":"sifas/#partner_interaction","title":"Partner interaction","text":"You can interact with everyone, view their cards, view their costumes and preview them.
There is no bond board unlock as they are all maxed.
"},{"location":"sifas/#3dmv","title":"3DMV","text":"You can watch all the MVs, with all the settings: - The \"custom formation\" tab works and you have all the outfit to choose from. - However changing costume in the \"original formation\" tab doesn't work, but you can just use the \"custom formation\" node.
"},{"location":"sifas/#story","title":"Story","text":"You can read ALL the stories, ALL of them: - All main stories - All bond stories - All side (card) stories - All event stories - All Nijigasaki anime tie-in stories
"},{"location":"sifas/#live_show","title":"Live show","text":"You can build team and play live shows: - You can play all the permanent songs and story songs. - You can play all the daily song, but they are on a rotation similar to the official game, however there is no limit to how many time you can play. Maybe it will be possible to make it so all daily song are always available. - You have all the cards almost maxed, along with maxed bond board and bond level 500 on every character, so you can try to clear the harder songs that you didn't manage to do before the game die. - Autoplay will also get Wonderful judgement everytime. If you didn't know, this is a server setting, so you can change the server so that it behave like the official game if you want. - The song play record is not implemented for now, and you don't get any item drops, but the main feature is there. - After you complete a song, you always get taken to a story menu, so it might be a bit annoying. - Some stuff like changing formation name can crash the game, but you can just restart. - Skip ticket doesn't work. - Overall the core stuff is there.
"},{"location":"sifas/#school_idols","title":"School idols","text":"You have all the school idols at max level and max limit breaks. - Most idols have their practice done, except for the party cards (will likely be fixed soon enough) - There's no actual idol rising experience for now.
"},{"location":"sifas/#training","title":"Training","text":"You can do training: - Training doesn't cost any AP. - Training doesn't give you any items. - Training doesn't depend on the regiments, you always get the same insight awarded, so you can use that to quickly build your maxed team. - Training doesn't give any other skill for now, so you can't build a team that has maxed out skill chance for example.
"},{"location":"sifas/#accessories","title":"Accessories","text":"You have the accessories available in the original game: - You can choose accessories for the formation just fine. - All the DLP accessories are available and maxed. - You also have other maxed accessories. - But there is no way to get more for now, so you can't play into some strategy that require them. - The game will crash if you try to disassemble or synthesize, or lock or remove from all formation etc. These will be address in due time.
"},{"location":"sifas/#stuff_that_doesnt_work_at_least_at_the_time_of_writing","title":"Stuff that doesn't work (at least at the time of writing)","text":"Aside from the things that work partially, some stuff doesn't work at all and crash the game, you should avoid clicking on them.
"},{"location":"sifas/#gacha","title":"Gacha","text":"Sadly you can't gacha for now.
"},{"location":"sifas/#membership_card","title":"Membership card","text":"Membership doesn't work on the global version (tapping it results in a crash).
Supposedly it works in the JP version.
"},{"location":"sifas/#news","title":"News","text":"The news menu works but it shows you JP news, and if you click on the news it crashes.
"},{"location":"sifas/#goals","title":"Goals","text":"There's no goal (mission), you can click on it but it will freeze your game, so you will need to restart the game.
"},{"location":"sifas/#channel_member","title":"Channel member","text":"Crash the game if clicked on.
"},{"location":"sifas/#shop_and_exchange","title":"Shop and exchange","text":"Crash the game if clicked on.
"},{"location":"sifas/#multiplayer","title":"Multiplayer","text":"No form of multiplayer exist or can exist with the current implementation. That might change later on.
"},{"location":"sifas/#event_sbl_and_dlp","title":"Event, SBL, and DLP","text":"There is currently no way to play these modes. In the future, someone might figure that out.
"},{"location":"sifas/#future_of_the_server","title":"Future of the server","text":"Development is still being done on the server by YumeMichi. If you want to help, joining the LL Hax discord would be a good first step.
Ideally, we would at least have a server that offer the same experience of the SIFAS journey: Getting cards, costumes, clearing goals, raising idols, raising bond level and so on.
"},{"location":"sifas/#easy_install","title":"Easy install","text":"This section provide some prebuilt server binaries and some clients so you don't have to make the modifications yourself.
"},{"location":"sifas/#clients","title":"Clients","text":".apk
clients, you can get them here. The naming format is ALL_STARS_3.12.0_version_ip_ip_ip_ip_port
. Version being GL or JP.elichika_<OS>_<ARCH>_<PORT>
.The server run inside Termux, on the same phone or emulator that you want to play SIFAS on. After downloading all of the game files, you can play anywhere anytime even without internet.
curl https://codeberg.org/arina999999997/nozomi/raw/branch/master/termux_install_script.sh -o sifas_install.sh && bash sifas_install.sh\n
elichika
server:cd elichika\n./elichika\n
If that doesn't work, you might have one of the following problems: - If you can't install the .apk
then you're out of luck, either play with a 64 bits emulator or phone. - If anything happen before you run the binary, your Termux has problem. Install through this guide. - If you run the server binary and it doesn't work, it's likely that your system has a different architecture. It might also start and give you a warning (this still works). The way to resolve this is to install golang and build the server yourself:
apt install golang\ngo build\n
The server run on your PC (Windows / Linux / MacOS). You play on your phone. The 2 devices has to be in the same network.
<your specific system>
if you have trouble.In the case that you want to run server on PC but play on android phone, and you can't get the IP/port, you can rely on adb.
adb
.adb reverse tcp:8080 tcp:8080\n
tcpip
mode. If you are going to do this, it's good to have a static IP for your phone, then you can make a script that connect to your phone and run the server,for convinience. If you want to play on an emulator and don't want to use Termux, you can use either adb
, or you can bridge the network so your emulator get treated as a device in your LAN. The details on how to do this depend on the emulator, so you should look it up yourself.
Some random knowledge that you might already know, or stuff that is inconvenience to discuss elsewhere.
"},{"location":"sifas/#install_necessary_program_in_linuxmactermux","title":"Install necessary program in Linux/Mac/Termux","text":"If you need a program, say git
, you can just type it to the terminal. The terminal will say that you don't have that program, but it will let you know which command to install the thing. If it doesn't then the tool you are trying to use is very niche, but you can still find some installing guide by searching.
For android, you can just use your phone/emulator to download the .apk
and install it. You might have to go through some step / permission, but it should be doable.
Pretty much all emulators have a way to install .apk
. You can use that feature for them. Most of them also let you install .apk
by dragging them into the emulator.
Finally, you can install .apk
through adb
.
For ios, it's way harder to install custom package. Please look up guide or ask the communities for help.
"},{"location":"sifas/#installing_termux_for_android","title":"Installing termux (for android)","text":"Termux give you access to various things, you can do things usually done on computers like programming. In our case, it let us run the server and play the game everywhere (without internet if you has downloaded the game files).
You can build termux yourself, but for simplicity, you can install Termux through the F-Droid release. You can either use the F-Droid app, or download the .apk
directly from the page and install that.
Note that the Termux from Google Play store is very OUTDATED, and it will likely NOT WORK.
"}]} \ No newline at end of file diff --git a/sif/index.html b/sif/index.html new file mode 100644 index 0000000..97255ee --- /dev/null +++ b/sif/index.html @@ -0,0 +1,520 @@ + + + + + + + + + + + + + + + + + + + + + + + +(the following was copied from the fandom wiki) +Love Live! School idol festival (ラブライブ!スクールアイドルフェスティバル Rabu raibu! Sukūru Aidoru Fesutibaru, LLSIF) was a rhythm game released for iOS and Android, based on the Love Live! franchise. It was published by Bushiroad and developed by KLab Inc. and was released on April 16, 2013 for iOS and June 6, 2013 for Android devices.
+An English version was released on May 12, 2014 under the title "School Idol Festival" at version 1.6. A Taiwanese version was released on May 22, 2014 under Mobimon Inc. at version 1.2. A Chinese version was released on June 12, 2014 under MariyGames at version 1.0. A Korean version was released on July 1, 2014 under NHN Entertainment Corp. at version 1.1. The Korean version was shut down and merged with the Global version on August 10, 2016. The Traditional Chinese version was shut down and merged with the Global version as of May 17, 2017. The Japanese Version was merged with the Global Version on June 10, 2021 and the Korean version & Traditional Chinese options was removed.
+An arcade version was announced to be in production on November 27, 2015 and was made available for play on December 6, 2016. A new game titled Love Live! School Idol Festival ALL STARS was announced to be in production on September 21, 2017, and was released on September 26, 2019. Both games will continue to run concurrently alongside each other.
+A successor to the game Love Live! School idol festival 2 MIRACLE LIVE! was announced on September 25, 2022, also featuring Nijigasaki High School Idol Club and Liella!.
+On January 31, 2023, it was announced that the game's service would be shut down on March 31, 2023. ^1
+Love Live! School idol festival ~after school ACTIVITY~ (ラブライブ!スクールアイドルフェスティバル ~after school ACTIVITY~) is an arcade version of Love Live! School idol festival. It was first announced to be in production on November 27, 2015 and was made available for play on December 6, 2016.
+Aqours was first announced to be added to the game on October 20, 2017. Aqours was added to the game with the Love Live! School Idol Festival: After School Activity Next Stage update on December 6, 2018. It was announced on October 26, 2020 that the game will receive a final update on November 10, 2020. No new songs or cards will be added passed that point, essentially ending support for the arcade version.
+On October 10th 2020, it was announced that a port to the Playstation 4, titled Love Live! School idol festival ~after school ACTIVITY~ WaiWai! Home Meeting!! was in development. This version of the game was also announced with English language support, notably being the first iteration of the game to be released outside of Japan and in another language. It was released worldwide on March 24th 2021.
+Obtaining the game files for this is gray area due to the copyright restriction playing an old arcade game entails. If you agree with me, you'd think this is total BS and want to play things that are considered dead or EoS even after the matter. Archival and preservation are the main motivators here, not money or business!
+ll3.exe
, but don't run it yet! There are some command line arguments that you can run it with to change how it acts:-highquality
: Runs the game with higher quality graphics. Not really sure if this makes a huge difference or not.
-centralmode
: Enables a specific game mode designed for the gacha version, where players obtain randomized virtual items.
-windowmode
or -singlemode
: Runs the game in a resizable window instead of full-screen mode, useful for debugging or testing.
-sh
(screen height): Sets the desired vertical size or resolution of the game window.
-sw
(screen width): Sets the desired horizontal size or resolution of the game window.
-wx
: Controls the horizontal position of the game window, specifying where the left edge of the window will be positioned.
-wy
: Controls the vertical position of the game window, specifying where the top edge of the window will be positioned.
.bat
script in that directory to run the game, open it. Example below:+++
bat +ll3.exe -singlemode -sw 1920 -sh 1080 -highquality
For online mode, you will need some more files (which I don't believe are easy to get via the site you should not go to). Here is a download link for this file structure:
+ +Next, make a D:\
drive (you can partition your C:\
drive) and directory to have the following file tree:
(Assume this is under the `D:\` root)
+├── system
+│ ├── CmdFile
+│ │ └── log
+│ │ └── Log.txt
+│ ├── DUA
+│ │ ├── data
+│ │ ├── decrypt
+│ │ ├── download
+│ │ ├── event
+│ │ ├── news
+│ │ │ ├── 1524476664.png
+│ │ │ └── 1554282603.png
+│ │ ├── unpack
+│ │ └── work
+│ ├── option.txt
+│ ├── Service
+│ │ └── NesysService.exe
+│ └── update.log
+
+(The most important file is the NesysService.exe
as this is what the game uses to call between the game server and the game)
After that step, edit your arcade machine's hosts file:
+++Usually under: +
+C:\Windows\System32\drivers\etc\hosts
127.0.0.1 cert.nesys.jp
+127.0.0.1 cert3.nesys.jp
+127.0.0.1 data.nesys.jp
+127.0.0.1 proxy.nesys.jp
+127.0.0.1 nesys.taito.co.jp
+127.0.0.1 fjm170920zero.nesica.net
+
+(If its the same PC, just leave it as 127.0.0.1
if its a different PC on your network, replace it with the IP address)
Once your computer resolves the domains to where ever you host the game server, we need to add some registry entries to enable the NesysService to run.
+Run the following file:
+ +Finally, you'll need to make nesys an actual Windows service (one that you would find in services.msc
). Download and run this command to add it (assuming your service
directory is found in D:\
). This is all tested for D:\
.
If you don't want to create a service, you're also able to run NesysService.exe
in powershell or cmd. Just follow these steps:
chcp 932
D:\system\Service\NesysService.exe -app
If it outputs the following then you're good to go!
+If it outputs something else, then you didn't install the registry values correctly!
+(todo, add a picture here as an example)
+The last step to this would be adding certificates. It is not an easy process, but asesidaa made a script that should do it for you.
+You can find the script to install the scripts in here: +https://github.com/asesidaa/LLServer/tree/master/LLServer/Certificates
+Make sure to run the script as administrator. (you might need to enable powershell script running exception)
+Enter this command in an administrator powershell window:
+set-executionpolicy remotesigned
If the script doesn't work, you just need to have the certs in the 'Personal' store and the 'Root Trust ...' store (I forget the full name). After that you shouldn't get any nesys HTTP errors (it should just connect).
+(On Japanese Locale, I think the 'Personal' store is also called the 'My' store)
+If the server isn't compiled already, you'll need Visual Studio Community edition, link for easy access here. +Make sure you set it up with basic .NET functionality. (It should install the things it needs if you don't select the right one so don't worry too much).
+Then if you haven't already, download the LLServer repo: +https://github.com/asesidaa/LLServer/archive/refs/heads/master.zip
+NesysService will require you to have a single interface enabled (and the other ones disabled) in order for it to connect correctly. Make sure you only have one network interface enabled like the picture below:
+
Lastly you will need the patched binary with the correct public key. This key is used to confirm that it's talking to the right server.
+Download it here:
+ +FYI, you will need to replace the original binary with this one.
+Please message @caretchara
on the Discord if anything here needs changes!
(the following was copied from the fandom wiki)
+Love Live! School Idol Festival ALL STARS (ラブライブ!スクールアイドルフェスティバル ALL STARS Rabu raibu! Sukūru Aidoru Fesutibaru ALL STARS) was a rhythm action game developed for mobile platforms, based on the Love Live! and related franchises. It is published by Bushiroad and developed by KLab Inc., and was released on September 26, 2019. It was first announced at Tokyo Game Show 2017 on September 21, 2017. Prior to the announcement, it was first introduced and teased on March 30, 2017 as the PERFECT Dream Project in conjunction with SIF's 4th year anniversary. +Love Live! School Idol Festival ALL STARS was designed with "the greatest, best idol game" as its concept. Characters from μ’s, Aqours and Nijigasaki High School Idol Club appear within this game.
+On April 30, 2023, it was announced that the game's service would be shut down on June 30, 2023.
+SIFAS, whether you liked it or not, was unjustly killed in favor of a bad "sequel". SIFAS die and bring with it things like fully animated navigator, stories, costume, and of course the main selling point of the game - 3DMV. With SIFAS gone, the only way to officially watch 3DMV is through the Link Live app (doesn't have other groups), or through some metaverse VR stuff that you have to pay for (per concert).
+Luckily for us, the community managed to preserve most if not all of the beloved aspects of the game. Thanks to various community members, there are works done and being done so that with a bit of tinkering, you can install and play SIFAS.
+The information presented by the author(s) of this documentation were either background knowledge, knowledge provided by community members, or knowledge learned from works published by community members.
+The author(s) try to make sure that the information presented is correct. However, there might be incorrect info, or outdated info.
+The author(s) try to acknowledge and credit the community members who share knowledge, develop tools, host resources, or helped in any other way, but there might be some missing credit. If that were the case, please know that it is not intended by the author(s), and please contact the author(s) for proper credit.
+The knowledge, tools, resources used by this documentation are acquired and presented with a good faith basis. While the author(s) try to ask creators for permission to use or feature their works, some works was used or featured without explicit permission. If you have problem with your works being mentioned / features, or your name being credited, please contact the author(s) to sort things out.
+This documentation go somewhat in depth to the technical side, so for experienced audience, it can serve as a quick introduction to the working of the game and server. If you are not interested in the details, or want to get something running before learning more, please check out the Easy install section for a streamlined experience. Do note that the provided packages might not work for you, however, the details explanation should give you want you need to get things working. Regardless, feel free to reach out to the community, both to help resolve your situation and to help make the documentation better.
+This documentation will be about hosting your own SIFAS server, however, there exist a Korean private server that you can play the GL version on. You can find out more about it by asking in the LL Hax server. This documentation will also discuss only the GL (Global) and JP (Japanese) version, although there exist private server for CN (Chinese) version as well.
+This documentation assume that you have some background knowledge related to the topic discussed, however, if this is your first time doing something like this, or you just want to learn more, you can also checkout the Random knowledge section. Various things that are common knowledge, things that are related and interesting (but not totally relevant to the discussion) are discussed.
+As there are multiple platforms for both client and server, we use the following terms to refer to them:
+We will be using the 3.12 clients (patched): +- If you recall, these are released after the game is dead. +- The only functionality is to show a "SIFAS EoS, thanks for playing SIFAS" message, or so it seems. +- The truth is that, none of the original functionality was deleted, but the crack-proof is removed. +- Which mean that if we patch the starting screen away, we have access to a superior version of the app. +- We will only deal with the patched version here, the only modification you might need to do is to change the server address inside the client.
+These are the clients that come with the elichika server, you can get them fromelichika or directly here.
+These clients connect to http://192.168.1.123. This is a local address (LAN), so if you run elichika
the machine that has that address (and the port is opened for LAN access), you won't have to modify the clients at all. It will be explained more on the easy install section.
There are some problems that prevent the basic clients from working or working well:
+- You might not have a Wi-Fi network that you can connect to.
+- You might not have a separate device (usually a PC / laptop) to run the server on.
+- Your Wi-Fi router IP address might not look like 192.168.xxx.xxx, and it's impossible or very complicated to change that.
+- You can't obtain the IP 192.168.1.123 because someone or something on your network already have that (it's a nice address).
+- You have the IP but you need port 80 (default http) for something else, so you can't run elichika
on that port.
+- You are outside touching grass a lot, so you are not connected to Wi-Fi that often.
+- The list go on.
In which case, you will need to patch the server address in your client, or a client with different address. There are a few clients provided in the easy install section, see if you can use one of them, if not then you will have to patch the server address yourself.
+This part is written after referencing honoka-chan. It's recommended that you read that for a deeper understanding, however that won't be necessary to follow this documentation.
+We work with the basic clients .apk
here.
There are multiple ways to do this, but we will use apktool.
+We can either use the wrapper or .jar directly. Of course, java will be necessary.
+Open up a terminal (command prompt) in the same folder as the .apk
and run the following:
apktool d ALL_STARS_3.12.0_gl_patched.apk
+
+for global client, or
+apktool d ALL_STARS_3.12.0_ja_patched.apk
+
+for JP client. Note that if you don't use or don't have the apktool
wrapper, you can run the .jar
directly (put in the same directory or you will have to specify to the actual path):
java -jar apktool_2.8.1.jar d apkname.apk
+
+In any case, after unpacking, you should have a folder that has the same name as the .apk
except for the extension
We will use the MetaData String Editor
+It is written in C#, and the .exe
you can download need windows to run. If you can build your own from source, or change the metadata in other way, then you can use that too.
This tool is used to edit the metadata file of Unity engine games. In this case, we use it to change the address the client will connect to, but you can also change other strings.
+ + +To change the address string, open the tool, then press the top left button and open up the global-metadata.dat
file. You can find it in:
ALL_STARS_3.12.0_gl_patched\assets\bin\Data\Managed\Metadata
+
+or
+ALL_STARS_3.12.0_jp_patched\assets\bin\Data\Managed\Metadata
+
+depending on the versions.
+You will see many strings. Search for http://192.168.1.123 using the textbox at the top. Double click on the string, click on the popup thing, and you will see another window pop up. You can edit that data to any address you wish to connect to.
+If want to use the elichika server, keep it http
, you can use https
if the server do support that.
After editing the address, click the bottom right button to change the address. After that, click the middle button on the top left of the program. Save the metadata as some other file, as you can't overwrite to the current file. After that you can close the tool, remove the original global-metadata.dat
and rename the new file to global-metadata.dat
.
We can do this with apktool
:
apktool b ALL_STARS_3.12.0_gl_patched
+
+or
+apktool b ALL_STARS_3.12.0_ja_patched
+
+After apktool
is done, you can find the output .apk
in
ALL_STARS_3.12.0_gl_patched\dist\ALL_STARS_3.12.0_gl_patched.apk
+
+or
+ALL_STARS_3.12.0_jp_patched\dist\ALL_STARS_3.12.0_jp_patched.apk
+
+This .apk
is not finished, we need to sign it before it can be installed in emulators or phones.
To sign the .apk
, we will need a few things.
The first is apksigner
. You can either download a .jar
online, or you can get it with the Android SDK.
The second thing we need is a keystore. You can download this keystore that has password 123456
for your convinience. If you want to generate your own key store, you will need keytool
, which come with java
(find it in java bin folder):
keytool -genkeypair -v -keystore sifkey.keystore -alias sifkey -keyalg RSA -keysize 2048 -validity 36500
+
+You can choose your own password and the keystore name. After we have the keystore, you can sign the .apk
:
apksigner sign --ks sifkey.keystore --ks-key-alias sifkey --out ALL_STARS_3.12.0_gl_patched.apk ALL_STARS_3.12.0_gl_patched\dist\ALL_STARS_3.12.0_gl_patched.apk
+
+
+You can change the .apk
name if necessary.
After this, you can install the .apk
. If you already have a version of SIFAS, you might get an error saying that the signature doesn't match. You can just uninstall the old SIFAS and install the new one in that case. Google play protect might say the file is suspicious, but you can still install it.
It's possible to use frida to change the address and avoid having to patch the .apk
, as demonstated by sarah
in the LL Hax discord. If you don't want to use the above patching process, you might want to try that.
The details on patching .ipa
is outside of the author(s) knowledge and is not discussed here, but it is doable.
The ios clients distributed by elichika
were patched by tungnotpunk
in the LL Hax discord. If you want to learn how patch them yourself, you can find out more there.
elichika is a SIFAS server written by YumeMichi
(.yumemichi
on discord). It is written in Go(lang), and it is still being worked on at the time of writing this documentation. As such, it's recommended that you install git to make it easy to keep your version up-to-date.
This documentation will walk through the process of installing and building elichika
using git
and some other tools. You can also try the prebuilt server binaries but they might not be up to date, and might not work for your purpose.
Generally, if we can run Go on a platform, then we can run the server on it. Regardless of the platform, the setup will be something like this: +- Local PC: server run on a PC (windows, linux, mac), client connect to it through WLAN (Wi-Fi) or some tethering method. +- External PC: server run on an external machine, client connect to it through a public IP or a server address. This is the setup for online multiplayers, however that is not supported by the server (for now). +- Android/Termux: server run on the same android phone, tablet, or emulator as the client. More precisely, it will be running inside the termux app.
+If you want to use git
to get the server, and you didn't have it installed, you can download and install through the official website.
For Linux and Termux, you can also install git
through the terminal (it's most likely already installed in Linux, but this is necessary for a fresh Termux install):
apt install git
+
+If you don't want to use it, you can skip this step.
+Nagivate to where you want to put the server and open up a terminal:
+- For Windows, nagivate with the GUI to the folder you want to put the server, then enter cmd`` into the address bar, that will open up a terminal inside that folder.
+- For Linux GUI, you can also navigate to the directory you want, and right click, there should be an option to open the terminal.
+- For all platforms, you can also just open the command prompt / terminal and go to the correct place. Expect to use things like
cdand
mkdir` to navigate and create folder.
After that, use git clone
to download the server:
git clone https://github.com/YumeMichi/elichika
+
+
+You will get an elichika
folder / directory. Go to it with your current terminal:
cd elichika
+
+Everyt ime you want to run the server, you will have to open a terminal in that directory.
+If you use git, you can keep your server source code up to date by running the following:
+git pull
+
+Note that if you made changes to the server, then git pull
might fail. You can either learn more about .gitignore
(or other methods) to keep your changes, or you can just run:
git reset --hard
+git pull
+
+to update it, but you will have to make the change again.
+You can also download the source code directly to avoid using git
. If you do this, everytime you want to update the server, you will have to redownload everything.
Simply go to elichika with your web browser, click on the Code button, click on Download ZIP, save the file, and extract it. You will need to open terminal in the extracted folder with main.go
file.
It's recommended to build your own server if you can, so you can stay up-to-date and make the changes necessary.
+Because the server is written in Go, you have to install it to build the server.
+For PC platforms, you can get it here.
+For Termux, run:
+pkg install golang
+
+On all platform, simply run:
+go build
+
+inside the elichika
server. You will get an elichika
binary (elichika.exe
on windows). Note that you will have to rebuild everytime you update or make a change.
Before you can play the game, you have to run the server. To do that, go to the elichika
folder, and run the binary through terminal / command prompt:
./elichika
+
+remove the ./
on windows. On windows, you can also run it by opening the .exe file directly.
If you haven't configured the server correctly, you might have to change some config. Mostly you will change config.json
or main.go
.
Easy setups all have configuration ready, but you might still want to do some modifications.
+To change the files in windows or linux GUI, you can open any text editor to change config.
+In Termux, you should use some command-line based text editor like nano
, or vim
. Looks up a tutorial if you don't know how to use them. You can also just use sed
if you are comfortable with it.
A CDN (content distribution network) server is where the game(app) will download the files necessary (i.e. songs, stories). We can set it inside config.json
. Note that if the file is not present, just run elichika
and close it, the file will be generated.
By default, it's pointed to http://192.168.1.123/static (the same address as the default elichika
server). This essentially tell the game to download game files from http://192.168.1.123/static (from the game network environment).
We can change the CDN server by changing that string in the config.json
file.
Thanks to sarah
(sarayalth
) from the LL Hax discord, there is a CDN that we can use to avoid hosting our own files.
Change the cnd server to https://llsifas.catfolk.party/static, and the game will download file from that server (through the internet). This is the recommended way to do this, however the server might become unavailable later on. The config.json
file should looks something like this:
{"app_name":"elichika","settings":{"cdn_server":"https://llsifas.catfolk.party/static"}}
+
+The easy installs all use this method.
+elichika
has the ability to host the CDN files, but we will have to have the CDN data ready. The data is 20GB for either GL or JP server, so 40GB for both.
One way to get them is from archive.org. The direct downloading speed is not that great, so be prepared to leave your machine on for a very long time. If you don't want that, download using the .torrent
, it would be much appreciated if you also host the files once downloaded. Do note that there are risks associated with torrenting, but that topic will not be discussed here.
Another way to get them is from extracting the downloaded game files. You can try this once you download the necessary files (from https://llsifas.catfolk.party/static), for example. To extract the files, use this youtube tutorial, or any other methods you know.
+You can also just directly download from https://llsifas.catfolk.party/static if you have the list of necessary files (check the file database).
+Regardless of how you get the files, you want to put them in:
+elichika/static/2d61e7b4e89961c7
+
+for GL or
+elichika/static/b66ec2295e9a00aa
+
+for JP. After that, edit the cnd_server
address to be http://<server_address>/static
(i.e. http://192.168.1.123/static or http://127.0.0.1:8080/static) and we're done.
Since we use the 3.12 clients, we have to patch the database (as the cdn data was for 3.11 clients). The patched database is included in the same download with the basic clients here. Just extract the correct version GL or JP, and put them in elichika/static/2d61e7b4e89961c7
(GL) or elichika/static/b66ec2295e9a00aa
(JP).
The easy installs have the database patch included for both JP and GL version.
+It's possible to patch and key the database again (if you want to modify some file for example), although that is not discussed here. Join the discord and ask around for more informations.
+By default the server run on port 80. You can change by changing the main.go
file. Remember that you have to rebuild if you do this. Maybe this is better in a config file, but it's hard coded for now.
To change the port, open up main.go
the line:
r.Run(":80")
+
+to whatever port you like, i.e.:
+r.Run(":8080")
+
+or
+r.Run(":1503")
+
+You can also use sed
:
sed -i 's/r.Run(":80")/r.Run(":8080")/g' main.go
+
+On some system (Linux and/or Termux), port with number less than 1024 need to have root permission (or just higher permission than normal) to open, so changing it to something bigger let you run without root. Your port 80 might also be used for other things, so you might want a new port.
+After you have the server installed and run it, just open the game. You will be prompted to choose language if you are using the GL version, English(EN), Korean (KR), and Traditional Chinese (ZH) are supported, choose the one you want.
+You will then be prompted to download the files. If you have spaces on your phone / emulator, you can just download everything, however, other type of download also work just fine. Download everything let you play the game without the internet later on.
+After you are done downloading, you can just play the game like normal.
+For your information, here is the summany state of the server. Note these might be outdated, mising, or incorekt.
+The following persionalizations work: +- Changing profile: You can select any card / title / name / nickname. +- Changing partner: You can select partners and their costumes, as well as the backgrounds.
+You can interact with everyone, view their cards, view their costumes and preview them.
+There is no bond board unlock as they are all maxed.
+You can watch all the MVs, with all the settings: +- The "custom formation" tab works and you have all the outfit to choose from. +- However changing costume in the "original formation" tab doesn't work, but you can just use the "custom formation" node.
+You can read ALL the stories, ALL of them: +- All main stories +- All bond stories +- All side (card) stories +- All event stories +- All Nijigasaki anime tie-in stories
+You can build team and play live shows: +- You can play all the permanent songs and story songs. +- You can play all the daily song, but they are on a rotation similar to the official game, however there is no limit to how many time you can play. Maybe it will be possible to make it so all daily song are always available. +- You have all the cards almost maxed, along with maxed bond board and bond level 500 on every character, so you can try to clear the harder songs that you didn't manage to do before the game die. +- Autoplay will also get Wonderful judgement everytime. If you didn't know, this is a server setting, so you can change the server so that it behave like the official game if you want. +- The song play record is not implemented for now, and you don't get any item drops, but the main feature is there. +- After you complete a song, you always get taken to a story menu, so it might be a bit annoying. +- Some stuff like changing formation name can crash the game, but you can just restart. +- Skip ticket doesn't work. +- Overall the core stuff is there.
+You have all the school idols at max level and max limit breaks. +- Most idols have their practice done, except for the party cards (will likely be fixed soon enough) +- There's no actual idol rising experience for now.
+You can do training: +- Training doesn't cost any AP. +- Training doesn't give you any items. +- Training doesn't depend on the regiments, you always get the same insight awarded, so you can use that to quickly build your maxed team. +- Training doesn't give any other skill for now, so you can't build a team that has maxed out skill chance for example.
+You have the accessories available in the original game: +- You can choose accessories for the formation just fine. +- All the DLP accessories are available and maxed. +- You also have other maxed accessories. +- But there is no way to get more for now, so you can't play into some strategy that require them. +- The game will crash if you try to disassemble or synthesize, or lock or remove from all formation etc. These will be address in due time.
+Aside from the things that work partially, some stuff doesn't work at all and crash the game, you should avoid clicking on them.
+Sadly you can't gacha for now.
+Membership doesn't work on the global version (tapping it results in a crash).
+Supposedly it works in the JP version.
+The news menu works but it shows you JP news, and if you click on the news it crashes.
+There's no goal (mission), you can click on it but it will freeze your game, so you will need to restart the game.
+Crash the game if clicked on.
+Crash the game if clicked on.
+No form of multiplayer exist or can exist with the current implementation. That might change later on.
+There is currently no way to play these modes. In the future, someone might figure that out.
+Development is still being done on the server by YumeMichi. If you want to help, joining the LL Hax discord would be a good first step.
+Ideally, we would at least have a server that offer the same experience of the SIFAS journey: Getting cards, costumes, clearing goals, raising idols, raising bond level and so on.
+This section provide some prebuilt server binaries and some clients so you don't have to make the modifications yourself.
+.apk
clients, you can get them here. The naming format is ALL_STARS_3.12.0_version_ip_ip_ip_ip_port
. Version being GL or JP.elichika_<OS>_<ARCH>_<PORT>
.The server run inside Termux, on the same phone or emulator that you want to play SIFAS on. After downloading all of the game files, you can play anywhere anytime even without internet.
+curl https://codeberg.org/arina999999997/nozomi/raw/branch/master/termux_install_script.sh -o sifas_install.sh && bash sifas_install.sh
+
+elichika
server:cd elichika
+./elichika
+
+If that doesn't work, you might have one of the following problems:
+- If you can't install the .apk
then you're out of luck, either play with a 64 bits emulator or phone.
+- If anything happen before you run the binary, your Termux has problem. Install through this guide.
+- If you run the server binary and it doesn't work, it's likely that your system has a different architecture. It might also start and give you a warning (this still works). The way to resolve this is to install golang and build the server yourself:
apt install golang
+go build
+
+The server run on your PC (Windows / Linux / MacOS). You play on your phone. The 2 devices has to be in the same network.
+<your specific system>
if you have trouble.In the case that you want to run server on PC but play on android phone, and you can't get the IP/port, you can rely on adb.
+adb
.adb reverse tcp:8080 tcp:8080
+
+tcpip
mode. If you are going to do this, it's good to have a static IP for your phone, then you can make a script that connect to your phone and run the server,for convinience. If you want to play on an emulator and don't want to use Termux, you can use either adb
, or you can bridge the network so your emulator get treated as a device in your LAN. The details on how to do this depend on the emulator, so you should look it up yourself.
Some random knowledge that you might already know, or stuff that is inconvenience to discuss elsewhere.
+If you need a program, say git
, you can just type it to the terminal. The terminal will say that you don't have that program, but it will let you know which command to install the thing. If it doesn't then the tool you are trying to use is very niche, but you can still find some installing guide by searching.
For android, you can just use your phone/emulator to download the .apk
and install it. You might have to go through some step / permission, but it should be doable.
Pretty much all emulators have a way to install .apk
. You can use that feature for them. Most of them also let you install .apk
by dragging them into the emulator.
Finally, you can install .apk
through adb
.
For ios, it's way harder to install custom package. Please look up guide or ask the communities for help.
+Termux give you access to various things, you can do things usually done on computers like programming. In our case, it let us run the server and play the game everywhere (without internet if you has downloaded the game files).
+You can build termux yourself, but for simplicity, you can install Termux through the F-Droid release. You can either use the F-Droid app, or download the .apk
directly from the page and install that.
Note that the Termux from Google Play store is very OUTDATED, and it will likely NOT WORK.
+ + + + + + +