IMPORTANT NOTE: SDL and Freetype libs are not shipped with Teeworlds 0.7.x. You must download them separately and place them in the other\ folder.
Q: What is bam?
Bam is the build system made by matricks used in Teeworlds.
- Download and install Visual Studio 2017 Community.
- Download and unzip Teeworlds source or Teeworlds latest source
- Download and install Python 3.x
- Download and unzip bam to
teeworlds-version\bam- Run
make_win64_msvc.batto compile bam - Note: Bam does not recognise Visual Studio 2017. As a workaround, to compile bam, copy
line 52 to endfrommake_win64_msvc.batand paste it in thex64 Native Tools Command Prompt
- Run
- Download and unzip SDL 2.0.8
- Copy
includeandlibtoteeworlds-version\other\sdl - Copy
SDL2.libandSDL2main.libfromteeworlds-version\other\sdl\lib\x64in the root directoryteeworlds-version
- Copy
- Download and unzip Freetype
- Copy
include,win64andwin32toteeworlds-version\other\freetype - Copy
freetype.libfromteeworlds-version\other\freetype\win64in the root directoryteeworlds-version
- Copy
- Run the
x64 Native Tools Command Prompt(64Bit) from the start menu. cd teeworlds-version- Changes to the teeworlds source directory
.\bam\bam config- Runs bam configuration
.\bam\bam conf=release- Compiles teeworlds (Client and Server)
conf=debugwill build the debug version- Available targets for release and debug:
game(default)serverclientcontentmasterservertools
- To build the tools and master server in release mode use the following arguments:
conf=release tools masterserver
- Flag
-fwill force a recompile
- The compiled game is located at
teeworlds-version\build\x64\ - To start your compiled game, you need
SDL2.dllandfreetype.dll. Copy them fromteeworlds-version\other\sdl\lib\x64andteeworlds-version\other\freetype\win64intoteeworlds-version\build\x64.
- Download and unzip Teeworlds source or Teeworlds latest source
- Download and install Python 3.x
- Download and unzip bam to
teeworlds-version\bam- Run
make_win32_msvc.batto compile bam - Note: Bam does not recognise Visual Studio 2017. As a workaround, to compile bam, copy
line 38 to endfrommake_win32_msvc.batand paste it in thex86 Native Tools Command Prompt
- Run
- Download and unzip SDL 2.0.8
- Copy
includeandlibtoteeworlds-version\other\sdl - Copy
SDL2.libandSDL2main.libfromteeworlds-version\other\sdl\lib\x86in the root directoryteeworlds-version
- Copy
- Download and unzip Freetype
- Copy
include,win64andwin32toteeworlds-version\other\freetype - Copy
freetype.libfromteeworlds-version\other\freetype\win32in the root directoryteeworlds-version
- Copy
- Run the
x86 Native Tools Command Prompt(32Bit) from the start menu. cd teeworlds-version- Changes to the teeworlds source directory
.\bam\bam config- Runs bam configuration
.\bam\bam conf=release- Compiles teeworlds (Client and Server)
conf=debugwill build the debug version- Available targets for release and debug:
game(default)serverclientcontentmasterservertools
- To build the tools and master server in release mode use the following arguments:
conf=release tools masterserver
- Flag
-fwill force a recompile
- The compiled game is located at
teeworlds-version\build\x86\ - To start your compiled game, you need
SDL2.dllandfreetype.dll. Copy them fromteeworlds-version\other\sdl\lib\x86andteeworlds-version\other\freetype\win32intoteeworlds-version\build\x86.
cd teeworlds-version- Changes to the teeworlds source directory
.\bam\bam release- Compiles teeworlds (Client and Server)
- Available targets for release and debug:
release(for all in release mode)debug(for all in debug mode)server_releaseserver_debugclient_releaseclient_debug
- The compiled game is located in
teeworlds-version
Note: Teeworlds 0.5.2 and earlier requires python 2.x to compile. Python 3.x will not work. Python 3.x support is introduced with Teeworlds 0.6.0.
Note: If you are using bam 0.2.0 (needed for Teeworlds 0.5.2 and earlier) the bam binary will not be in the bam directory, but in bam/src. You will need to change the paths accordingly to that or copy/move the bam executable to the bam directory.