samp.directory
← Scripts e bibliotecas

daniilkorochansky/spawn

Modern(functional) open-source IDE for open.mp and SA-MP development with SAMPCTL integration, dependency management and built-in Git support.

Ferramenta★ 11atualizado anteontemGPL-3.0Python
Abrir no GitHub

README.md

Spawn

A lightweight IDE for Pawn development

Build and manage open.mp and SA-MP server projects with integrated SAMPCTL, Git, dependency management, and a focused Pawn editor.

Download Spawn · Report a bug · Contribute

English · Русский · Português

Why Spawn?

Spawn brings the tools commonly needed for Pawn server development into one lightweight, portable desktop IDE.

  • Pawn editor — syntax highlighting, brace matching, changed-line markers, and split editing.
  • SAMPCTL integration — create, build, and run server projects.
  • Dependency Manager — install, update, and check project dependencies.
  • Git integration — repository status, commit history, and source-control tools.
  • Code-focused utilities — RGBA/HEX color previews and a color picker for inserting values into code.
  • Project navigation — a project tree designed to work with large projects.
  • Integrated output — build output and server console in the IDE.
  • Encoding support — automatic detection and configurable encodings for Pawn source files.
  • Portable workflow — run Spawn without a traditional installation.

Installation

  1. Open the latest release.
  2. Download and extract the archive.
  3. Run Spawn.exe.

For the full workflow, install Git and SAMPCTL. You can configure both later in Spawn's Settings.

Quick start

Create a project

  1. Select File → New Project….
  2. Enter a project name and location.
  3. Click Create and follow the instructions in the SAMPCTL command-line window.
  4. When project creation finishes, close the command-line window. Spawn will detect the new project.

Build and run a server

  1. Select File → Open Server Folder… and choose the server folder containing the pawn.json file generated by SAMPCTL.
  2. Select Build → Build Server.
  3. Use Server → Run / Stop Server to start or stop the server.
  4. Monitor the output in the integrated console.

Manage dependencies

Open Project → Dependency Manager…, enter a package name, and select Install. Select an installed dependency to uninstall it, or use Ensure to check dependencies.

Use Git

Right-click the project root in the Project Tree and select Initialize Repository if the project is not already a Git repository. You can then create commits and track changes from Spawn. Existing repositories are detected when Git integration is enabled in Settings.

Edit individual files

You can open files through File → Open File… without opening a project. Editor features such as syntax highlighting, color previews, brace matching, split view, and changed-line markers remain available. Project-specific tools—including the Project Tree, Git integration, Dependency Manager, and SAMPCTL—require an opened project.

Pawn file encodings

Spawn detects file encodings when opening files. For .pwn and .inc files, you can specify an encoding at the beginning of a file:

// -*- coding: cp1251 -*-

If a file displays incorrectly, reopen it with another encoding via Edit → Encoding → Reopen. This changes how the file is displayed in the editor; it does not modify the file on disk.

Supported encodings include UTF-8 and Windows code pages 1250–1257. The default encoding for newly created Pawn files can be configured in Settings; Spawn can insert the corresponding encoding directive automatically.

Screenshots

Project creation

Split editor

RGBA/HEX color preview

Dependency Manager

Git and source control

Project Tree

Contributing

Bug reports, feature requests, UI/UX suggestions, code contributions, testing, and feedback are welcome.

To report a bug from Spawn:

  1. Select Help → Bug Report.
  2. Copy the generated report. If Log Output is empty, describe the issue yourself.
  3. Select Open GitHub Issue and paste the report into the issue description.

You can also open an issue on GitHub.

Support development

Spawn is free and open source. If you would like to support its development, you can donate through:

License

Spawn is licensed under the GNU General Public License v3.0. See LICENSE for details.


Requirements

  • Python 3.11+
  • wxPython
  • GitPython
  • Markdown
  • watchdog
  • platformdirs

Clone and run

git clone https://github.com/daniilkorochansky/spawn.git
cd spawn
pip install -r requirements.txt
python main.py

Run tests

Install pytest:

pip install pytest

If the repository does not already contain a pytest.ini, create one in the project root:

[pytest]
pythonpath = .

Then run:

pytest -v

All tests should pass before submitting changes.

Build on Windows

Spawn uses Nuitka to build a standalone executable. Install Microsoft Visual Studio Build Tools with the C++ workload and Windows SDK, then install Nuitka:

pip install nuitka

For a 64-bit build:

python -m nuitka --standalone --onefile --include-data-dir=assets=assets --windows-console-mode=disable --assume-yes-for-downloads --company-name="Spawn Project" --product-name="Spawn" --copyright="Copyright (C) 2026 Daniil Korochansky" --output-filename=Spawn.exe --file-version="1.0.0" --product-version="1.0.0" --file-description="IDE for open.mp and SA-MP development" --windows-icon-from-ico=assets/spawn.ico --output-dir=dist --include-package=wx main.py

For a 32-bit build, add --target=x86. The generated executable is placed in dist. If compilation fails on a 32-bit system, try --msvc=latest; as a last resort, try --mingw64.

development-environmenteditorgitgtasaidemultiplayeropenmppawnpawn-languagesa-mpsampsampctlsource-control

Esta página é montada com o que o GitHub publica sobre o repositório. O samp.directory não hospeda o código. Avisar de um problema com esta página