Inexor
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Namespaces | Macros | Functions | Variables
client_management.hpp File Reference
#include <enet/enet.h>
#include <limits.h>
#include <algorithm>
#include "inexor/fpsgame/fpsstate.hpp"
#include "inexor/network/SharedVar.hpp"
#include "inexor/network/legacy/administration.hpp"
#include "inexor/shared/cube_loops.hpp"
#include "inexor/shared/cube_types.hpp"
#include "inexor/shared/cube_vector.hpp"
#include "inexor/shared/ents.hpp"
#include "inexor/shared/geom.hpp"
#include "inexor/util/legacy_time.hpp"

Go to the source code of this file.

Classes

struct  server::client
 server side version of "dynent" type More...
 
struct  server::projectilestate< N >
 
struct  server::gamestate
 server specialisation of the fpsstate (?) More...
 
struct  server::gameevent
 
struct  server::timedevent
 
struct  server::hitinfo
 
struct  server::shotevent
 
struct  server::explodeevent
 
struct  server::suicideevent
 
struct  server::pickupevent
 
struct  server::clientinfo
 

Namespaces

 server
 
 server::aiman
 

Macros

#define DEFAULTCLIENTS   16
 
#define MM_MODE   0xF
 
#define MM_AUTOAPPROVE   0x1000
 
#define MM_PRIVSERV   (MM_MODE | MM_AUTOAPPROVE)
 
#define MM_PUBSERV   ((1<<MM_OPEN) | (1<<MM_VETO))
 
#define MM_COOPSERV   (MM_AUTOAPPROVE | MM_PUBSERV | (1<<MM_LOCKED))
 

Functions

ENetPeer * server::getclientpeer (int i)
 
uint server::getclientip (int n)
 
int server::reserveclients ()
 The amount of people who can connect more than the actual specified max clients limit. More...
 
client & server::add_client_connection (ENetPeer *peer)
 
void server::check_clients_timed_out ()
 After some period of time without response we disconnect a client. More...
 
void server::disconnect_client (int n, int reason)
 
bool server::has_clients ()
 
int server::get_num_clients ()
 
int server::numclients (int exclude=-1, bool nospec=true, bool noai=true, bool priv=false)
 List all connected clients (game players) More...
 
const char * server::colorname (clientinfo *ci, const char *name=nullptr)
 colorful version of the clients name (if two people share the same name or ci is a bot) More...
 
bool server::player_connected (clientinfo *ci, const char *password, const char *mapwish, int modewish)
 
clientinfo * server::get_client_info (int n, bool findbots)
 
void server::resetdisconnectedplayerscores ()
 New map: we throw away the scores of disconnected players. More...
 
void server::aiman::removeai (clientinfo *ci)
 
void server::aiman::clearai ()
 
void server::aiman::checkai ()
 
void server::aiman::reqadd (clientinfo *ci, int skill)
 
void server::aiman::reqdel (clientinfo *ci)
 
void server::aiman::setbotlimit (clientinfo *ci, int limit)
 
void server::aiman::setbotbalance (clientinfo *ci, bool balance)
 
void server::aiman::changemap ()
 
void server::aiman::addclient (clientinfo *ci)
 
void server::aiman::changeteam (clientinfo *ci)
 
int server::get_mastermode_int ()
 
bool server::setmaster (clientinfo *ci, bool val, const char *pass, bool force, bool trial)
 
void server::change_mastermode (int mm, int sendernum, clientinfo *actor)
 
void server::addban (uint ip, int expire)
 
void server::clearbans (clientinfo *actor)
 
void server::check_bans_expired ()
 
bool server::trykick (clientinfo *ci, int victim, const char *reason, bool trial)
 
void server::kickclients (uint ip, clientinfo *actor=nullptr, int priv=PRIV_NONE)
 Kick all clients with this IP (including bots and people in the same LAN) More...
 

Variables

SharedVar< int > server::maxclients
 
SharedVar< int > server::maxdupclients
 
static constexpr int server::DEATHMILLIS = 300
 

Class Documentation

struct server::client

server side version of "dynent" type

Class Members
bool connected
string hostname
void * info
int num
ENetPeer * peer
struct server::hitinfo
Class Members
vec dir
float dist
int lifesequence
int rays
int target

Macro Definition Documentation

#define DEFAULTCLIENTS   16
#define MM_AUTOAPPROVE   0x1000
#define MM_COOPSERV   (MM_AUTOAPPROVE | MM_PUBSERV | (1<<MM_LOCKED))
#define MM_MODE   0xF
#define MM_PRIVSERV   (MM_MODE | MM_AUTOAPPROVE)
#define MM_PUBSERV   ((1<<MM_OPEN) | (1<<MM_VETO))