Private (self hostable) servers
Private Servers¶
There are 3 servers¶
- EW (ew, why?): source, mirror
- Edelstein (in development): source
- alive-serv (in development): source (I found this while googling)
Development stuff¶
Asset tree¶
Sif2 uses unity assetbundles to distribute assets. They also verify the asset hashes, yayyy!!!! (sarcasm).
The initial request containing hashes, filenames, and assetbundle sizes has the name of 387b0126300c54515911bffb6540982d.unity3d
Files are at <FileHash>/<FileName>.ext
Masterdata¶
The masterdata is shipped under filename 6572ca8348bc566b8cf01d43c4cc1b58.unity3d
. Once extracted, all files were encrypted.
You can decrypt the masterdata with the following python function:
def decrypt_mst(bin_file):
salt = bin_file[16:32]
pbk = hashlib.pbkdf2_hmac(
"sha1", "3559b435f24b297a79c68b9709ef2125".encode("utf-8"), salt, 1000
)
key = pbk[:16]
iv_length = bin_file[32] # = 16
iv = bin_file[36:36 + iv_length]
data = bin_file[36 + iv_length:]
cipher = Cipher(
algorithms.AES(key), modes.CBC(iv), backend=default_backend()
)
decryptor = cipher.decryptor()
decrypted = decryptor.update(data) + decryptor.finalize()
return decrypted[:-decrypted[-1]]
All files are then binary serialized. I'll document that part later. Maybe...
Modification¶
Please see the SIF2 asset modification repository. You will need to download SIF2 assets for the language of your choice.
Downloading assets¶
Assets can be found on archive.org:
- JP: https://archive.org/details/lovelive-sif2-jp-assets
- GLOBAL: https://archive.org/details/lovelive-sif2-gl-assets
Changing the server URL¶
TODO...