A fast and modern development environment (IDE), created specifically for developing open.mp and SA-MP servers, in the Pawn programming language.
It combines Pawn editing, SAMPCTL integration, dependency management, Git version control, and project navigation tools into a single development environment designed around the needs of multiplayer server developers.
Portable, extensible, and focused on productivity, Spawn helps you build, manage and maintain Pawn projects without relying on generic code editors.
- Features
- Why Spawn IDE? (Comparison)
- Screenshots
- Installation
- Quick Start
- Development
- Contributors
- Donations
- License
- Designed specifically for open.mp & SA-MP development.
- Built-in SAMPCTL integration for building, running and managing projects.
- Dependency Manager for easy installation and updating of server packages and components.
- Integrated Git support with repository status indicators and commit history.
- Change History markers for tracking modified and saved lines.
- Automatic brace matching and highlighting.
- Color preview for RGBA and HEX values directly inside the editor.
- Color Picker integration for quick color insertion into Pawn code.
- Split Code Editor mode for working with multiple files simultaneously.
- Project Tree optimized for large projects.
- Integrated build output and server console panels.
- Automatic project files monitoring and refresh.
- Portable distribution (no installation required).
Spawn is built from scratch to deliver a modern, resource-efficient developer experience without the bloat of web-based editors or the rigid limitations of legacy tools.
| Features & Capabilities | Pawno | Qawno (open.mp) | VS Code (with plugins) | Spawn IDE |
|---|---|---|---|---|
| RAM Usage | 🟢 ~10-20 MB | 🟢 ~40-60 MB | 🔴 ~300-800+ MB (Electron) | 🟢 ~30-50 MB (Native UI) |
| Cross-Platform Support | 🔴 Windows Only | 🔴 Windows Only | 🟢 Linux, Windows, macOS | 🟢 Linux & Windows (Native) |
| Git / Source Control | 🔴 None | 🔴 None | 🟡 Via Plugins (Heavy) | 🟢 Built-in (Lightweight) |
| SAMPCTL | 🔴 None | 🔴 None | 🟡 Via Third-Party Plugins | 🟢 Built-in Integration |
| EOL Conversion (LF/CRLF) | 🔴 None | 🔴 None | 🟢 Built-in | 🟢 Built-in |
| Encoding Detection | 🔴 None | 🔴 None | 🟡 Basic | 🟢 Smart (via Comment Rule) |
| Built-in Color Picker | 🔴 None | 🟢 Out of the Box | 🔴 Requires Extension | 🟢 Out of the Box |
| Package Manager (Pawndex) | 🔴 None | 🔴 None | 🔴 None | 🟡 In Roadmap (Native) |
| IntelliSense & Autocomplete | 🔴 None | 🟡 Basic (Slow) | 🟢 Good (High CPU Usage) | 🟡 In Roadmap (Fast / Low CPU Usage) |
| Split Code Editor View | 🔴 None | 🔴 None | 🟢 Built-in | 🟢 Out of the Box (3+ tabs) |
| Setup & Installation | 🟢 Portable | 🟢 Portable | 🔴 Complex Manual Config | 🟢 Portable |
- Download the latest release from the Releases page.
- Extract the archive to any location
- Run 'Spawn.exe'.
To use all features of Spawn, you may also install:
- Git
- SAMPCTL
These tools can be configured later in Settings.
- Select 'File' → 'New Project...'.
- Enter project name and choose a project location.
- After clicking 'Create', the SAMPCTL command-line tool will be launched. Follow the on-screen instructions to complete project creation.
- Once the process is complete, close the SAMPCTL command-line tool. Spawn will pick up the new project.
- Select 'Project' → 'Dependency Manager...'.
- Enter the package name in the 'Dependency' field
- Click 'Install'.
- To uninstall a dependency, select the one you want from the list and click 'Uninstall'.
- To verify that all dependencies are in order, click the button labeled 'Ensure'.
- Right-click the root folder in the Project Tree → choose 'Initialize Repository'. (If the repository wasn't on the server)
- Create your first commit.
- Track changes directly from the IDE.
If the repository is already on the server, Spawn will automatically detect it (provided Git is enabled in the settings)
- Open the root folder containing the server by selecting 'File' → 'Open Server Folder...' (The server must contain the 'pawn.json' file generated via SAMPCTL)
- Go to 'Build' → 'Build Server' or click the corresponding button on the toolbar.
- Start your server by going to 'Server' → 'Run / Stop Server' or by clicking the corresponding button on the toolbar.
- Monitor output in the integrated console.
You're ready to develop open.mp and SA-MP servers with Spawn.
Spawn can also be used without opening a project.
To edit a multiple file:
- Select 'File' → 'Open File...'.
- Choose a files.
- Start editing immediately.
When working with individual files, editor features such as syntax highlighting, color previews, brace matching, split view, and change history markers remain fully available.
Project-specific functionality such as the Project Tree, Git integration, Dependency Manager, and SAMPCTL tools requires an opened project.
Spawn automatically detects file encodings when opening files.
For Pawn source files (.pwn and .inc), you can explicitly specify the encoding using an encoding directive at the beginning of the file:
// -*- coding: cp1251 -*-When present, Spawn will use the specified encoding when opening and saving the file.
If no encoding directive is found, Spawn will attempt to detect the file encoding automatically.
In some cases, automatic detection may not correctly identify the file encoding.
If a file is displayed incorrectly, you can reopen it using a different encoding:
Edit → Encoding → Reopen
This operation does not modify the file on disk and only affects how the file is displayed in the editor.
- UTF-8 (Unicode)
- Windows-1250 (Central European)
- Windows-1251 (Cyrillic)
- Windows-1252 (Western European)
- Windows-1253 (Greek)
- Windows-1254 (Turkish)
- Windows-1255 (Hebrew)
- Windows-1256 (Arabic)
- Windows-1257 (Baltic)
You can configure the default encoding used for newly created Pawn source files.
When a new .pwn or .inc file is created, Spawn can automatically insert an encoding directive based on the selected default encoding.
- Python 3.12+
- wxPython
- GitPython
- Markdown
- watchdog
- platformdirs
https://github.com/daniilkorochansky/spawn.git
or
gh repo clone daniilkorochansky/spawnIn the root folder, run:
pip install -r requirements.txtAlso in the root folder, run:
python main.pySpawn uses Nuitka to create standalone executable builds.
- Install Microsoft Visual Studio Build Tools with the C++ workload and Windows SDK: https://visualstudio.microsoft.com/downloads/
- Restart your computer
- Install Nuitka:
pip install nuitka- Open a command prompt in the root folder and build the executable:
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.pyor (Windows x86):
nuitka --standalone --onefile --include-data-dir=assets=assets --windows-console-mode=disable --assume-yes-for-downloads --target=x86 --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.pyIf you are unsuccessful on a 32-bit system, try adding the option: --msvc=latest (as a last resort, instead of this option, add: --mingw64)
The order of actions is important!
The generated executable will be available in the dist directory.
You can conduct tests to verify the functionality of new features or changes to key system components. To run the tests, follow these steps:
- Install pytest
pip install pytest- Create a file named
pytest.iniin the root folder with the following contents (if it doesn't already exist)
[pytest]
pythonpath = .
- Open a command prompt in the root folder
- Execute the following command:
pytest -v
All tests must return a ‘PASSED’ result. Otherwise, you need to find and fix the error or bug in the code, and then run the tests again.
Spawn is an open-source project built for the open.mp and SA-MP community.
Contributions of all sizes are welcome, including:
- Bug reports
- Feature requests
- UI/UX suggestions
- Code contributions
- Testing and feedback
Thank you for helping make Spawn better for everyone.
If you encounter an error or bug while using Spawn, follow these steps:
- Select 'Help' → 'Bug Report'
- Click the ‘Copy’ button (If 'Log Output' is empty, proceed immediately to the next step.)
- Click the ‘Open GitHub Issue’ button
- Paste the completed report into the description and enter a title (If the ‘Log Output’ field was empty, please describe the error or bug yourself.)
Spawn is developed in free time and will always remain free and open source.
If you enjoy using Spawn and would like to support its future development, you can make a donation. Every contribution helps improve the IDE and keep the project moving forward.
Thank you for your support ❤️
Donate via Boosty (Россия / International)
Spawn is licensed under the GNU General Public License v3.0.
See the LICENSE file for details.