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.bat
to compile bam - Note: Bam does not recognise Visual Studio 2017. As a workaround, to compile bam, copy
line 52 to end
frommake_win64_msvc.bat
and paste it in thex64 Native Tools Command Prompt
- Run
- Download and unzip SDL 2.0.8
- Copy
include
andlib
toteeworlds-version\other\sdl
- Copy
SDL2.lib
andSDL2main.lib
fromteeworlds-version\other\sdl\lib\x64
in the root directoryteeworlds-version
- Copy
- Download and unzip Freetype
- Copy
include
,win64
andwin32
toteeworlds-version\other\freetype
- Copy
freetype.lib
fromteeworlds-version\other\freetype\win64
in 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=debug
will build the debug version- Available targets for release and debug:
game
(default)server
client
content
masterserver
tools
- To build the tools and master server in release mode use the following arguments:
conf=release tools masterserver
- Flag
-f
will force a recompile
- The compiled game is located at
teeworlds-version\build\x64\
- To start your compiled game, you need
SDL2.dll
andfreetype.dll
. Copy them fromteeworlds-version\other\sdl\lib\x64
andteeworlds-version\other\freetype\win64
intoteeworlds-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.bat
to compile bam - Note: Bam does not recognise Visual Studio 2017. As a workaround, to compile bam, copy
line 38 to end
frommake_win32_msvc.bat
and paste it in thex86 Native Tools Command Prompt
- Run
- Download and unzip SDL 2.0.8
- Copy
include
andlib
toteeworlds-version\other\sdl
- Copy
SDL2.lib
andSDL2main.lib
fromteeworlds-version\other\sdl\lib\x86
in the root directoryteeworlds-version
- Copy
- Download and unzip Freetype
- Copy
include
,win64
andwin32
toteeworlds-version\other\freetype
- Copy
freetype.lib
fromteeworlds-version\other\freetype\win32
in 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=debug
will build the debug version- Available targets for release and debug:
game
(default)server
client
content
masterserver
tools
- To build the tools and master server in release mode use the following arguments:
conf=release tools masterserver
- Flag
-f
will force a recompile
- The compiled game is located at
teeworlds-version\build\x86\
- To start your compiled game, you need
SDL2.dll
andfreetype.dll
. Copy them fromteeworlds-version\other\sdl\lib\x86
andteeworlds-version\other\freetype\win32
intoteeworlds-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_release
server_debug
client_release
client_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.