Pol  Revision:cb584c9
pol.cpp File Reference
#include "pol.h"
#include <errno.h>
#include "pol_global_config.h"
#include "../bscript/bobject.h"
#include "../bscript/escriptv.h"
#include "../clib/Debugging/ExceptionParser.h"
#include "../clib/Program/ProgramConfig.h"
#include "../clib/clib_endian.h"
#include "../clib/esignal.h"
#include "../clib/fileutil.h"
#include "../clib/kbhit.h"
#include "../clib/logfacility.h"
#include "../clib/passert.h"
#include "../clib/rawtypes.h"
#include "../clib/refptr.h"
#include "../clib/stlutil.h"
#include "../clib/streamsaver.h"
#include "../clib/threadhelp.h"
#include "../clib/timer.h"
#include "../clib/tracebuf.h"
#include "../plib/pkg.h"
#include "../plib/systemstate.h"
#include "accounts/account.h"
#include "checkpnt.h"
#include "console.h"
#include "core.h"
#include "decay.h"
#include "extobj.h"
#include "fnsearch.h"
#include "gameclck.h"
#include "globals/network.h"
#include "globals/object_storage.h"
#include "globals/state.h"
#include "globals/uvars.h"
#include "guardrgn.h"
#include "item/armor.h"
#include "item/equipmnt.h"
#include "item/itemdesc.h"
#include "loadunld.h"
#include "menu.h"
#include "miscrgn.h"
#include "mobile/charactr.h"
#include "multi/house.h"
#include "multi/multi.h"
#include "musicrgn.h"
#include "network/cgdata.h"
#include "network/client.h"
#include "network/clientthread.h"
#include "network/clienttransmit.h"
#include "network/cliface.h"
#include "network/packethelper.h"
#include "network/packethooks.h"
#include "network/packets.h"
#include "party.h"
#include "pktboth.h"
#include "pktdef.h"
#include "pktin.h"
#include "polcfg.h"
#include "polclock.h"
#include "poldbg.h"
#include "polsem.h"
#include "polsig.h"
#include "polwww.h"
#include "profile.h"
#include "realms/WorldChangeReasons.h"
#include "realms/realm.h"
#include "savedata.h"
#include "scrdef.h"
#include "scrsched.h"
#include "sockets.h"
#include "sockio.h"
#include "sqlscrobj.h"
#include "ssopt.h"
#include "testing/poltest.h"
#include "ufunc.h"
#include "uimport.h"
#include "uoclient.h"
#include "uoscrobj.h"
#include "uworld.h"
#include <format/format.h>
#include "containr.h"
#include "mobile/npc.h"
#include <cstdio>
#include <cstring>
#include <exception>
#include <iosfwd>
#include <string>

Go to the source code of this file.

Classes

class  Pol::Core::delete_ob< T >
 

Namespaces

 Pol
 
 Pol::Bscript
 
 Pol::Core
 
 Pol::Items
 
 Pol::Network
 

Macros

#define CLIENT_CHECKPOINT(x)   client->checkpoint = x
 
#define clock_t_to_ms(x)   ( x )
 

Functions

void Pol::Items::allocate_intrinsic_weapon_serials ()
 
void Pol::Core::call_chr_scripts (Mobile::Character *chr, const std::string &root_script_ecl, const std::string &pkg_script_ecl, bool offline=false)
 
void Pol::Core::call_ondelete_scripts (Mobile::Character *chr)
 
bool Pol::Core::can_delete_character (Mobile::Character *chr, int delete_by)
 
void Pol::Core::cancel_all_trades ()
 
void Pol::Core::catch_signals_thread (void)
 
void Pol::Core::char_select (Network::Client *client, PKTIN_5D *msg)
 
void Pol::Core::check_incoming_data (void)
 
void Pol::Core::combined_thread (void)
 
void Pol::Core::console_thread (void)
 
void Pol::Core::decay_single_thread (void *arg)
 
void Pol::Core::decay_thread (void *arg)
 
void Pol::Core::decay_thread_shadow (void *arg)
 
template<class T >
void Pol::Core::Delete (T *p)
 
void Pol::Bscript::display_bobjectimp_instances ()
 
void Pol::Bscript::display_executor_instances ()
 
void Pol::Core::display_leftover_objects ()
 
void Pol::Core::display_reftypes ()
 
void Pol::Core::display_unreaped_orphan_instances ()
 
void Pol::Core::handle_keep_alive (Network::Client *client, PKTBI_73 *msg)
 
void Pol::Core::handle_resync_request (Network::Client *client, PKTBI_22_SYNC *msg)
 
void Pol::Core::InitializeSystemTrayHandling ()
 
void Pol::Network::load_aux_services ()
 
void Pol::Items::load_intrinsic_weapons ()
 Creates the intrinsic wrestling weapon for PCs must be called at startup. More...
 
bool Pol::Core::load_realms ()
 
void Pol::Core::load_system_hooks ()
 
void Pol::Core::polclock_checkin ()
 
void Pol::Network::read_bannedips_config (bool initial_load)
 
void Pol::Core::reap_thread (void)
 
void Pol::Core::reload_configuration ()
 
void Pol::Core::restart_all_clients ()
 
void Pol::Core::run_logon_script (Mobile::Character *chr)
 
void Pol::Core::run_reconnect_script (Mobile::Character *chr)
 
void Pol::Core::run_start_scripts ()
 
