S2PKG, or Sims 2 Package Manager, aims to provide a simple cross-platform solution to package management.
Find a file
2025-05-01 07:44:21 -04:00
AppDir Future AppImage support 2025-05-01 07:44:21 -04:00
.gitignore Makefile 2025-04-30 07:28:39 -04:00
appimage-builder.yml Future AppImage support 2025-05-01 07:44:21 -04:00
Config.cs Renamed games option to paths 2025-04-30 09:14:07 -04:00
GlobalUsing.cs Fallback to config for destination directory 2025-04-30 08:46:02 -04:00
install.sh Fallback to config for destination directory 2025-04-30 08:46:02 -04:00
LICENSE 🎉 Initial source commit 2025-04-30 06:28:21 -04:00
Makefile Future AppImage support 2025-05-01 07:44:21 -04:00
PackageManger.cs Extension checking happens after it checks if it even exists 2025-04-30 10:31:37 -04:00
Program.cs Unpacking now accounts for a lot more cases 2025-04-30 10:06:41 -04:00
README.md That wroth a shot 2025-05-01 06:30:53 -04:00
S2PK.csproj Future AppImage support 2025-05-01 07:44:21 -04:00
s2pk.toml.sample Renamed games option to paths 2025-04-30 09:14:07 -04:00

📦 Sims 2 Package Manager

GitHub License GitHub Pull Requests GitHub Issues

S2PK, or Sims 2 Package Manager, aims to provide a simple cross-platform solution to package management.

Why This Exists

While The Sims 2 runs well on Linux through Wine, especially with Lutris setups, and natively from macOS, only the Windows community had varies mod managers and installers compared to their cross-platform counterparts. Later installments addressed this dilemma, but TS2 never got that treatment.

s2pk aims to fill this gap: a no-nonsense CLI utility for packaging, sharing, and managing mods across all platforms. Its small, clean, and plays nicely with scripts, backups, and version control. In theory, it would be possible to use it on legacy front ends.

🚀 Features

  • First-class CLI support for modders on non-Windows platforms
  • Custom default unpacking directory for The Sims 2 & 3
  • Pack .packages into portable .s2pk archives

🛣️ Project Roadmap

Phase Goal Status
v0.1 Core package manager
v0.2 Config file with default paths
v0.3 Sims 3 support with s3pk extention 🔜
v0.x Target .NET 10 🔜
v1.0 Stable "Release" version with documentation 🔜

🎯 Stretch Goals

  • Manifest validation
  • s1pk soft fork

🧩 Tech Stack

  • .NET 8.0
  • C# (focused on clarity, safety, minimalism)
  • System.CommandLine for CLI parsing (no external libraries)
  • Pure backend logic (no UI planned)

📐 Design Principles

  • Stay true to UNIX design philosophy
  • Simple with no bloat or feature creep
  • Portable and clean

🛠️ Installation

You can build yourself with make, or use the installer script:

./install.sh ./dist/s2pk-linux/s2pk

Make sure ~/.local/bin is in your PATH:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

🗜️ Usage

s2pk pack -s ./mods -o output.s2pk
s2pk unpack -p ./output.s2pk -d "%USERPROFILE%\Documents\EA Games\The Sims 2\Downloads"

🗓️ Update Cycle

Type Frequency Notes
Minor Update Every 36 months Small enhancements, non-breaking changes
Patch Update As needed Bug fixes, security updates
Major Update As needed Framework upgrades, major refactors
  • Reserve months: June (Mid-Year Chill) & December (End-Year Freeze)

🛡️ Status

  • Active Support
  • Limited Support (Security patches only)
  • Maintenance Mode (Dependency-only updates)
  • Archived (No active work planned)

🎮 Relaxation Practices

  • 20% creative/recovery space built into development
  • Mandatory cooldowns after major launches (minimum 1 week)
  • Crisis Mode Activates if:
    • Critical vulnerabilities
    • Framework-breaking issues

🗒️ License

I license this project under the GPL v3 license - see LICENSE for details.