EvEmu  0.8.4
11 September 2021
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
EVEServerConfig.h
Go to the documentation of this file.
1 /*
2  ------------------------------------------------------------------------------------
3  LICENSE:
4  ------------------------------------------------------------------------------------
5  This file is part of EVEmu: EVE Online Server Emulator
6  Copyright 2006 - 2008 The EVEmu Team
7  For the latest information visit http://evemu.mmoforge.org
8  ------------------------------------------------------------------------------------
9  This program is free software; you can redistribute it and/or modify it under
10  the terms of the GNU Lesser General Public License as published by the Free Software
11  Foundation; either version 2 of the License, or (at your option) any later
12  version.
13 
14  This program is distributed in the hope that it will be useful, but WITHOUT
15  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
16  FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
17 
18  You should have received a copy of the GNU Lesser General Public License along with
19  this program; if not, write to the Free Software Foundation, Inc., 59 Temple
20  Place - Suite 330, Boston, MA 02111-1307, USA, or go to
21  http://www.gnu.org/copyleft/lesser.txt.
22  ------------------------------------------------------------------------------------
23  Author: Zhur, Bloody.Rabit
24  Updates: Allan
25  Version: 10.2
26 */
27 
28 #ifndef __EVE_SERVER_CONFIG__H__INCL__
29 #define __EVE_SERVER_CONFIG__H__INCL__
30 
31 #include "eve-server.h"
32 
33 
40 : public XMLParserEx,
41  public Singleton< EVEServerConfig >
42 {
43 public:
45  ~EVEServerConfig() { /* do nothing here */}
46 
47  // From <server>
48  struct {
49  bool TraderJoe;
50  bool DisableIGB;
51  bool BulkDataOD;
66  float processTic;
68  } server;
69 
70  // From <world>
71  struct {
72  bool chatLogs;
73  bool globalChat;
74  bool gridUnload;
75  bool loginInfo;
76  bool loginMsg;
77  bool saveOnMove;
85  } world;
86 
87  // From <rates>
88  struct {
89  // Decay timer for item deletion (garbage collection)
92  // min amount of tax accepted by corp. an amount less than this will not be processed, resulting in no tax for the concerned payment.
94  // min amount to be taxed. received amounts less than this will not be taxed.
99  float damageRate;
103  float missileTime;
105  float missileRoF;
109  float turretRoF;
110  // Decay timer for wreck deletion (garbage collection)
111  float NPCDecay;
113  float DropMoney;
115  float RepairCost;
119  double secRate;
126  // Crit chance
132  } rates;
133 
134  // from <market>
135  struct {
146  float salesTax;
147  } market;
148 
149  // From <ram>
150  struct {
151  bool AutoEvent;
152  float ProdTime;
153  float CopyTime;
154  float ReTime;
155  float MatMod;
156  float WasteMod;
157  float ResPE;
158  float ResME;
159  float InventTime;
160  } ram;
161 
162  // From <account>
163  struct {
167  std::string loginMessage;
168  } account;
169 
170  // From <character>
171  struct {
181  double startBalance;
186  } character;
187 
188  // From <NPC>
189  struct {
194  bool TargetPod;
205  } npc;
206 
207  // From <database>
208  struct {
209  bool compress;
210  bool ssl;
211  bool useSocket;
213  uint dbTimeout;
218  std::string host;
220  std::string username;
222  std::string password;
224  std::string db;
225  } database;
226 
227  // From <files>
228  struct {
230  std::string logDir;
232  std::string logSettings;
234  std::string cacheDir;
235  // used as the base directory for the image server
236  std::string imageDir;
237  } files;
238 
239  // From <net>
240  struct {
242  uint16 port;
246  std::string imageServer;
247  } net;
248 
249  // From <thread>
250  struct {
256  } threads;
257 
258  // From <cosmic>
259  struct {
260  bool PIEnabled;
270  } cosmic;
271 
272  // From exploring
273  struct {
280  } exploring;
281 
282  // From <standings>
283  struct {
299  } standings;
300 
301  // From <chat>
302  struct {
308  } chat;
309 
310  // From <crime>
311  struct {
312  bool Enabled;
318  } crime;
319 
320  // From <testing>
321  struct {
322  bool ShipHeat;
324  } testing;
325 
326  // From <debug>
327  struct {
328  bool BeanCount;
331  bool SpawnTest;
332  bool IsTestServer; // to distinguish between live production server or experimental testing server
339  } debug;
340 
341 protected:
342  bool ProcessEveServer( const TiXmlElement* ele );
343  bool ProcessServer( const TiXmlElement* ele );
344  bool ProcessWorld( const TiXmlElement* ele );
345  bool ProcessRates( const TiXmlElement* ele );
346  bool ProcessMarket( const TiXmlElement* ele );
347  bool ProcessAccount( const TiXmlElement* ele );
348  bool ProcessCharacter( const TiXmlElement* ele );
349  bool ProcessNPC( const TiXmlElement* ele );
350  bool ProcessDatabase( const TiXmlElement* ele );
351  bool ProcessFiles( const TiXmlElement* ele );
352  bool ProcessNet( const TiXmlElement* ele );
353  bool ProcessThreads( const TiXmlElement* ele );
354  bool ProcessCosmic( const TiXmlElement* ele );
355  bool ProcessExploring( const TiXmlElement* ele );
356  bool ProcessStandings( const TiXmlElement* ele );
357  bool ProcessChat( const TiXmlElement* ele );
358  bool ProcessCrime( const TiXmlElement* ele );
359  bool ProcessBPTimes( const TiXmlElement* ele );
360  bool ProcessTesting( const TiXmlElement* ele );
361  bool ProcessDebug( const TiXmlElement* ele );
362 };
363 
365 #define sConfig \
366  ( EVEServerConfig::get() )
367 
368 #endif /* !__EVE_SERVER_CONFIG__H__INCL__ */
uint16 shipBoardDistance
double startBalance
Money balance of new created characters.
float missileDamage
Modifier for damage from missiles.
struct EVEServerConfig::@109 files
unsigned __int8 uint8
Definition: eve-compat.h:46
struct EVEServerConfig::@112 cosmic
bool ProcessThreads(const TiXmlElement *ele)
bool ProcessAccount(const TiXmlElement *ele)
bool ProcessExploring(const TiXmlElement *ele)
double startSecRating
Starting security rating for new characters.
double startAurBalance
Aura balance of new created characters. -allan 01/10/14.
Class which parses and stores eve-server configuration.
bool ProcessNet(const TiXmlElement *ele)
float turretRoF
Modifier for turret rate of fire.
struct EVEServerConfig::@113 exploring
std::string logDir
A directory in which the log files are stored.
bool ProcessEveServer(const TiXmlElement *ele)
float ACorp2CharMissionMultiplier
float missileRoF
Modifier for missile rate of fire.
uint16 imageServerPort
Port at which the imageServer should listen.
struct EVEServerConfig::@106 character
struct EVEServerConfig::@103 market
bool ProcessNPC(const TiXmlElement *ele)
struct EVEServerConfig::@114 standings
struct EVEServerConfig::@111 threads
struct EVEServerConfig::@100 server
float damageRate
Modifier for damage from NPCs.
signed __int8 int8
Definition: eve-compat.h:45
double secRate
Modifier for security rating changes. Changes how fast it goes up/down based on actions.
bool ProcessWorld(const TiXmlElement *ele)
uint32 startStation
Starting station ID for new characters.
bool ProcessCrime(const TiXmlElement *ele)
float ACorp2PCorpMissionMultiplier
float Agent2PCorpMissionMultiplier
std::string loginMessage
A message shown to every client on login (if enabled in ).
bool ProcessChat(const TiXmlElement *ele)
struct EVEServerConfig::@102 rates
std::string imageServer
the imageServer for char images. should be the evemu server external ip/host
std::string db
A database to be used by server.
int64 autoAccountRole
Role to assign to auto created account; set to 0 to disable auto account creation.
float turretDamage
Modifier for damage from PC turrets.
A somewhat extended version of XMLParser.
Definition: XMLParserEx.h:37
uint32 startCorporation
Starting corp ID for new characters.
bool ProcessDatabase(const TiXmlElement *ele)
bool ProcessServer(const TiXmlElement *ele)
struct EVEServerConfig::@107 npc
struct EVEServerConfig::@116 crime
std::string imageDir
uint32 corpCost
Startup Cost to create a corporation.
uint32 terminationDelay
Delay for terminating a character in seconds.
std::string logSettings
A log configuration file.
float missileTime
Modifier for missile flightTime.
bool ProcessMarket(const TiXmlElement *ele)
float FleetMissionMultiplier
unsigned __int32 uint32
Definition: eve-compat.h:50
bool ProcessBPTimes(const TiXmlElement *ele)
uint32 allyCost
Startup Cost to create an alliance.
struct EVEServerConfig::@115 chat
bool ProcessStandings(const TiXmlElement *ele)
struct EVEServerConfig::@105 account
std::string cacheDir
A directory at which the cache files should be stored.
std::string username
Name of database account to use.
signed __int64 int64
Definition: eve-compat.h:51
struct EVEServerConfig::@117 testing
struct EVEServerConfig::@104 ram
struct EVEServerConfig::@118 debug
float Agent2CharMissionMultiplier
std::string password
Password for the database account.
struct EVEServerConfig::@101 world
struct EVEServerConfig::@108 database
float AFaction2CharMissionMultiplier
bool ProcessCosmic(const TiXmlElement *ele)
Template used for singleton classes.
Definition: Singleton.h:43
std::string host
Hostname of database server.
struct EVEServerConfig::@110 net
uint16 port
A port at which the database server listens.
bool ProcessTesting(const TiXmlElement *ele)
bool ProcessFiles(const TiXmlElement *ele)
bool ProcessRates(const TiXmlElement *ele)
float AFaction2PCorpMissionMultiplier
unsigned __int16 uint16
Definition: eve-compat.h:48
bool ProcessCharacter(const TiXmlElement *ele)
float npcBountyMultiply
Modifier for npc bounties automatically awarded for shooting down npc enemies.
bool ProcessDebug(const TiXmlElement *ele)