DDraceNetwork, a free cooperative platformer game
Go to file
Dennis Felsing e774643594 Merge pull request #789 from heinrich5991/pr_dont_escape
Use `str_find` from `src/base/system.h` and check for `C:` on Windows
2017-06-18 20:28:36 +02:00
cmake Test on Travis CI 2017-03-28 02:00:21 +02:00
data Remove useless comment 2017-03-14 08:46:24 +01:00
datasrc Fix unpacking of net events 2017-05-27 15:51:29 +02:00
docs Optimize PNGs 2016-04-27 01:27:57 +02:00
other Bundled mysql linux libs are totally broken on lots of systems, new builds are not better, so let's just force the system ones 2017-06-16 23:20:25 +02:00
scripts Add map_extract to distribution 2017-06-12 21:12:26 +02:00
src Use str_find from src/base/system.h and check for C: on Windows 2017-06-18 16:26:29 +02:00
.gitattributes exclude external libs from github statistics (#740) 2017-04-15 00:36:43 +02:00
.gitignore Add protocol extension with UUIDs 2017-05-25 00:52:43 +02:00
.travis.yml Test on Travis CI 2017-03-28 02:00:21 +02:00
appveyor.yml Add appveyor.yml 2017-03-18 17:09:04 +01:00
autoexec_server.cfg Fix a line ending in autoexec_server.cfg 2017-03-04 15:30:43 +01:00
bam.lua Add protocol extension with UUIDs 2017-05-25 00:52:43 +02:00
circle.yml Deny warnings on CI 2017-03-21 09:19:02 +01:00
CMakeLists.txt Fix cmake build of map_extract 2017-06-12 21:23:45 +02:00
configure.lua Hopefully fix a problem bam.lua that I don't see locally 2016-08-03 00:17:30 +02:00
license.txt updated date in license.txt (#764) 2017-05-21 23:00:31 +02:00
README.md shorter 2017-06-16 23:25:56 +02:00
storage.cfg i hate this file 2011-02-15 02:29:03 +02:00

DDraceNetwork Build Status

Our own flavor of DDRace, a Teeworlds mod. See the website for more information.

Development discussions happen on #ddnet on Quakenet (Webchat).

You can get binary releases on the DDNet website.

Building

To compile DDNet yourself, you can follow the instructions for compiling Teeworlds.

DDNet requires additional libraries, that are bundled for the most common platforms (Windows, Mac, Linux, all x86 and x86_64). Instead you can install these libraries on your system, remove the config.lua and bam should use the system-wide libraries by default. You can install all required dependencies and bam on Debian and Ubuntu like this:

apt-get install libsdl2-dev libfreetype6-dev libcurl4-openssl-dev libogg-dev libopus-dev libopusfile-dev bam

If you have the libraries installed, but still want to use the bundled ones instead, you can specify so by running bam config curl.use_pkgconfig=false opus.use_pkgconfig=false opusfile.use_pkgconfig=false ogg.use_pkgconfig=false.

The MySQL server is not included in the binary releases and can be built with bam server_sql_release. It requires libmariadbclient-dev, libmysqlcppconn-dev and libboost-dev, which are also bundled for the common platforms.

Note that the bundled MySQL libraries might not work properly on your system. If you run into connection problems with the MySQL server, for example that it connects as root while you chose another user, make sure to install your system libraries for the MySQL client and C++ connector. Make sure that mysql.use_mysqlconfig is set to true in your config.lua.

Importing the official DDNet Database

$ wget https://ddnet.tw/stats/ddnet-sql.zip
$ unzip ddnet-sql.zip
$ yaourt -S mariadb mysql-connector-c++
$ mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
$ systemctl start mariadb
$ mysqladmin -u root password 'PW'
$ mysql -u root -p'PW'
MariaDB [(none)]> create database teeworlds; create user 'teeworlds'@'localhost' identified by 'PW2'; grant all privileges on teeworlds.* to 'teeworlds'@'localhost'; flush privileges;
# this takes a while, you can remove the KEYs in record_race.sql to trade performance in queries
$ mysql -u teeworlds -p'PW2' teeworlds < ddnet-sql/record_*.sql

$ cat mine.cfg
sv_use_sql 1
add_sqlserver r teeworlds record teeworlds "PW2" "localhost" "3306"
add_sqlserver w teeworlds record teeworlds "PW2" "localhost" "3306"

$ bam server_sql_release
$ ./DDNet-Server_sql -f mine.cfg