void Pol::Core::scripts_thread (void)
 
void Pol::Core::send_client_char_data (Mobile::Character *chr, Network::Client *client)
 
void Pol::Core::send_inrange_items (Network::Client *client)
 
void Pol::Core::send_inrange_multis (Network::Client *client)
 
void Pol::Core::send_startup (Network::Client *client)
 
void Pol::Core::ShutdownSystemTrayHandling ()
 
void Pol::Network::start_aux_services ()
 
void Pol::Core::start_client_char (Network::Client *client)
 
void Pol::Core::start_tasks ()
 
void Pol::Core::start_threads ()
 
void Pol::Core::start_uo_client_listeners (void)
 
void Pol::Core::tasks_thread (void)
 
void Pol::Core::textcmd_startlog (Network::Client *client)
 
void Pol::Core::textcmd_stoplog (Network::Client *client)
 
void Pol::Core::threadstatus_thread (void)
 
int Pol::xmain_inner (bool testing)
 
int Pol::xmain_outer (bool testing)
 

Detailed Description

History
  • 2005/02/23 Shinigami: ServSpecOpt DecayItems to enable/disable item decay
  • 2005/04/03 Shinigami: send_feature_enable() call moved from start_client_char() to send_start() to send before char selection
  • 2005/04/04 Shinigami: added can_delete_character( chr, delete_by )
  • 2005/06/15 Shinigami: ServSpecOpt UseWinLFH to enable/disable Windows XP/2003 low-fragmentation Heap added Check_for_WinXP_or_Win2003() and low_fragmentation_Heap()
  • 2005/06/20 Shinigami: added llog (needs defined MEMORYLEAK)
  • 2005/07/01 Shinigami: removed Check_for_WinXP_or_Win2003() and transformed call of Use_low_fragmentation_Heap() into Run-Time Dynamic Linking
  • 2005/10/13 Shinigami: added Check_libc_version() and printing a Warning if libc is to old
  • 2005/11/25 Shinigami: PKTBI_BF::TYPE_SESPAM will not block Inactivity-Check
  • 2005/11/28 MuadDib: Created check_inactivity() bool function to handle checking packets for ones to be considered "ignored" for inactivity. Returns true if the packet was one to be ignored.
  • 2005/11/28 MuadDib: Implemented check_inactivity() function in appropriate place.
  • 2006/03/01 MuadDib: Added connect = true to start_client_char so char creation can use.
  • 2006/03/03 MuadDib: Moved all instances of connected = true to start_client_char.
  • 2006/06/03 Shinigami: added little bit more logging @ pthread_create
  • 2006/06/05 Shinigami: added little bit more logging @ Client disconnects by Core
  • 2006/07/05 Shinigami: moved MakeDirectory("log") a little bit up
  • 2006/10/07 Shinigami: FreeBSD fix - changed some linux to unix
  • 2007/03/08 Shinigami: added pthread_exit and _endhreadex to close threads
  • 2007/05/06 Shinigami: smaller bugfix in Check_libc_version()
  • 2007/06/17 Shinigami: Pergon-Linux-Release generates file "pol.pid"
  • 2007/07/08 Shinigami: added UO:KR login process
  • 2008/07/08 Turley: removed Checkpoint "initializing random number generator"
  • 2008/12/17 MuadDub: Added check when loading Realms for no realms existing.
  • 2009/01/19 Nando: added unload_aux_services() and unload_packages() to the shutdown cleanup
  • 2009/1/24 MuadDib: Added read_bannedips_config() and checkpoint for it after loading of pol.cfg
  • 2009/07/23 MuadDib: Updates for MSGOUT naming.
  • 2009/07/31 MuadDib: xmain_inner(): Force Client Disconnect to initiate cleanup of clients and chars, after shutdown, before other cleanups.
  • 2009/08/01 MuadDib: Removed send_tech_stuff(), send_betaclient_BF(), just_ignore_message(), and ignore_69() due to not used or obsolete.
  • 2009/08/03 MuadDib: Renaming of MSG_HANDLER_6017 and related, to MSG_HANDLER_V2 for better description Renamed secondary handler class to *_V2 for naming convention
  • 2009/08/14 Turley: fixed definition of PKTIN_5D
  • 2009/08/19 Turley: PKTIN_5D clientflag saved in client->UOExpansionFlagClient
  • 2009/09/03 MuadDib: Relocation of account related cpp/h Changes for multi related source file relocation
  • 2009/09/15 MuadDib: Multi registration/unregistration support added.
  • 2009/09/06 Turley: Changed Version checks to bitfield client->ClientType
  • 2009/09/22 MuadDib: Fix for lightlevel resets in client during login.
  • 2009/11/19 Turley: ssopt.core_sends_season & .core_handled_tags - Tomi
  • 2009/12/04 Turley: Crypto cleanup - Tomi
  • 2010/01/22 Turley: Speedhack Prevention System
  • 2010/03/28 Shinigami: Transmit Pointer as Pointer and not Int as Pointer within decay_thread_shadow
  • 2011/11/12 Tomi: Added extobj.cfg

Definition in file pol.cpp.

Macro Definition Documentation

#define CLIENT_CHECKPOINT (   x)    client->checkpoint = x

Definition at line 200 of file pol.cpp.

#define clock_t_to_ms (   x)    ( x )

Definition at line 525 of file pol.cpp.

Referenced by Pol::Core::combined_thread().