Vegastrike 0.5.1 rc1
1.0
Original sources for Vegastrike Evolved
|
#include <netserver.h>
Public Member Functions | |
NetServer () | |
~NetServer () | |
void | start (int argc, char **argv) |
void | save () |
void | broadcast (NetBuffer &netbuf, ObjSerial serial, unsigned short zone, Cmd command, bool isTcp) |
void | broadcastUnit (Unit *un, unsigned short zone) |
void | sendNewUnitQueue () |
void | BroadcastCargoUpgrade (ObjSerial sender, ObjSerial buyer, ObjSerial seller, const std::string &cargo, float price, float mass, float volume, bool mission, unsigned int quantity, int mountOffset, int subunitOffset, unsigned short zone) |
void | BroadcastTarget (ObjSerial serial, ObjSerial oldtarg, ObjSerial target, unsigned short zone) |
void | BroadcastUnfire (ObjSerial serial, const vector< int > &weapon_indicies, unsigned short zone) |
void | BroadcastFire (ObjSerial serial, const vector< int > &weapon_indicies, ObjSerial missile_serial, float energy, unsigned short zone) |
bool | saveAccount (int cpnum) |
void | sendCustom (int cp, const string &cmd, const string &args, const string &id) |
void | sendDamages (ObjSerial serial, unsigned short zone, float hull, const Shield &shields, const Armor &armor, float ppercentage, float spercentage, float amt, Vector &pnt, Vector &normal, GFXColor &color) |
void | sendKill (ObjSerial serial, unsigned short zone) |
void | sendJump (Unit *src, Unit *jumppoint, const string &destination) |
void | sendJumpFinal (ClientPtr clt, const string &server, unsigned short port) |
void | sendForcePosition (ClientPtr clt) |
void | invalidateSnapshot () |
void | sendDockAuthorize (ObjSerial serial, ObjSerial utdwserial, int docknum, unsigned short zone) |
void | sendDockDeny (ObjSerial serial, unsigned short zone) |
void | sendUnDock (ObjSerial serial, ObjSerial utdwserial, unsigned short zone) |
void | sendCredits (ObjSerial serial, float creds) |
void | addUnitCargoSnapshot (const Unit *un, NetBuffer &netbuf) |
void | sendCargoSnapshot (ObjSerial serial, const UnitCollection &unitlist) |
void | sendMessage (const string &from, const string &to, const string &message, float delay) |
void | sendCommunication (Unit *from, Unit *to, const class CommunicationMessage *c) |
void | sendSaveData (int cp, unsigned short packetType, int pos, const string *key, Mission *miss, const string *strValue, const float *floatValue) |
void | sendMission (int cp, unsigned short packetType, string mission, int pos) |
void | addSystem (string &sysname, string &system) |
void | closeAllSockets () |
Public Attributes | |
class ZoneMgr * | zonemgr |
Friends | |
class | ZoneMgr |
Class Netserver : runs the "game server"
Definition at line 67 of file netserver.h.
NetServer::NetServer | ( | ) |
Definition at line 114 of file netserver.cpp.
References getNewTime(), serial_seed, UpdateTime(), and FileUtil::use_crypto.
NetServer::~NetServer | ( | ) |
Definition at line 139 of file netserver.cpp.
void NetServer::addSystem | ( | string & | sysname, |
string & | system | ||
) |
Definition at line 1568 of file netserver.cpp.
Referenced by UniverseUtil::ComputeSystemSerials().
Definition at line 143 of file netserver_devices.cpp.
References NetBuffer::addFloat(), NetBuffer::addInt32(), NetBuffer::addSerial(), NetBuffer::addString(), UnitImages< BOGUS >::CargoVolume, Unit::GetCargo(), Cargo::GetContent(), Cargo::GetMass(), Cargo::GetMissionFlag(), Cargo::GetPrice(), Cargo::GetQuantity(), Unit::GetSerial(), Cargo::GetVolume(), i, Unit::Mass, Unit::numCargo(), Unit::pImage, and UnitImages< BOGUS >::UpgradeVolume.
Referenced by sendCargoSnapshot().
void NetServer::broadcast | ( | NetBuffer & | netbuf, |
ObjSerial | serial, | ||
unsigned short | zone, | ||
Cmd | command, | ||
bool | isTcp | ||
) |
Definition at line 1543 of file netserver.cpp.
References Packet::bc_create(), NetBuffer::getData(), NetBuffer::getDataLength(), PSEUDO__LINE__, and SENDRELIABLE.
void NetServer::BroadcastCargoUpgrade | ( | ObjSerial | sender, |
ObjSerial | buyer, | ||
ObjSerial | seller, | ||
const std::string & | cargo, | ||
float | price, | ||
float | mass, | ||
float | volume, | ||
bool | mission, | ||
unsigned int | quantity, | ||
int | mountOffset, | ||
int | subunitOffset, | ||
unsigned short | zone | ||
) |
Definition at line 93 of file netserver_devices.cpp.
References NetBuffer::addFloat(), NetBuffer::addInt32(), NetBuffer::addSerial(), NetBuffer::addString(), Packet::bc_create(), ZoneMgr::broadcast(), CMD_CARGOUPGRADE, NetBuffer::getData(), NetBuffer::getDataLength(), PSEUDO__LINE__, SENDRELIABLE, and zonemgr.
Referenced by Unit::AddCargo(), Unit::RemoveCargo(), and Unit::UpAndDownGrade().
void NetServer::BroadcastFire | ( | ObjSerial | serial, |
const vector< int > & | weapon_indicies, | ||
ObjSerial | missile_serial, | ||
float | energy, | ||
unsigned short | zone | ||
) |
Definition at line 70 of file netserver_devices.cpp.
References NetBuffer::addFloat(), NetBuffer::addInt32(), NetBuffer::addSerial(), Packet::bc_create(), ZoneMgr::broadcast(), CMD_FIREREQUEST, NetBuffer::getData(), NetBuffer::getDataLength(), i, PSEUDO__LINE__, SENDRELIABLE, and zonemgr.
Referenced by Unit::Fire().
void NetServer::BroadcastTarget | ( | ObjSerial | serial, |
ObjSerial | oldtarg, | ||
ObjSerial | target, | ||
unsigned short | zone | ||
) |
Definition at line 18 of file netserver_devices.cpp.
References NetBuffer::addSerial(), CMD_TARGET, NetBuffer::getData(), NetBuffer::getDataLength(), PSEUDO__LINE__, NetBuffer::Reset(), Packet::send(), and SENDRELIABLE.
Referenced by Unit::Target().
void NetServer::BroadcastUnfire | ( | ObjSerial | serial, |
const vector< int > & | weapon_indicies, | ||
unsigned short | zone | ||
) |
Definition at line 51 of file netserver_devices.cpp.
References NetBuffer::addInt32(), Packet::bc_create(), ZoneMgr::broadcast(), CMD_UNFIREREQUEST, NetBuffer::getData(), NetBuffer::getDataLength(), i, PSEUDO__LINE__, SENDRELIABLE, and zonemgr.
Referenced by Unit::Fire(), and Unit::UnFire().
void NetServer::broadcastUnit | ( | Unit * | un, |
unsigned short | zone | ||
) |
Definition at line 39 of file netserver_clients.cpp.
void NetServer::closeAllSockets | ( | ) |
|
inline |
Definition at line 182 of file netserver.h.
Referenced by sendNewUnitQueue().
void NetServer::save | ( | ) |
Definition at line 109 of file netserver_acct.cpp.
References ZoneMgr::displayNPCs(), f, VSFileSystem::Ok, VSFileSystem::UnknownFile, and zonemgr.
Definition at line 132 of file netserver_acct.cpp.
References _Universe, Universe::AccessCockpit(), acct_con, ACCT_SAVE, addSimpleChar(), addSimpleString(), CMD_SAVEACCOUNTS, COUT, NetBuffer::getData(), NetBuffer::getDataLength(), Cockpit::GetParent(), SaveNetUtil::GetSaveStrings(), Unit::GetSerial(), Client::INGAME, Packet::send(), SENDRELIABLE, and VsnetHTTPSocket::sendstr().
void NetServer::sendCargoSnapshot | ( | ObjSerial | serial, |
const UnitCollection & | unitlist | ||
) |
Definition at line 162 of file netserver_devices.cpp.
References NetBuffer::addSerial(), addUnitCargoSnapshot(), CMD_SNAPCARGO, UnitCollection::constIterator(), NetBuffer::getData(), NetBuffer::getDataLength(), Unit::GetSerial(), PSEUDO__LINE__, Packet::send(), and SENDRELIABLE.
void NetServer::sendCommunication | ( | Unit * | from, |
Unit * | to, | ||
const class CommunicationMessage * | c | ||
) |
Definition at line 330 of file netserver_devices.cpp.
References NetBuffer::addFloat(), NetBuffer::addInt32(), CMD_COMM, CommunicationMessage::curstate, Pilot::effective_relationship, NetBuffer::getData(), NetBuffer::getDataLength(), UnitUtil::getFactionRelation(), Unit::GetSerial(), i, Unit::pilot, Packet::send(), SENDRELIABLE, and Client::tcp_sock.
Referenced by Order::Communicate().
Definition at line 130 of file netserver_devices.cpp.
References NetBuffer::addFloat(), CMD_CREDITS, NetBuffer::getData(), NetBuffer::getDataLength(), PSEUDO__LINE__, Packet::send(), and SENDRELIABLE.
Referenced by UnitUtil::addCredits(), Unit::BuyCargo(), and Unit::SellCargo().
void NetServer::sendCustom | ( | int | cp, |
const string & | cmd, | ||
const string & | args, | ||
const string & | id | ||
) |
Definition at line 274 of file netserver_devices.cpp.
References _Universe, Universe::AccessCockpit(), NetBuffer::addString(), CMD_CUSTOM, fprintf, NetBuffer::getData(), NetBuffer::getDataLength(), Cockpit::GetParent(), Unit::GetSerial(), Packet::send(), and SENDRELIABLE.
void NetServer::sendDamages | ( | ObjSerial | serial, |
unsigned short | zone, | ||
float | hull, | ||
const Shield & | shields, | ||
const Armor & | armor, | ||
float | ppercentage, | ||
float | spercentage, | ||
float | amt, | ||
Vector & | pnt, | ||
Vector & | normal, | ||
GFXColor & | color | ||
) |
Definition at line 232 of file netserver_devices.cpp.
References NetBuffer::addArmor(), NetBuffer::addColor(), NetBuffer::addFloat(), NetBuffer::addShield(), NetBuffer::addVector(), Packet::bc_create(), ZoneMgr::broadcast(), CMD_DAMAGE, NetBuffer::getData(), NetBuffer::getDataLength(), getNewTime(), VegaConfig::getVariable(), XMLSupport::parse_float(), PSEUDO__LINE__, SENDRELIABLE, vs_config, and zonemgr.
Referenced by Unit::ApplyLocalDamage().
void NetServer::sendDockAuthorize | ( | ObjSerial | serial, |
ObjSerial | utdwserial, | ||
int | docknum, | ||
unsigned short | zone | ||
) |
Definition at line 506 of file netserver_devices.cpp.
References NetBuffer::addInt32(), NetBuffer::addSerial(), Packet::bc_create(), ZoneMgr::broadcast(), CMD_DOCK, NetBuffer::getData(), NetBuffer::getDataLength(), PSEUDO__LINE__, SENDRELIABLE, and zonemgr.
void NetServer::sendDockDeny | ( | ObjSerial | serial, |
unsigned short | zone | ||
) |
Definition at line 537 of file netserver_devices.cpp.
void NetServer::sendForcePosition | ( | ClientPtr | clt) |
Definition at line 542 of file netserver_devices.cpp.
References NetBuffer::addClientState(), NetBuffer::addQVector(), CMD_POSUPDATE, NetBuffer::getData(), NetBuffer::getDataLength(), ClientState::getPosition(), Unit::GetSerial(), PSEUDO__LINE__, Packet::send(), and SENDRELIABLE.
Referenced by sendUnDock().
Definition at line 417 of file netserver_devices.cpp.
References _Universe, ACCT_SAVE_LOGOUT, Universe::activeStarSystem(), addSimpleChar(), addSimpleString(), StarSystem::getFileName(), getSaveStringLength(), SaveNetUtil::GetSaveStrings(), Unit::GetSerial(), Client::LOGGEDIN, pushSaveString(), putSaveString(), VsnetHTTPSocket::sendstr(), and Universe::whichPlayerStarship().
Referenced by Unit::jumpReactToCollision().
void NetServer::sendJumpFinal | ( | ClientPtr | clt, |
const string & | server, | ||
unsigned short | port | ||
) |
Definition at line 405 of file netserver_devices.cpp.
References NetBuffer::addShort(), NetBuffer::addString(), CMD_JUMP, NetBuffer::getData(), NetBuffer::getDataLength(), Packet::send(), and SENDRELIABLE.
void NetServer::sendKill | ( | ObjSerial | serial, |
unsigned short | zone | ||
) |
Definition at line 367 of file netserver_devices.cpp.
References _Universe, Packet::bc_create(), ZoneMgr::broadcast(), CMD_KILL, displayUnitInfo(), Mission::getNthPlayerMission(), ZoneMgr::getUnit(), PSEUDO__LINE__, ZoneMgr::removeClient(), SENDRELIABLE, Mission::terminateMission(), Universe::whichPlayerStarship(), and zonemgr.
Referenced by Unit::Destroy(), and Unit::Kill().
void NetServer::sendMessage | ( | const string & | from, |
const string & | to, | ||
const string & | message, | ||
float | delay | ||
) |
Definition at line 295 of file netserver_devices.cpp.
References _Universe, Universe::AccessCockpit(), Universe::activeStarSystem(), NetBuffer::addString(), Packet::bc_create(), ZoneMgr::broadcast(), CMD_TXTMESSAGE, NetBuffer::getData(), NetBuffer::getDataLength(), Cockpit::GetParent(), Unit::GetSerial(), StarSystem::GetZone(), PSEUDO__LINE__, Packet::send(), SENDRELIABLE, zonemgr, and ZoneMgr::zones.
Referenced by MessageCenter::add().
Definition at line 216 of file netserver_devices.cpp.
References _Universe, Universe::AccessCockpit(), NetBuffer::addInt32(), NetBuffer::addShort(), NetBuffer::addString(), CMD_MISSION, NetBuffer::getData(), NetBuffer::getDataLength(), Cockpit::GetParent(), Unit::GetSerial(), PSEUDO__LINE__, Packet::send(), and SENDRELIABLE.
Referenced by LoadMission(), and Mission::terminateMission().
void NetServer::sendNewUnitQueue | ( | ) |
Definition at line 44 of file netserver_clients.cpp.
References UnitFactory::addBuffer(), Packet::bc_create(), ZoneMgr::broadcast(), CMD_ENTERCLIENT, COUT, displayUnitInfo(), UnitFactory::endBuffer(), NetBuffer::getData(), NetBuffer::getDataLength(), StarSystem::getFileName(), Unit::getStarSystem(), StarSystem::GetZone(), invalidateSnapshot(), PSEUDO__LINE__, SENDRELIABLE, NetBuffer::setVersion(), zonemgr, and ZoneMgr::zones.
void NetServer::sendSaveData | ( | int | cp, |
unsigned short | packetType, | ||
int | pos, | ||
const string * | key, | ||
Mission * | miss, | ||
const string * | strValue, | ||
const float * | floatValue | ||
) |
Definition at line 178 of file netserver_devices.cpp.
References _Universe, Universe::AccessCockpit(), NetBuffer::addFloat(), NetBuffer::addInt32(), NetBuffer::addShort(), NetBuffer::addString(), CMD_SAVEDATA, Subcmd::FloatValue, NetBuffer::getData(), NetBuffer::getDataLength(), Cockpit::GetParent(), Mission::getPlayerMissionNumber(), Unit::GetSerial(), Subcmd::Objective, PSEUDO__LINE__, Packet::send(), SENDRELIABLE, Subcmd::SetValue, and Subcmd::StringValue.
Referenced by UniverseUtil::addObjective(), UniverseUtil::clearObjectives(), clearSaveData(), clearSaveString(), UniverseUtil::eraseObjective(), eraseSaveData(), eraseSaveString(), pushSaveData(), pushSaveString(), putSaveData(), putSaveString(), saveDataList(), saveStringList(), UniverseUtil::setCompleteness(), and UniverseUtil::setObjective().
Definition at line 559 of file netserver_devices.cpp.
References NetBuffer::addSerial(), Packet::bc_create(), ZoneMgr::broadcast(), CMD_UNDOCK, NetBuffer::getData(), NetBuffer::getDataLength(), VegaConfig::getVariable(), XMLSupport::parse_bool(), PSEUDO__LINE__, sendForcePosition(), SENDRELIABLE, vs_config, and zonemgr.
void NetServer::start | ( | int | argc, |
char ** | argv | ||
) |
Definition at line 167 of file netserver.cpp.
References _Universe, acct_con, ACCT_PORT, ACCT_RESYNC, active_missions, addSimpleChar(), addSimpleString(), clienttimeout, VSFileSystem::VSFile::Close(), CONFIGFILE, COUT, NetUITCP::createServerSocket(), NetUIUDP::createServerSocket(), DAMAGE_ATOM, game_data_t::difficulty, ExecuteDirector(), f, g_game, game_options, ROLES::getAllRolePriorities(), getNewTime(), VegaConfig::getVariable(), i, vs_options::init(), Mission::initMission(), VSFileSystem::InitPaths(), InitTime(), InitUnitTables(), input_buffer, j, logintimeout, MAXINPUT, mission, nbchars, NETWORK_ATOM, Universe::numPlayers(), VSFileSystem::Ok, VSFileSystem::VSFile::OpenReadOnly(), XMLSupport::parse_bool(), PLANET_ATOM, StarSystem::ProcessPendingJumps(), PSEUDO__LINE__, VSFileSystem::VSFile::ReadFull(), run_only_player_starsystem, SAVE_ATOM, Universe::star_system, test, universe_file, universe_path, VSFileSystem::UnknownFile, UpdateTime(), vs_config, and VSExit().
Referenced by main().
|
friend |
Definition at line 200 of file netserver.h.
class ZoneMgr* NetServer::zonemgr |
Definition at line 114 of file netserver.h.
Referenced by BroadcastCargoUpgrade(), BroadcastFire(), BroadcastUnfire(), getZoneInfoBuffer(), save(), sendDamages(), sendDockAuthorize(), sendKill(), sendMessage(), sendNewUnitQueue(), and sendUnDock().