{"id":13441732,"url":"https://github.com/teeworlds/teeworlds","last_synced_at":"2025-05-14T18:01:51.298Z","repository":{"id":929541,"uuid":"699072","full_name":"teeworlds/teeworlds","owner":"teeworlds","description":"A retro multiplayer shooter","archived":false,"fork":false,"pushed_at":"2024-08-20T05:49:05.000Z","size":111198,"stargazers_count":2444,"open_issues_count":329,"forks_count":641,"subscribers_count":83,"default_branch":"master","last_synced_at":"2025-04-10T04:53:39.584Z","etag":null,"topics":["c","c-plus-plus","game","linux","macos","multiplayer","opengl","sdl2","teeworlds","windows"],"latest_commit_sha":null,"homepage":"https://www.teeworlds.com","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/teeworlds.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2010-06-02T12:17:21.000Z","updated_at":"2025-04-08T19:38:32.000Z","dependencies_parsed_at":"2024-09-24T23:01:31.142Z","dependency_job_id":"d39e0d33-a653-4112-ae65-b4107c9ebdc0","html_url":"https://github.com/teeworlds/teeworlds","commit_stats":{"total_commits":5378,"total_committers":152,"mean_commits":35.38157894736842,"dds":0.7026775753068055,"last_synced_commit":"26d24ec061d44e6084b2d77a9b8a0a48e354eba6"},"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teeworlds%2Fteeworlds","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teeworlds%2Fteeworlds/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teeworlds%2Fteeworlds/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/teeworlds%2Fteeworlds/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/teeworlds","download_url":"https://codeload.github.com/teeworlds/teeworlds/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254198452,"owners_count":22030964,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","c-plus-plus","game","linux","macos","multiplayer","opengl","sdl2","teeworlds","windows"],"created_at":"2024-07-31T03:01:37.473Z","updated_at":"2025-05-14T18:01:46.286Z","avatar_url":"https://github.com/teeworlds.png","language":"C++","readme":"\u003ca href=\"https://repology.org/metapackage/teeworlds/versions\"\u003e\r\n    \u003cimg src=\"https://repology.org/badge/vertical-allrepos/teeworlds.svg\" alt=\"Packaging status\" align=\"right\"\u003e\r\n\u003c/a\u003e\r\n\r\nTeeworlds ![GitHub Actions](https://github.com/teeworlds/teeworlds/workflows/Build/badge.svg)\r\n=========\r\n\r\nA retro multiplayer shooter\r\n---------------------------\r\n\r\nTeeworlds is a free online multiplayer game, available for all major\r\noperating systems. Battle with up to 16 players in a variety of game\r\nmodes, including Team Deathmatch and Capture The Flag. You can even\r\ndesign your own maps!\r\n\r\nThis software is provided 'as-is', without any express or implied\r\nwarranty. In no event will the authors be held liable for any damages\r\narising from the use of this software. See license.txt for full license\r\ntext including copyright information.\r\n\r\nPlease visit https://www.teeworlds.com/ for up-to-date information about\r\nthe game, including new versions, custom maps and much more.\r\n\r\nOriginally written by Magnus Auvinen.\r\n\r\n---\r\n\r\nTeeworlds supports two build systems: CMake and bam.\r\n\r\nBuilding on Linux or macOS (CMake)\r\n==========================\r\n\r\nInstalling dependencies\r\n-----------------------\r\n\r\n    # Debian/Ubuntu\r\n    sudo apt install build-essential cmake git libfreetype6-dev libsdl2-dev libpnglite-dev libwavpack-dev python3\r\n    \r\n    # Fedora\r\n    sudo dnf install @development-tools cmake gcc-c++ git freetype-devel pnglite-devel python3 SDL2-devel wavpack-devel\r\n    \r\n    # Arch Linux (doesn't have pnglite in its repositories)\r\n    sudo pacman -S --needed base-devel cmake freetype2 git python sdl2 wavpack\r\n    \r\n    # macOS\r\n    brew install cmake freetype sdl2\r\n\r\n\r\nDownloading repository\r\n----------------------\r\n\r\n    git clone https://github.com/teeworlds/teeworlds --recurse-submodules\r\n    cd teeworlds\r\n    \r\n    # If you already cloned the repository before, use:\r\n    # git submodule update --init\r\n\r\n\r\nBuilding\r\n--------\r\n\r\n    mkdir -p build\r\n    cd build\r\n    cmake ..\r\n    make\r\n\r\nOn subsequent builds, you only have to repeat the `make` step.\r\n\r\nYou can then run the client with `./teeworlds` and the server with\r\n`./teeworlds_srv`.\r\n\r\n\r\nBuild options\r\n-------------\r\n\r\nThe following options can be passed to the `cmake ..` command line (between the\r\n`cmake` and `..`) in the \"Building\" step above.\r\n\r\n`-GNinja`: Use the Ninja build system instead of Make. This automatically\r\nparallelizes the build and is generally **faster**. (Needs `sudo apt install\r\nninja-build` on Debian, `sudo dnf install ninja-build` on Fedora, and `sudo\r\npacman -S --needed ninja` on Arch Linux.)\r\n\r\n`-DDEV=ON`: Enable debug mode and disable some release mechanics. This leads to\r\n**faster** builds.\r\n\r\n`-DCLIENT=OFF`: Disable generation of the client target. Can be useful on\r\nheadless servers which don't have graphics libraries like SDL2 installed.\r\n\r\nBuilding on Linux or macOS (bam)\r\n==========================\r\n\r\nInstalling dependencies\r\n-----------------------\r\n\r\n    # Debian/Ubuntu 19.10+\r\n    sudo apt install bam git libfreetype6-dev libsdl2-dev libpnglite-dev libwavpack-dev python3\r\n    \r\n    # Fedora\r\n    sudo dnf install bam gcc-c++ git freetype-devel pnglite-devel python3 SDL2-devel wavpack-devel\r\n    \r\n    # Arch Linux (doesn't have pnglite in its repositories)\r\n    sudo pacman -S --needed base-devel bam freetype2 git python sdl2 wavpack\r\n    \r\n    # macOS\r\n    brew install bam freetype sdl2\r\n    \r\n    # other (add bam to your path)\r\n    git clone https://github.com/teeworlds/bam\r\n    cd bam\r\n    ./make_unix.sh\r\n\r\n\r\nDownloading repository\r\n----------------------\r\n\r\n    git clone https://github.com/teeworlds/teeworlds --recurse-submodules\r\n    cd teeworlds\r\n    \r\n    # If you already cloned the repository before, use:\r\n    # git submodule update --init\r\n\r\n\r\nBuilding\r\n--------\r\n\r\n    bam\r\n\r\nThe compiled game is located in a sub-folder of `build`. You can run the client from there with `./teeworlds` and the server with `./teeworlds_srv`.\r\n\r\n\r\nBuild options\r\n-------------\r\n\r\nOne of the following targets can be added to the `bam` command line: `game` (default), `server`, `client`, `content`, `masterserver`, `tools`.\r\n\r\nThe following options can also be added.\r\n\r\n`conf=release` to build in release mode (defaults to `conf=debug`).\r\n\r\n`arch=x86` or `arch=x86_64` to force select an architecture.\r\n\r\nBuilding on Windows with Visual Studio \u0026 CMake\r\n======================\r\n\r\nDownload and install some version of [Microsoft Visual\r\nStudio](https://www.visualstudio.com/) (as of writing, MSVS Community 2019)\r\nwith the following components:\r\n\r\n* Desktop development with C++ (on the main page)\r\n* Python development (on the main page)\r\n* Git for Windows (in Individual Components → Code tools)\r\n\r\nRun Visual Studio. Open the Team Explorer (View → Team Explorer, Ctrl+^,\r\nCtrl+M). Click Clone (in the Team Explorer, Connect → Local Git Repositories).\r\nEnter `https://github.com/teeworlds/teeworlds` into the first input box. Wait\r\nfor the download to complete (terminals might pop up).\r\n\r\nWait until the CMake configuration is done (watch the Output windows at the\r\nbottom).\r\n\r\nSelect `teeworlds.exe` in the Select Startup Item… combobox next to the green\r\narrow. Wait for the compilation to finish.\r\n\r\nFor subsequent builds you only have to click the button with the green arrow\r\nagain.\r\n\r\nBuilding on Windows with MSVC build tools \u0026 bam\r\n======================\r\n\r\nDownload and install [Microsoft C++ Build Tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/) and [Python](https://www.python.org/downloads/).\r\n\r\nDownload and unzip [Teeworlds stable sources](https://github.com/teeworlds/teeworlds/releases) or [Teeworlds latest sources](https://github.com/teeworlds/teeworlds/archive/master.zip).\r\n\r\nDownload and unzip [bam](https://github.com/matricks/bam/archive/v0.5.1.tar.gz) to `teeworlds-version\\bam`.\r\n\r\nRun the `x64 Native Tools Command Prompt` (or `x86` for 32-bit) from the start menu.\r\n\r\n    # Navigate to the Teeworlds source directory\r\n    cd ...\\teeworlds-version\r\n    \r\n    # Build bam (use make_win32_msvc.bat for 32-bit)\r\n    cd bam\r\n    make_win64_msvc.bat\r\n    copy bam ..\r\n    cd ..\r\n    \r\n    # Build Teeworlds\r\n    bam conf=release\r\n\r\nUse `conf=debug` to build the debug version instead. You can also provide a target after the `bam` command : `game` (default), `server`, `client`, `content`, `masterserver`, `tools`.\r\n\r\nBuilding on Windows with MinGW \u0026 CMake\r\n======================\r\n\r\nDownload and install MinGW with at least the following components:\r\n\r\n- mingw-developer-toolkit-bin\r\n- mingw32-base-bin\r\n- mingw32-gcc-g++-bin\r\n- msys-base-bin\r\n\r\nAlso install [Git](https://git-scm.com/downloads) (for downloading the source\r\ncode), [Python](https://www.python.org/downloads/) and\r\n[CMake](https://cmake.org/download/).\r\n\r\nOpen CMake (\"CMake (cmake-gui)\" in the start menu). Click \"Browse Source\"\r\n(first line) and select the directory with the Teeworlds source code. Next,\r\nclick \"Browse Build\" and create a subdirectory for the build (e.g. called\r\n\"build\"). Then click \"Configure\". Select \"MinGW Makefiles\" as the generator and\r\nclick \"Finish\". Wait a bit (until the progress bar is full). Then click\r\n\"Generate\".\r\n\r\nYou can now build Teeworlds by executing `mingw32-make` in the build directory.\r\n","funding_links":[],"categories":["C++","Apps","Open Source Games","Native"],"sub_categories":["Gaming","C++","Arcade"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteeworlds%2Fteeworlds","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fteeworlds%2Fteeworlds","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fteeworlds%2Fteeworlds/lists"}