1003 lines
No EOL
30 KiB
HTML
1003 lines
No EOL
30 KiB
HTML
|
|
<!doctype html>
|
|
<html lang="en" class="no-js">
|
|
<head>
|
|
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
|
|
|
|
|
|
<link rel="canonical" href="https://ll.hax.sif.moe/sifac/">
|
|
|
|
|
|
<link rel="prev" href="../sif/ipa-patching/">
|
|
|
|
|
|
<link rel="next" href="../sifas/">
|
|
|
|
|
|
<link rel="icon" href="../assets/images/favicon.png">
|
|
<meta name="generator" content="mkdocs-1.6.0, mkdocs-material-9.5.26">
|
|
|
|
|
|
|
|
<title>SIFAC - LL Hax Docs</title>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../assets/stylesheets/main.6543a935.min.css">
|
|
|
|
|
|
<link rel="stylesheet" href="../assets/stylesheets/palette.06af60db.min.css">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
|
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:300,300i,400,400i,700,700i%7CRoboto+Mono:400,400i,700,700i&display=fallback">
|
|
<style>:root{--md-text-font:"Roboto";--md-code-font:"Roboto Mono"}</style>
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="../style/better.css">
|
|
|
|
<script>__md_scope=new URL("..",location),__md_hash=e=>[...e].reduce((e,_)=>(e<<5)-e+_.charCodeAt(0),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</head>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<body dir="ltr" data-md-color-scheme="default" data-md-color-primary="pink" data-md-color-accent="deep-purple">
|
|
|
|
|
|
<input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
|
|
<input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
|
|
<label class="md-overlay" for="__drawer"></label>
|
|
<div data-md-component="skip">
|
|
|
|
|
|
<a href="#sifac" class="md-skip">
|
|
Skip to content
|
|
</a>
|
|
|
|
</div>
|
|
<div data-md-component="announce">
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<header class="md-header md-header--shadow" data-md-component="header">
|
|
<nav class="md-header__inner md-grid" aria-label="Header">
|
|
<a href=".." title="LL Hax Docs" class="md-header__button md-logo" aria-label="LL Hax Docs" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
|
|
|
</a>
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3V6m0 5h18v2H3v-2m0 5h18v2H3v-2Z"/></svg>
|
|
</label>
|
|
<div class="md-header__title" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
LL Hax Docs
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
|
|
SIFAC
|
|
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
<form class="md-header__option" data-md-component="palette">
|
|
|
|
|
|
|
|
|
|
<input class="md-option" data-md-color-media="" data-md-color-scheme="default" data-md-color-primary="pink" data-md-color-accent="deep-purple" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_0">
|
|
|
|
<label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_1" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
|
|
</label>
|
|
|
|
|
|
|
|
|
|
|
|
<input class="md-option" data-md-color-media="" data-md-color-scheme="slate" data-md-color-primary="pink" data-md-color-accent="deep-purple" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_1">
|
|
|
|
<label class="md-header__button md-icon" title="Switch to light mode" for="__palette_0" hidden>
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12c0-2.42-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12 20 8.69Z"/></svg>
|
|
</label>
|
|
|
|
|
|
</form>
|
|
|
|
|
|
|
|
<script>var media,input,key,value,palette=__md_get("__palette");if(palette&&palette.color){"(prefers-color-scheme)"===palette.color.media&&(media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']"),palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent"));for([key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
|
|
|
|
|
|
|
|
<label class="md-header__button md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|
</label>
|
|
<div class="md-search" data-md-component="search" role="dialog">
|
|
<label class="md-search__overlay" for="__search"></label>
|
|
<div class="md-search__inner" role="search">
|
|
<form class="md-search__form" name="search">
|
|
<input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
|
|
<label class="md-search__icon md-icon" for="__search">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.516 6.516 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5Z"/></svg>
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11h12Z"/></svg>
|
|
</label>
|
|
<nav class="md-search__options" aria-label="Search">
|
|
|
|
<button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"/></svg>
|
|
</button>
|
|
</nav>
|
|
|
|
</form>
|
|
<div class="md-search__output">
|
|
<div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
|
|
<div class="md-search-result" data-md-component="search-result">
|
|
<div class="md-search-result__meta">
|
|
Initializing search
|
|
</div>
|
|
<ol class="md-search-result__list" role="presentation"></ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</nav>
|
|
|
|
</header>
|
|
|
|
<div class="md-container" data-md-component="container">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<main class="md-main" data-md-component="main">
|
|
<div class="md-main__inner md-grid">
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--primary" aria-label="Navigation" data-md-level="0">
|
|
<label class="md-nav__title" for="__drawer">
|
|
<a href=".." title="LL Hax Docs" class="md-nav__button md-logo" aria-label="LL Hax Docs" data-md-component="logo">
|
|
|
|
|
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a3 3 0 0 0 3-3 3 3 0 0 0-3-3 3 3 0 0 0-3 3 3 3 0 0 0 3 3m0 3.54C9.64 9.35 6.5 8 3 8v11c3.5 0 6.64 1.35 9 3.54 2.36-2.19 5.5-3.54 9-3.54V8c-3.5 0-6.64 1.35-9 3.54Z"/></svg>
|
|
|
|
</a>
|
|
LL Hax Docs
|
|
</label>
|
|
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href=".." class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Home
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../pugu/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Puchiguru
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SIF
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_3">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
SIF
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sif/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SIF - Introduction
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sif/private-servers/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Private (self hostable) servers
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sif/apk-patching/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Patching the apk
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sif/ipa-patching/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Patching the ipa
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--active">
|
|
|
|
<input class="md-nav__toggle md-toggle" type="checkbox" id="__toc">
|
|
|
|
|
|
|
|
<label class="md-nav__link md-nav__link--active" for="__toc">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SIFAC
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<a href="./" class="md-nav__link md-nav__link--active">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SIFAC
|
|
</span>
|
|
|
|
|
|
</a>
|
|
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#sifac" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
SIFAC
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#how_to_play" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
How to Play
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="How to Play">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#cli_arguments" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
CLI Arguments
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#running_the_game" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Running The game
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Running The game">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#offline_mode" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Offline Mode
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#online_mode_currently_being_worked_on" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Online Mode (currently being worked on)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#certificates" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Certificates
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#network_interfaces" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Network Interfaces
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#patched_binary" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Patched Binary
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item md-nav__item--nested">
|
|
|
|
|
|
|
|
<input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
|
|
|
|
|
|
<label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SIFAS
|
|
</span>
|
|
|
|
|
|
<span class="md-nav__icon md-icon"></span>
|
|
</label>
|
|
|
|
<nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
|
|
<label class="md-nav__title" for="__nav_5">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
SIFAS
|
|
</label>
|
|
<ul class="md-nav__list" data-md-scrollfix>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sifas/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SIFAS - Introduction
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sifas/private-server/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Private (self hostable) servers
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sifas/easy-install/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Easy install
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sifas/apk-patching/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
Patching the apk
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../sif2/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
SIF2
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<li class="md-nav__item">
|
|
<a href="../about/" class="md-nav__link">
|
|
|
|
|
|
<span class="md-ellipsis">
|
|
About
|
|
</span>
|
|
|
|
|
|
</a>
|
|
</li>
|
|
|
|
|
|
|
|
</ul>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
|
|
<div class="md-sidebar__scrollwrap">
|
|
<div class="md-sidebar__inner">
|
|
|
|
|
|
<nav class="md-nav md-nav--secondary" aria-label="Table of contents">
|
|
|
|
|
|
|
|
|
|
<label class="md-nav__title" for="__toc">
|
|
<span class="md-nav__icon md-icon"></span>
|
|
Table of contents
|
|
</label>
|
|
<ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#sifac" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
SIFAC
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#how_to_play" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
How to Play
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="How to Play">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#cli_arguments" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
CLI Arguments
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#running_the_game" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Running The game
|
|
</span>
|
|
</a>
|
|
|
|
<nav class="md-nav" aria-label="Running The game">
|
|
<ul class="md-nav__list">
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#offline_mode" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Offline Mode
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#online_mode_currently_being_worked_on" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Online Mode (currently being worked on)
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#certificates" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Certificates
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#network_interfaces" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Network Interfaces
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
<li class="md-nav__item">
|
|
<a href="#patched_binary" class="md-nav__link">
|
|
<span class="md-ellipsis">
|
|
Patched Binary
|
|
</span>
|
|
</a>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
</nav>
|
|
|
|
</li>
|
|
|
|
</ul>
|
|
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="md-content" data-md-component="content">
|
|
<article class="md-content__inner md-typeset">
|
|
|
|
|
|
|
|
|
|
<h1>SIFAC</h1>
|
|
|
|
<h2 id="sifac">SIFAC<a class="headerlink" href="#sifac" title="Permanent link">¶</a></h2>
|
|
<p>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.</p>
|
|
<p>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.</p>
|
|
<p>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.</p>
|
|
<h2 id="how_to_play">How to Play<a class="headerlink" href="#how_to_play" title="Permanent link">¶</a></h2>
|
|
<p>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!</p>
|
|
<ol>
|
|
<li>I do not suggest looking on a certain site called nyaa.si or of similar origin as it will contain the borderline illegal method of getting the game</li>
|
|
<li>Once the game files are obtained. (From a dump of the arcade machine or of other methods) extract them or decrypt the virtual hard disk (ask around for help if you need this method).</li>
|
|
<li>The binary you want to run will be <code>ll3.exe</code>, but don't run it yet! There are some command line arguments that you can run it with to change how it acts:</li>
|
|
</ol>
|
|
<h4 id="cli_arguments">CLI Arguments<a class="headerlink" href="#cli_arguments" title="Permanent link">¶</a></h4>
|
|
<p><code>-highquality</code>: Runs the game with higher quality graphics. Not really sure if this makes a huge difference or not. </p>
|
|
<p><code>-centralmode</code>: Enables a specific game mode designed for the gacha version, where players obtain randomized virtual items.</p>
|
|
<p><code>-windowmode</code> or <code>-singlemode</code>: Runs the game in a resizable window instead of full-screen mode, useful for debugging or testing.</p>
|
|
<p><code>-sh</code> (screen height): Sets the desired vertical size or resolution of the game window.</p>
|
|
<p><code>-sw</code> (screen width): Sets the desired horizontal size or resolution of the game window.</p>
|
|
<p><code>-wx</code>: Controls the horizontal position of the game window, specifying where the left edge of the window will be positioned.</p>
|
|
<p><code>-wy</code>: Controls the vertical position of the game window, specifying where the top edge of the window will be positioned.</p>
|
|
<h3 id="running_the_game">Running The game<a class="headerlink" href="#running_the_game" title="Permanent link">¶</a></h3>
|
|
<h4 id="offline_mode">Offline Mode<a class="headerlink" href="#offline_mode" title="Permanent link">¶</a></h4>
|
|
<ol>
|
|
<li>Once you've setup a <code>.bat</code> script in that directory to run the game, open it. Example below:<blockquote>
|
|
<p><code>bat
|
|
ll3.exe -singlemode -sw 1920 -sh 1080 -highquality</code></p>
|
|
</blockquote>
|
|
</li>
|
|
<li>Launch the batch file and the game should open. Ensure you have the correct patched file(s) for the functionality you want to unlock. By default, the game will be capable of running in 'Free Play' mode (activate through the test configuration page). This allows for some gameplay (play up to a certain amount of songs per session, not all songs are unlocked). The machine <em>can</em> scan cards if a user has them. From my understanding, it doesn't need a network to do this. </li>
|
|
</ol>
|
|
<h4 id="online_mode_currently_being_worked_on">Online Mode (currently being worked on)<a class="headerlink" href="#online_mode_currently_being_worked_on" title="Permanent link">¶</a></h4>
|
|
<p>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:</p>
|
|
<p><a href="../files/system.zip">../files/system.zip</a></p>
|
|
<p>Next, make a <code>D:\</code> drive (you can partition your <code>C:\</code> drive) and directory to have the following file tree:</p>
|
|
<pre><code>(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
|
|
</code></pre>
|
|
<p>(The most important file is the <code>NesysService.exe</code> as this is what the game uses to call between the game server and the game)</p>
|
|
<p>After that step, edit your arcade machine's hosts file:</p>
|
|
<blockquote>
|
|
<p>Usually under:
|
|
<code>C:\Windows\System32\drivers\etc\hosts</code></p>
|
|
</blockquote>
|
|
<pre><code>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
|
|
</code></pre>
|
|
<p>MAKE SURE NOT TO ADD HASHTAGS TO THESE LINES!
|
|
(If its the same PC, just leave it as <code>127.0.0.1</code> if its a different PC on your network, replace it with the IP address)</p>
|
|
<p>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.</p>
|
|
<p>Run the following file:</p>
|
|
<p><a href="../files/runme.reg">../files/runme.reg</a></p>
|
|
<p>Finally, you'll need to make nesys an <em>actual</em> Windows service (one that you would find in <code>services.msc</code>). Download and run this command to add it (assuming your <code>service</code> directory is found in <code>D:\</code>). This is all tested for <code>D:\</code>.</p>
|
|
<p><a href="../files/nesys.bat">../files/nesys.bat</a></p>
|
|
<p>If you don't want to create a service, you're also able to run <code>NesysService.exe</code> in powershell or cmd. Just follow these steps:</p>
|
|
<ul>
|
|
<li>Make sure you open powershell or cmd as administrator</li>
|
|
<li>Run this first (so you can debug it if it gives you an error):</li>
|
|
<li><code>chcp 932</code></li>
|
|
<li>Then run the exe as so:</li>
|
|
<li><code>D:\system\Service\NesysService.exe -app</code></li>
|
|
</ul>
|
|
<p>If it outputs the following then you're good to go!</p>
|
|
<p><img alt="image-20230716133155441" src="../images/nesys-good.png" /></p>
|
|
<p>If it outputs something else, then you didn't install the registry values correctly!</p>
|
|
<p>(todo, add a picture here as an example)</p>
|
|
<h4 id="certificates">Certificates<a class="headerlink" href="#certificates" title="Permanent link">¶</a></h4>
|
|
<p>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.</p>
|
|
<p>You can find the script to install the scripts in here:
|
|
<a href="https://github.com/asesidaa/LLServer/tree/master/LLServer/Certificates">https://github.com/asesidaa/LLServer/tree/master/LLServer/Certificates</a></p>
|
|
<p>Make sure to run the script as administrator. (<a href="https://superuser.com/questions/106360/how-to-enable-execution-of-powershell-scripts#106363">you might need to enable powershell script running exception</a>)</p>
|
|
<p>Enter this command in an administrator powershell window:</p>
|
|
<p><code>set-executionpolicy remotesigned</code></p>
|
|
<p>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).</p>
|
|
<p>(On Japanese Locale, I think the 'Personal' store is also called the 'My' store)</p>
|
|
<p>If the server isn't compiled already, you'll need Visual Studio Community edition, link for easy access <a href="https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community&channel=Release&version=VS2022&source=VSLandingPage&cid=2030&passive=false">here</a>.
|
|
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).</p>
|
|
<p>Then if you haven't already, download the LLServer repo:
|
|
<a href="https://github.com/asesidaa/LLServer">https://github.com/asesidaa/LLServer/archive/refs/heads/master.zip</a></p>
|
|
<p>To run that, all you need to do is open the <code>.sln</code> file in Visual Studio. Then click the green <code>HTTPS</code> button!</p>
|
|
<h4 id="network_interfaces">Network Interfaces<a class="headerlink" href="#network_interfaces" title="Permanent link">¶</a></h4>
|
|
<p>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:</p>
|
|
<p><img alt="image-20230716133155441" src="../images/interfaces.png" /></p>
|
|
<h4 id="patched_binary">Patched Binary<a class="headerlink" href="#patched_binary" title="Permanent link">¶</a></h4>
|
|
<p>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. </p>
|
|
<p>Download it here:</p>
|
|
<p><a href="../files/ll3.exe">../files/ll3.exe</a></p>
|
|
<p>FYI, you will need to replace the original binary with this one. </p>
|
|
<p>Please message <code>@caretchara</code> on the Discord if anything here needs changes!</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
</article>
|
|
</div>
|
|
|
|
|
|
<script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
|
|
</div>
|
|
|
|
</main>
|
|
|
|
<footer class="md-footer">
|
|
|
|
<div class="md-footer-meta md-typeset">
|
|
<div class="md-footer-meta__inner md-grid">
|
|
<div class="md-copyright">
|
|
|
|
|
|
Made with
|
|
<a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
|
|
Material for MkDocs
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
<div class="md-dialog" data-md-component="dialog">
|
|
<div class="md-dialog__inner md-typeset"></div>
|
|
</div>
|
|
|
|
|
|
<script id="__config" type="application/json">{"base": "..", "features": [], "search": "../assets/javascripts/workers/search.b8dbb3d2.min.js", "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}}</script>
|
|
|
|
|
|
<script src="../assets/javascripts/bundle.ad660dcc.min.js"></script>
|
|
|
|
|
|
</body>
|
|
</html> |