Skip to main content

Utility & Library for decoding stalcraft assets

Project description

sc-file

icon

Pypi License Docs Tests Build Issues DeepWiki

🇬🇧 English | 🇷🇺 Русский

Overview

scfile is a utility and library for converting proprietary Stalcraft assets formats to standard ones.

This is an unofficial project and is not affiliated with EXBO.

✨ Supported Formats

Type Game formats Standard formats
🧊 Model .mcsb .efkmodel .obj .glb .dae .ms3d .fbx
🧱 Texture .ol .dds
🖼️ Image .mic .png
🗃️ TextureArray .texarr .zip
🗺 Region .mdat .mca
⚙️ NBT* ... .json

* NBT refers to specific files (itemnames.dat, prefs, sd0, etc.)

📚 Detailed formats support →


[!IMPORTANT]
Reverse conversion (standardgame) is not available.
📚 See FAQ for details →

🚀 Installation

Three ways to get started: download, install, or compile.
📚 Usage guide and CLI options →

💻 Download executable

Standalone scfile.exe available on Releases page.
No Python required.

Usage:

  • 🖥️ GUI: launch scfile.exe without arguments to open graphical interface
  • 📥 Drag & Drop: drag file onto scfile.exe
  • 🖱️ Open With: set as default app for supported formats
  • 📟 Command Line: scfile.exe --help
    Command example: scfile.exe model.mcsb -F glb --skeleton
    Options in example: -F picks model format, --skeleton extracts model armature.

🐍 Install Python package

Install:

pip install sc-file        # library + cli
pip install sc-file[gui]   # library + cli + gui

Usage:

  • 📖 Python library: See Library section
  • 🖥️ GUI via package: scfile
  • 📟 CLI via package: scfile --help

🔧 Compile from source

Build from source code using the compile guide.
For developers, contributors, or custom builds.

📖 Library

Install latest version:

pip install sc-file -U

Usage example:

from scfile import convert, formats, Options

# Simple conversion (auto detect format by file suffix)
# User options to control parsing and export settings
convert.auto("model.mcsb", options=Options(skeleton=True))

# Advanced control (manual decoding and data inspection)
# Context manager ensures proper resource cleanup
with formats.mcsb.McsbDecoder("model.mcsb") as mcsb:
    # Access parsed scene data: meshes, bones, etc
    data = mcsb.decode()
    print(f"Meshes: {[mesh.name for mesh in data.scene.meshes]}")
    print(f"Materials: {[mesh.material for mesh in data.scene.meshes]}")
    print(f"Bones: {[bone.name for bone in data.scene.skeleton.bones]}")

    # Export to a specific standard format
    mcsb.to_obj().save("output.obj")

📚 Complete Library API reference →

🔗 Links

🤝 Acknowledgments

kommunist2021 · Art3mLapa · n1kodim · TeamDima · BoJIwEbNuK7
IExploitableMan · tuneyadecc · Hazart

Thanks to everyone who reported issues, shared findings, or contributed ideas.

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

sc_file-5.1.1.tar.gz (203.6 kB view details)

Uploaded Source

Built Distribution

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

sc_file-5.1.1-py3-none-any.whl (238.6 kB view details)

Uploaded Python 3

File details

Details for the file sc_file-5.1.1.tar.gz.

File metadata

  • Download URL: sc_file-5.1.1.tar.gz
  • Upload date:
  • Size: 203.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sc_file-5.1.1.tar.gz
Algorithm Hash digest
SHA256 76fbfc0faa9b2d8fbbd2b9adf0a4f456dc28c22a6f598898d93a8d36f38578c0
MD5 8c277b77bf7c130d0ea84892fd973a9a
BLAKE2b-256 c2dd8725eb1be53a7932d87e38250bf2d9d33b2ef24f62a95c2806d3356ebda0

See more details on using hashes here.

File details

Details for the file sc_file-5.1.1-py3-none-any.whl.

File metadata

  • Download URL: sc_file-5.1.1-py3-none-any.whl
  • Upload date:
  • Size: 238.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.26 {"installer":{"name":"uv","version":"0.11.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sc_file-5.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 042050e9d059deb33fbfaaed0892c3236741d819dbb654c3b6ad3620054a9ac6
MD5 e2be0d5087c09db980578349fe28d9ae
BLAKE2b-256 317abbdbb637d7465aa4a0a16d82871db4d9edc8bb577b1bf1b4fdd015582d3a

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