9 SDDT
Dniel97 edited this page 2025-08-10 20:22:34 +02:00

SDDT

Some instructions how to get SDDT up and running

Setup Instructions

  1. Get the game data and extract it somewhere (E:/ drive won't work!)
  2. Get the Option data (A001, A002, ...) and extract it preferable inside package/option/
  3. Grab one of the segatools below and extract it in package/:

segatools

Name Link Details
segatools Download mu3.zip - Open-Source
- XInput and Keyboard/Mouse Emulation
- Working coin input
- Working option loading
  1. Read the segatools Documentation and configure at least those values in your segatools.ini:

[vfs]

Key Value Documentation
amfs Empty string (causes a startup error) Configure the location of the SEGA AMFS volume. Stored on the E partition on real hardware.
appdata Empty string (causes a startup error) Configure the location of the SEGA "APPDATA" volume (nothing to do with the Windows user's %APPDATA% directory). Stored on the Y partition on real hardware.
option Default: Empty string Configure the location of the "Option" data mount point. This mount point is optional (hence the name, probably) and contains directories which contain minor over-the-air content updates.

[dns]

Key Value Documentation
default Default: localhost Controls hostname of all of the common network services servers, unless overriden by a specific setting below. Most users will only need to change this setting. Also, loopback addresses are specifically checked for and rejected by the games themselves; this needs to be a LAN or WAN IP (or a hostname that resolves to one). Use your local IPv4 PC address if unsure.

[system]

Key Value Documentation
dipsw1 Default: 1 LAN Install: If multiple machines are present on the same LAN then set this to 1 on exactly one machine and set this to 0 on all others..
  1. Create a file DEVICE\aime.txt and enter your aime access code or generate 20 random digits (Make sure the first digit is not a 3!)
  2. Grab the unpacked/modded files according to your game version:

Packages

Version Link Details
1.39 Download - ICF1/ICF2 with all opts up to A096 included
- Unpacked amdaemon.exe and mu3.exe included
- TLS and Encryption disabled in AssemblyCSharp.dll
- Unmodded/unpacked backup file Assembly-CSharp_unpacked.dll included
1.40 Download - ICF1/ICF2 with all opts up to A116 included
- Unpacked amdaemon.exe and mu3.exe included
- TLS and Encryption disabled in AssemblyCSharp.dll
- Unmodded/unpacked backup file Assembly-CSharp_unpacked.dll included
1.45 Download - ICF1/ICF2 with all opts up to A052 included
- Unpacked amdaemon.exe and mu3.exe included
- TLS and Encryption disabled in mu3.ini (configurable)
- Unmodded/unpacked backup file Assembly-CSharp_unpacked.dll included
  1. Unpack the files and overwrite everything (Optional: Make a Backup of Package/mu3data/Managed and Package/mu3data/Plugins)
  2. If you have a 5.1 audio setup set WasapiExclusive=1 in mu3.ini (Front speakers are the cab speakers and rear speakers are the headphones)
  3. Use one of the following local servers to save your progress:

Server

Name Programming language Details
aqua JAVA 17+ - Easy to install/run
- Nice working GUI
- Slow updates
- No working importer, so option data requires to be manually added
- Currently archived
ARTEMiS Python 3.9+ - Harder to setup/easy to run
- Useless GUI
- Faster/more frequent updates
- Supports importing your own Option data
- Supports SDED
  1. Regardless of the used server, make sure the title server IP address is not localhost or 127.0.0.1, rather your own IPv4 address!
  2. DONE! Launch launch.bat and have fun

Patching AssemblyCSharp.dll

If you somehow got an unpacked AssemblyCSharp.dll, you only need to patch small things for local network support:

Disable TLS:

namespace MU3.Sys
{
    public class Config
    {
        public void initialize()
        {
            using (IniFile iniFile = new IniFile("mu3.ini", true))
            {
                this.useTLS = false;
            }
        }
    }
}

Disable Encryption:

namespace MU3.Sys
{
    public class Config
    {
        public void initializeAfterAMDaemonReady()
        {
            NetConfig.EncryptVersion = 0;
        }
    }
}

(c) Instructions written by Dniel97