mirror of
https://gitea.tendokyu.moe/ppc/amnet.git
synced 2026-09-28 17:58:10 +03:00
116 lines
4.8 KiB
Markdown
116 lines
4.8 KiB
Markdown
<div align="center">
|
|
|
|
# AMNet
|
|
[TestFlight](https://testflight.apple.com/join/kHbeJTsQ) • [Firebase](https://appdistribution.firebase.dev/i/6acc3151357deaa8) • [Website](http://card.ppc.moe) • [Server DLLs](https://gitea.tendokyu.moe/ppc/amnet/releases)
|
|
|
|
An Aime Card Switcher for segatools-based games.
|
|
|
|
</div>
|
|
|
|
## Overview
|
|
AMNet is designed to simulate the `DEVICE/aime.txt` file, allowing multiple users to log into a game using their phone.
|
|
This was originally intended for use with maimai and Chunithm, but should be compatible with any segatools-based game with Aime support.
|
|
|
|
## Setup
|
|
1. Download the latest `amnet.dll` from the releases page
|
|
2. Move `amnet.dll` to the game directory
|
|
3. Edit `segatools.ini` to use the new DLL:
|
|
```ini
|
|
[aimeio]
|
|
; To use a custom card reader IO DLL enter its path here.
|
|
; Leave empty if you want to use Segatools built-in keyboard input.
|
|
path=amnet.dll
|
|
|
|
; AMNet-specific options (all optional)
|
|
; gameId - the 4 character game ID (will show the game icon in the UI)
|
|
; serverName - the name of the server to show to users (defaults to the computer name if not set)
|
|
; serverAddress - the address to listen on, including the protocol (defaults to http://+:6070, where + is a wildcard)
|
|
; enableKeyboardMode - whether to enable hold-enter-to-login mode. Reads the file set at aimePath for card number (or DEVICE/aime.txt if not set).
|
|
gameId=SDEZ
|
|
;serverName=CHUNI-PENGUIN
|
|
;serverAddress=http://+:6070
|
|
;enableKeyboardMode=1
|
|
```
|
|
4. Launch the game, and check the amdaemon console for server startup messages
|
|
5. Access the using one of the interfaces (see below), add a new server `http://<your-ip-address>:6070`, add a card and start playing!
|
|
|
|
## Interfaces
|
|
AMNet can be used on most platforms, see below for options available for each platform:
|
|
|
|
<table>
|
|
<tbody>
|
|
<tr>
|
|
<th>Platform</th>
|
|
<th>Method</th>
|
|
<th>Notes</th>
|
|
</tr>
|
|
<tr>
|
|
<td>iOS</td>
|
|
<td><a href="https://testflight.apple.com/join/kHbeJTsQ" target="_blank">TestFlight</a></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td rowspan="2">Android</td>
|
|
<td><a href="https://appdistribution.firebase.dev/i/6acc3151357deaa8" target="_blank">Firebase</a></td>
|
|
<td>Recommended for reduced download/install size and easier upgrading</td>
|
|
</tr>
|
|
<tr>
|
|
<td>.apk</td>
|
|
<td>Larger download, manual installation required.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>All</td>
|
|
<td><a href="http://card.ppc.moe" target="_blank">Web</a></td>
|
|
<td>Works on all platforms and is installable as a PWA. Ensure it's used on <code>http</code> to avoid CORS-related errors</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
<div align="center">
|
|
<img src="./res/native.png" height="600"/>
|
|
</div>
|
|
|
|
## Building
|
|
### Server (AMNet.Server)
|
|
Building the server from source requires the following dependencies:
|
|
Visual Studio 2022 (or Build Tools) with **Desktop Development with C++** and **.NET Desktop Development** workloads, including **MSVC x64/x86** compiler and a recent **Windows 10/11 SDK**.
|
|
|
|
After cloning the repository, the server can be built by publishing the project.
|
|
Building the server without publish mode will result in a DLL that cannot be run by the game.
|
|
|
|
```shell
|
|
dotnet publish -c Release -r win-x64 -p:Version=1.0.0 AMNet.Server/AMNet.Server.csproj
|
|
```
|
|
|
|
The dll will be available at `.\AMNet.Server\bin\Release\net9.0-windows\win-x64\publish\amnet.dll`.
|
|
|
|
### Website (amnet-web)
|
|
The web interface is built using Vite and React. Building the web interface requires Node.js (or alternative runtime).
|
|
After cloning the repository, install dependencies then start the dev server or build the site as a static site:
|
|
|
|
```shell
|
|
# for amnet-web
|
|
cd amnet-web
|
|
npm install
|
|
npm run dev # starts the vite development server
|
|
npm run build # build the website, outputs to ./dist
|
|
```
|
|
### Mobile (amnet-native)
|
|
The mobile app is built using Expo and React Native. The app requires Node.js and npm to build, along with either the Android SDK or Xcode for iOS.
|
|
After cloning the repository, install dependencies then run the app, or prebuild for the platform of your choice then complete the build process for a standalone app:
|
|
|
|
> amnet-native relies on multiple native libraries not included in Expo Go. The app must be built from scratch and run on a physical device or simulator.
|
|
|
|
```shell
|
|
cd amnet-native
|
|
npm install
|
|
npm expo run:ios # starts the expo development server for iOS
|
|
|
|
npm expo prebuild --platform ios # prebuild the app for iOS, run command then use the xcworkspace file in the ios directory to archive the app for a standalone build
|
|
```
|
|
|
|
If building for iOS, you may need to open the workspace (`./amnet-native/ios/AMNet.xcworkspace`) in Xcode and configure the signing/provisioning settings before builds work as expected.
|
|
|
|
## License
|
|
AMNet is licensed under AGPLv3 or later. See [license.md](license.md) for more information.
|