π¬π§ English | π·πΊ Π ΡΡΡΠΊΠΈΠΉ
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.
| 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.)
Important
Reverse conversion (standard β game) is not available.
π See FAQ for details β
Three ways to get started: download, install, or compile.
π Usage guide and CLI options β
Standalone scfile.exe available on Releases page.
No Python required.
Usage:
- π₯οΈ GUI: launch
scfile.exewithout 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:-Fpicks model format,--skeletonextracts model armature.
Install:
pip install sc-file # library + cli
pip install sc-file[gui] # library + cli + guiUsage:
- π Python library: See Library section
- π₯οΈ GUI via package:
scfile - π CLI via package:
scfile --help
Build from source code using the compile guide.
For developers, contributors, or custom builds.
Install latest version:
pip install sc-file -UUsage 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")πDocumentation: sc-file.readthedocs.ioβQuestions? Check FAQ or contact meπFound a bug? Open an issueπ»Download executable: Latest releaseπ§Compile from source: Build guide
kommunist2021 Β· Art3mLapa Β· n1kodim Β· TeamDima Β· BoJIwEbNuK7
IExploitableMan Β· tuneyadecc Β· Hazart
Thanks to everyone who reported issues, shared findings, or contributed ideas.