Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Tools

Development::Tools 3rd Party Tools for EQEMu (DB management tools, front ends, etc...)

Reply
 
Thread Tools Display Modes
  #1  
Old 05-06-2012, 08:15 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I have been able to get a working concept of this "front-end" to load all three server programs and report their output back to windows form textbox controls using an asyncronous callback method. (And yes, the server works...)

However, I've run across an issue that I was wondering if any of you guru's out there may have run across and could point me in a direction on.

I'm only receiving output from the actual program and not from any internally called processes (i.e., no 'starting zone xx' in the eqlaunch.exe window.) Is there a process method class, like ProcessStartInfo, that will allow me access to these internal processes? Or is there a way to 'hack' Process.Modules to gain access to them so I can add handlers to redirect their output back to the parent process's IO stream?

VB or VC++ references are okay.


Thanks!
U
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #2  
Old 05-12-2012, 02:34 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

Ok, I think that I've narrowed down this problem a bit and believe that there are multiple issues with the output redirect portion of this project...

With <EQEmuLoginServer.exe>:

I am not receiving any redirected output at all. Tracing back through the source code, all entries are made from <Server_Log->Log>.


With <World.exe>:

I receive all <write>, <_log> and <logfile->write> messages down to [Error] 'eqtime.cfg' is NOT a valid EQTime file. File version is 0, EQTime version is 1000 (I have a blank eqtime.cfg that I need to set.) At this point I no longer get messages, even from the same handlers. This one could be that my buffer pointer is not resetting..I'll have to check the code on that.


With <EQLaunch.exe>:

I only get the first <write> message [Debug] Starting Log: logs/eqemu_debug_xxxx.log. Even the <_log>-based entries that I was receiving with <World.exe> are not coming through on this process.


It could be that my IO streams are being cleared before my async callback reads them (using a 512B buffer), but I haven't figured out how to see if that's happening yet. It's also possible that the additional internal processes are running on a different thread than what my <server>|<interface> pipes are on and are not catching the output. I am using three unqiue process definitions to initialize the processes with processstartinfo->useshellexecute = false, etc...

Since the <World.exe> redirect works for a bit and then stops, I'm almost thinking that the ->BeginRead() call is timing out and needs to be invoked again. I'm going to continue working on this, but I'm still open to hints and suggestions! (Suggestions also includes those for features)


U
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #3  
Old 05-12-2012, 08:37 AM
iluvseq
Sarnak
 
Join Date: Aug 2009
Location: Somewhere
Posts: 53
Default

Logs are good.

If you want to allow them to be viewed in some sort of GUI, instead of intercepting the writes, simply tail the files themselves.
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 11:26 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3