61 lines
2 KiB
Markdown
61 lines
2 KiB
Markdown
|
|
# Private Servers
|
|
|
|
## There are 3 servers
|
|
|
|
- EW (ew, why?): [source](https://git.ethanthesleepy.one/ethanaobrien/ew), [mirror](https://github.com/ethanaobrien/ew)
|
|
- Edelstein (in development): [source](https://github.com/Arasfon/Edelstein)
|
|
- alive-serv (in development): [source](https://github.com/miraclealive/alive-serv) (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:
|
|
|
|
```py
|
|
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](https://git.ethanthesleepy.one/ethanaobrien/sif2-asset-modification). 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](https://archive.org/details/lovelive-sif2-jp-assets)
|
|
- GLOBAL: [https://archive.org/details/lovelive-sif2-gl-assets](https://archive.org/details/lovelive-sif2-gl-assets)
|
|
|
|
### Changing the server URL
|
|
|
|
TODO...
|