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 04-28-2012, 09:09 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default EQEmu Console Project

I've spoke about designing a front-end application for EQEmulator on another thread and decided it was time to start my own to bring in ideas and suggestions. Just remember the concept of this project is focused mainly on installing and configuring a working server the first time and with minimal effort.

(Just remember that my programming skills are lacking and this is a learning process for me.)


This project is the result of issues that I had installing and configuring my server based on my level of knowledge (or lack thereof..) I've read numerous posts asking for help concerning the same problems over-and-over. There was a post somewhere that asked if the programs could, essentially, be run through a windows form rather than three independent 'com' windows. My first thought was to search search the internet and see if someone already knew how to do this. I found a few snippets of code and off we were!


The main goal of this project is to provide a 'Windows' interface that can install and configure the required support software, download/compile source code through command-line scripts, and install/maintain/update content.


I hope to implement not only a working emulator console, but also add AllaClone support as well.


These are the main foci of what I want to accomplish, but as I discover what can and cannot be accomplished with the existing EQ client, options and features may have to be adjusted.


Wish me luck!
Reply With Quote
  #2  
Old 04-28-2012, 09:34 AM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

If you read my statement about multiple servers in this console, I did run across an old Linux support forum post saying that the world server port 9000 was hard-coded into the client.

So, unless I hear otherwise, the configuration is looking like one (1) active world server, (1) active login server, undetermined remote server support, undetermined remote database server support, (1) AllaClone web-host and undetermined 'Custom' web-host.

U
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #3  
Old 04-28-2012, 12:18 PM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,447
Default

There's already something like this that runs on the same port as 9000. Enable telnet in eqemu_config.xml and telnet into the server.

As for remote database support, you can open up MySQL to the internet on a non-standard port & do password + host authentication.

If you need the telnet console improved, perhaps someone could help you here.

If you need a web-based interface, there is one that Storm Haven uses that is built into the server as 'HTTP' support. The related files are in the utils folder somewhere on SVN.
Reply With Quote
  #4  
Old 04-28-2012, 01:21 PM
iluvseq
Sarnak
 
Join Date: Aug 2009
Location: Somewhere
Posts: 53
Default

He's misusing the word 'console' Secrets. From what I can tell he's trying to create an auto-installer for folks who want to run servers but don't know how to set one up. Nothing in what he has posted leads me to believe he's trying to create any sort of server administration console.

Quote:
the concept of this project is focused mainly on installing and configuring a working server the first time and with minimal effort.
Reply With Quote
  #5  
Old 04-28-2012, 05:43 PM
Amra's Avatar
Amra
Hill Giant
 
Join Date: May 2006
Posts: 117
Default

Just my opinion.. If you can't set up EqEmu with the wealth of knowledge within this forum you really should find another hobby and stick to being a player.
Reply With Quote
  #6  
Old 04-28-2012, 09:01 PM
Uleat's Avatar
Uleat
Developer
 
Join Date: Apr 2012
Location: North Carolina
Posts: 2,815
Default

I guess the term 'Front-End' would be more appropriate, but I've never seen a piece of software entitled as such. I only chose 'Console' because I want to 'Consolidate' the basic steps and processes involved in getting a server up and running.

I understand what a telnet console is (I've looked at enough orange and green screens in the military), but my misunderstanding about port 9000 was that I thought the login server assigned this to the client when it logged in. I didn't realize it was hard coded into the client, and hence my change in the number of world servers that a single computer can host.

And yes, the main focal points are install/configure, but I want it to also start as well. It will have a built-in browser for accessing the emulator's http page (port 9080), along with some other basic functions. If a person wants to install/configure using this 'console', they can still use 'serverstart.bat', 'ServerAdmin', etc... to run it.

I'm trying to attempt a 'non-duplication' effort, so I don't mind anyone sharing facts, opinions, criticism, etc...

U
__________________
Uleat of Bertoxxulous

Compilin' Dirty
Reply With Quote
  #7  
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
  #8  
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
  #9  
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


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 10:02 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 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3