Skip to content

PHP FRAMEWORK / TEEWORLDS 0.6

Stop rebasing.
Build your mod.

Keep your game logic in your own project. TeeFrame is a package dependency, not a repository fork you have to keep rebasing over and over again.

TEEFRAME0.6PHP 8.5SERVER FRAMEWORK

02 / THE PURPOSE

Mods deserve their own project.

TeeFrame is a PHP framework for building Teeworlds 0.6 game servers. It provides the networking, physics, snapshots, and map handling, so you can focus on building your mod instead of maintaining a fork.

When your mod lives inside a fork, keeping it up to date means merging upstream commits, resolving conflicts, and checking how the changes affect your own code. Maintaining the fork becomes part of maintaining the game.

TeeFrame exists to separate those responsibilities. Your mod lives in its own project, while the engine is installed through Composer. Update the framework as a dependency instead of repeatedly rebasing for every new change upstream.

03 / FRAMEWORK

Your mod isn't a full-game fork.

Write your controllers, entities, and commands in the skeleton. The engine stays in vendor/, managed by Composer.

Update the framework without merging engine commits into your game code.

Browse the framework
teeframe/PROJECT STRUCTURE
YOUR MOD

app/

GameController.php

World.php

server.php

THE ENGINE

vendor/teeframe/framework/

game/

network/

server/

UPDATE THE ENGINE

composer update teeframe/framework

04 / FEATURES

What's in the engine.

MULTI-WORLD

Multiple worlds. One server.

Run different maps and game modes together. Each world has its own controller, entities, and players.

TEEFRAME SERVER

dm1.mapDeathmatch

Custom game logic

Extend controllers, add entities, and register custom chat commands.

FULL MODULAR

Physics and snapshots

The engine handles character movement, weapons, and snapshots for the client.

WORRY FREE

Maps and collision

Load Teeworlds maps and use the game layer for collision, pickups, and spawn points.

Per-world tuning

Set movement, gravity, hook, and weapon parameters separately for each world.

05 / GET STARTED

Run your first server.

The skeleton includes a deathmatch world. Start it locally, then change the game logic in app/.

Browse the skeleton

01Install system dependencies

PHP 8.5ComposerSwoole Extension

02Clone the skeleton

git clone https://github.com/teeframe/teeframe.gitcd teeframe

03Install dependencies

composer install

04Start the server

php server.php