NovaBryan/EVE_Dump
Log | Files | 📦 下载最新源码 (.zip) | Refs | README

autoexec_evecore.py (3025B)


      1 #Embedded file name: C:\BuildAgent\work\20d73f1b24eed06e\eve\release\V24.01\eve\common\lib\autoexec_evecore.py
      2 from eveprefs import prefs, boot
      3 __all__ = ['SetupEveSpecificLogging', 'SetupForChina']
      4 import blue
      5 import log
      6 import eveLocalization
      7 
      8 def SetupForChina(forceEnglishIfNotChina = False):
      9     if boot.region == 'optic':
     10         eveLocalization.SetTimeDelta(28800)
     11         prefs.languageID = 'ZH'
     12     elif forceEnglishIfNotChina:
     13         prefs.languageID = 'EN'
     14     blue.os.languageID = prefs.GetValue('languageID', 'EN')
     15 
     16 
     17 globalChannelsList = ['Combat',
     18  'Environment',
     19  'Movement',
     20  'NPC',
     21  'Navigation',
     22  'UI',
     23  'Macho',
     24  'Update',
     25  'General',
     26  'MethodCalls',
     27  'Models',
     28  'Connection',
     29  'Turrets',
     30  'Fitting',
     31  'Unittest',
     32  'SP']
     33 
     34 def evePostStacktraceCallback(out):
     35     try:
     36         import log
     37         from carbon.common.script.sys.serviceConst import ROLE_SERVICE
     38         from carbon.common.script.sys.sessions import GetSessions
     39         from carbon.common.script.util.format import FmtDate
     40         sessions = []
     41         for sess in GetSessions():
     42             if getattr(sess, 'userid') and not sess.role & ROLE_SERVICE:
     43                 sessions.append(sess)
     44 
     45         if sessions:
     46             out.write('\nActive client sessions:\n\n')
     47             out.write('------------------------------------------------------------------------------------------------------\n')
     48             out.write('| userid |       role |     charid |     shipid | locationid | last remote call    | address         |\n')
     49             out.write('------------------------------------------------------------------------------------------------------\n')
     50             for sess in sessions:
     51                 fmt = '| %6s | %10s | %10s | %10s | %10s | %19s | %15s |\n'
     52                 try:
     53                     out.write(fmt % (sess.userid,
     54                      sess.role,
     55                      sess.charid,
     56                      sess.shipid,
     57                      sess.locationid,
     58                      FmtDate(sess.lastRemoteCall, 'll') if sess.lastRemoteCall is not None else 'No info on last call',
     59                      sess.address.split(':')[0] if sess.address is not None else 'No address'))
     60                 except:
     61                     out.write('!error writing out session %s\n' % str(sess))
     62                     log.LogException()
     63 
     64             out.write('------------------------------------------------------------------------------------------------------\n')
     65             out.write('%s sessions total.\n' % len(sessions))
     66         else:
     67             out.write('There were no active client sessions.\n')
     68     except:
     69         log.LogException()
     70 
     71 
     72 def EveUIMessage(*args):
     73     from player_messaging.client.ui_message import prompt_player_fsd_dialog
     74     prompt_player_fsd_dialog(*args)
     75 
     76 
     77 def SetupEveSpecificLogging():
     78     log.AddGlobalChannels(globalChannelsList)
     79     log.SetStackFileNameSubPaths(('/server/', '/client/', '/proxy/', '/common/'))
     80     log.RegisterPostStackTraceAll(evePostStacktraceCallback)
     81     log.SetUiMessageFunc(EveUIMessage)