Skip to main content

PID (Principal ID)/Network ID grabber and match logger for Splatoon

Project description

Splatlogger

A CLI PID (Principal ID)/Network ID grabber and match logger for Splatoon, written in Python.

Both the Wii U and Cemu (Windows and Linux only) are supported.

Prerequisites (Wii U)

Your console will need to have either the Tiramisu or Aroma environment set up or have another way to run homebrew, such as Haxchi or the browser exploit.

On Tiramisu, use TCPGecko, Geckiine, or any other app with the TCPGecko server.

On Aroma, install the TCPGecko Aroma plugin.

Installation

Windows executable

On Windows, you can use the executable provided on the releases page. Though if you already have Python installed, it's recommended to use the package instead.

Python package

To use the package, you'll need to have Python 3.11 or newer installed on your system. On Android devices you can use Termux.

Install the package from PyPI:

pip install Splatlogger

(To upgrade from an older version, use pip install --upgrade)

Or download the latest release from Codeberg and run:

pip install path/to/Splatlogger-v1.x.zip

If you do have Python installed but do not wish to install the package, you can run it from the source code.

Install the required dependencies:

cd path/to/Splatlogger-v1.x/ && pip install -r requirements.txt

Then run:

cd src/ && python -m splatlogger

Usage

Run Splatlogger with:

python -m splatlogger -ip IP [options]

where IP is your Wii U's LAN IP address (if you have your scripts directory in your PATH, you can omit python -m).

If using the Windows executable, run:

path/to/Splatlogger-1.x.exe -ip IP [options]

Options:

  • -aroma - Switch to Aroma mode. Enable if using the TCPGecko Aroma plugin.

  • -cemu [PID] - Switch to Cemu mode. The -ip argument is not required. Note: If you have ptrace protection enabled, you'll need to run Python as root. It's best to run the package from source in that case.

    • PID - PID of the Cemu process (optional).
  • -log-level option - Set how much data should be logged.

    • none - Don't create a log file.
    • standard - Log only basic player information, the same as what's printed to the console (default).
    • extended - Log all player information and additional match information.
    • stats - Same as above with the addition of player stats (points, K/D). Requires the match to end to finish logging.
  • -auto [option] - Enable auto logging. When enabled will automatically log every match you play. The log level must be at least standard.

    • all - Save a log of all matches you play (default).
    • latest - Save a log of only the latest match.
  • -stack Address (in hex) - (Cemu only, optional) Beginning address of the stack space for Default Core 1 (Debug > View PPC threads). Only required for logging stats. If the default values don't work, you'll need to specify this manually.

    (example)
  • -spfn - Fetch SFID instead of PNID. Enable if playing on SPFN.

  • -no-pnid - Disable fetching PNIDs.

  • -silent - Disable printing logs to the console.

For example, splatlogger -ip 192.168.1.100 -log-level extended -auto latest will save an extended log of the latest match you play (replace 192.168.1.100 with your actual IP address).

Logs are saved in (User)/Documents/Splatlogger/logs/.

To always run with the same IP and options without having to type them in manually, create an args.txt file in (User)/Documents/Splatlogger/ and put the arguments following splatlogger in there. Afterward any arguments passed through the command line will be ignored.

Only one program can be connected to TCPGecko at a time. If you have something else connected, disconnect it beforehand.

Credits

  • pyGecko authors for the reference implementation of a Python TCPGecko library.

  • Everyone who contributed to PNIDGrab and other similar PID grabbers as those were used as a reference.

  • Special thanks to Pirlo for helping me with certain stuff.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

splatlogger-1.6.4.tar.gz (21.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

splatlogger-1.6.4-py3-none-any.whl (24.7 kB view details)

Uploaded Python 3

File details

Details for the file splatlogger-1.6.4.tar.gz.

File metadata

  • Download URL: splatlogger-1.6.4.tar.gz
  • Upload date:
  • Size: 21.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for splatlogger-1.6.4.tar.gz
Algorithm Hash digest
SHA256 18c6bc0eac85fffb43e2d2a2f9e5be13a8bf0cfe0fbd1a79331651c0208cb4a5
MD5 8735e7afd28bd95b0559dfd4fd47b664
BLAKE2b-256 c630b11698f986d8575386b4b4c0e308d5d9c72c62845a76de9ee5d4b9557907

See more details on using hashes here.

File details

Details for the file splatlogger-1.6.4-py3-none-any.whl.

File metadata

  • Download URL: splatlogger-1.6.4-py3-none-any.whl
  • Upload date:
  • Size: 24.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for splatlogger-1.6.4-py3-none-any.whl
Algorithm Hash digest
SHA256 404dae1359fbc7ab329fa773cd1057c263bd3212820b0153b859325ded8502e8
MD5 34c03deed261d6351ea019879b0b5ff9
BLAKE2b-256 b892517f7d607a4d6ec2e6e8ffed0f604148e18b858fad061ad0f23fc4ab3b1a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page