Giter Site home page Giter Site logo

teeworldsfun / ddnetpp Goto Github PK

View Code? Open in Web Editor NEW

This project forked from ddnetpp/ddnetpp

0.0 0.0 0.0 324.16 MB

DDraceNetwork + city + block! Based on ddnet (www.ddnet.tw) which is based on teeworlds (www.teeworlds.com).

License: Other

C++ 86.04% Shell 0.36% Lua 0.73% Python 2.93% C 7.81% CMake 1.84% Objective-C 0.05% Objective-C++ 0.06% GLSL 0.14% Dockerfile 0.02% Java 0.01% Batchfile 0.01%

ddnetpp's Introduction

DDNet++

Based on DDNet: flavor of DDRace, a Teeworlds mod. See the website for more information.

Download DDNet++ version 0.0.7 for macOS/linux/windows here on github.

Building

DDNet++ supports bam4, bam5 and cmake building on macOS, linux and windows. Choose between bam or cmake whatever you prefer.

If you want more building information feel free to check out the ddnet and teeworlds READMEs. Those might include valuable information since DDNet++ is a fork of those repositorys.

bam

linux / macOS

setup bam:

# it is recommended to add it to your PATH or a bin directory like /usr/bin/local
cd /tmp
git clone https://github.com/matricks/bam.git
cd bam
./make_unix.sh

build DDNet++:

git clone --recursive https://github.com/DDNetPP/DDNetPP.git
cd DDNetPP
/tmp/bam server_release

windows

setup bam:

:: it is recommended to add C:\bam to your PATH
:: search for enviroment variables in windows and then edit path
:: append C:\bam to the list and clone the bam src there
cd C:\
git clone https://github.com/matricks/bam.git
cd bam
make_win32_mingw.bat

build DDNet++:

git clone --recursive https://github.com/DDNetPP/DDNetPP.git
cd DDNetPP
bam.exe server_release

cmake

linux

sudo apt install cmake
git clone --recursive https://github.com/DDNetPP/DDNetPP.git
cd DDNetPP
mkdir build && cd build
cmake ..
make

macOS

# if you have no brew already install brew first:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# install cmake
brew install cmake
git clone --recursive https://github.com/DDNetPP/DDNetPP.git
cd DDNetPP
mkdir build && cd build
cmake ..
make

windows

Download and install cmake from https://cmake.org/download/

git clone --recursive https://github.com/DDNetPP/DDNetPP.git
cd DDNetPP
mkdir build
cd build
cmake ..
cmake --build .

DDNet++

DDNet++ is the upgrade on top of the teeworlds mod ddracenetwork. Mainly maintained by ChillerDragon and fokkonaut. We added all the features missing in ddnet. For example:

  • bloody
  • rainbow
  • accounts
  • xp
  • money
  • block system (count kills and stats)
  • minigames (bomb/fng/blockwave/survival)
  • quests
  • shop
  • police
  • jail
  • drop weapons and flags
  • and much more

Bugs

Bug:

*** [ACCOUNT] Login failed. This account is already logged in on another server.

Explanation & fix:

One account should not be logged in multiple times at the same time. To make sure this works with multiple servers sharing one database the logged in state is saved in the database. But somehow this fails to reset sometimes and users are unable to get into their account. As a fix admin can use the '/sql_logout_all' chat command which updates the database to set all accounts that are currently not playing on this server and logged in on the current port to logged out. To avoid problems sv_port should not change during server runtime. The config sv_auto_fix_broken_accs can be set to "1" to automatically do this every few seconds.

limitations of the fix:

The fix is not supported well if the database holds more than 99 999 999 accounts.

An alternative is to do it for every account manually with the chat command '/sql_logout (accname)' but this is less save than sql_logout_all because this one does no check if the account is currently playing and is not limited to this port. So it could set a account logged out in the database while the account is logged in. And thus allow another login.

Bug:

*** [ACCOUNT] Login failed. This account is already logged in on another server.

Explanation & fix:

If you run multiple servers on different ports the server has to save which port the accounts are logged in. Newer ddnet allows you to not set sv_port or set it to 0 which picks a free port for you. But the database will then store 0 for all servers. So if you are using multiple servers sharing the same database you have to explicitly set sv_port to something non zero.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.