Go Back   EQEmulator Home > EQEmulator Forums > Development > EQEmu Operations Center

EQEmu Operations Center Web development tools

Reply
 
Thread Tools Display Modes
  #1  
Old 03-18-2013, 10:35 AM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default EOC BETA Launch (Developer's Tool) EQEmu Operations Center

All,

Some of you have anticipated this for a longer time than it should have been necessary.

Trevius and I have worked on this project for many months and it has been a side project that sometimes got dropped for a period of time, time to get it off the ground in BETA

That said, I've also been involved with high level web development outside the realm of EQEmulator which has also reflected in being able to execute very smooth and efficient work with this tool, using PHP/AJAX/Javascript/HTML/Mysql to deliver a rich hosted tool solution platform.

EOC TEASERS HERE: http://imgur.com/a/xgnVo

What is EOC?
EoC (EQEmu Operations Center for Development) in vision was meant to be a few things in essence
  • A hosted solution so you do not have to install ANYTHING
  • A web front-end tool for EQEmu Server development
  • Built for custom server developers in mind
  • Tools built to cut down on the development time and process
  • Tools that are built to not break based on different database schematics
  • Make rich tools available without the need to learn to setup a web server and configure a bunch of stuff all just for one server

What tools are available now?

As of right now, there are about 3 original tools available and they all are very nice. These include:

Item Editor: (Created by Akkadius)
  • Detailed Item Search (Based on Allaclone code - I want to rewrite this but it works)
  • Item Tooltips for quick display of information
  • Over 20 sub tools (Class selector, Race Selector, Icon Viewer/Selector, Weapon Viewer/selector, Item Price Selector, spell selectors etc.)
  • Nostalgic Sound effects
  • Music - Can be toggled off

Item Editor Features to Come:
  • Automatic item statistic scaler - Will take in a few arguments (Level, Class type (Silk/Leather/Chain/Plate), and item content type (Solo/Group/Raid)) and automatically suggest values for your statistics. This will be able to be generally + or - a percentage on top of suggested values, giving you much less thought in mathematically scaling items
  • Some fields could still use sub tools
  • Copy Button at the top of an item (Similar to Georges) - Now to copy an item all you have to do is reassign an ID

Task Editor: (Created by Trevius)
I must say myself that this tool is awesome, I can get a task together in minimal amounts of time using this great tool that Trevius put together.
  • Built all with AJAX requests to allow ease of use and fast task creation
  • All you would ever want in a Task editor

Zone Tools: (Created by Akkadius)
I put this small tool together with the necessity of being able to copy zone data from one version to another without issues. The Georges editor one was great but I would find out that it would bomb on some zones and not sure why.
  • Thousands of lines of code were written in this one to give a really great zone copier for ease of creating a new zone with the base of another version of the zone
  • Zone Importer: Yes, I wrote this tool to also be able to establish a 2nd Database connection and import content from it, this is really almost too hot to share with anyone but I guess I'm a nice guy and want to see this community thrive :P
  • You can delete entire zone instances if you need as well as copy, you can keep original ID's or create new. All the options are given

Ok, so you have only 3 tools? Umm that's great?
- Well, you should find the tools here alone well worth your time, but if that really isn't enough for you, the PEQ Editor is wrapped inside this tool which requires you no setup whatsoever.
- To use the PEQ Editor tool, you will just need to establish a database connection initially like you did with the rest of the tools and you will be ready to go



Ok how do I get started Mr. Akkadius?
Well, this is the best part really, or the worst depending on what kind of a tight ass you are.

Right now, the only way to connect is going to be through 'Manual DB Connect' which honestly is GREAT, I will further explain my plans for this in a bit.

Manual DB Connect
  • To start, go here ->
  • You will need your Mysql server open to the world, I suggest using NOT root and a different user with a stupid LONG password
  • You will need your Mysql Server (IP, DB Name, DB User, DB Password), the validator will not let you pass until EOC can establish a connection with your server. Once you have done this, YOU ARE READY TO GO!

So using this tool you can edit your server within a matter of seconds without having to install a damn thing and it is actually extremely fast. The speed is going to vary on your MYSQL Servers connection and speed.

Is this secure?
Yes, it is about as secure as it's going to get, only Trevius and I oversee this project and we both place our integrity above ourselves as without it we would not hold the reputations we do.
We don't log database logins, and if you're really that concerned, use a test database or don't use this at all. I guarantee you will want to use this once you try it.

What if I wanted to let other developers use this tool on my server but not give them my DB info?
NOT IMPLEMENTED - BUT! - My immediate goal is to build a user system in which you can register a server and create 'developer' users in which you can assign permissions to which tools they can use and what they can do with those tools in regards to development as a server.

This would be ground breaking in the respect that there is always an issue to let strangers over the internet who seem like they want to help you but end up screwing you when you gave them too much handle too quick, this would resolve all of that.

Are there bugs?
LOL, probably. But most of it should be pretty smooth to boot. Please post any findings here and I or Trevius will address them when time permits.

Last edited by Akkadius; 12-17-2013 at 10:39 PM..
Reply With Quote
  #2  
Old 03-18-2013, 10:36 AM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

Creating a MySQL user: (By JSR)
If using Navicat;
- Click 'User' on the main ribbon
- Right click 'root@localhost'
- Choose 'duplicate user'
- In the username field, change it to something preferable to root_Copy (or keep it if you think it has a nice ring to it)
- In the host field, replace 'localhost' with '69.168.254.244'
- In the password/confirm password fields, enter a secure password. Note: A long password (e.g. dogsandcatslikerawfishfordinner) is exponentially more secure than one with uppercase, lowercase, numbers, and symbols while also being much easier to remember
- Under the advanced tab, change 'max user connections' to 1
- Under the server privileges tab, uncheck the privileges 'File', 'Process', 'Drop', 'Shutdown', 'Super', and 'Create user' (there may be others worth disabling)
- Click Save

If you're using mysql command line you're either a) clever enough to do this part by yourself, or b) you should really get a copy of Navicat as it will improve your quality of life.

To create a filewall rule:
In windows firewall
- Click new rule
- Select 'Port' and click next
- Select 'TCP and specific local ports', enter 3306, click next
- Select 'Allow the connection', click next
- Select the appropriate network type ('domain', 'private', 'public'). This will typically be private but if in doubt tick them all. Then click next
- Enter a name for the rule (e.g. Incoming Mysql), click finish

For extra security:
- Refresh the list of rules (F5)
- Locate the new rule (e.g. Incoming Mysql) in the list, right click and choose Properties
- Under the scope tab, find Remote IP address and select 'These IP addresses'
- Click Add, select 'This IP or subnet'
- Enter 69.168.254.244
- Click Ok, and then click Ok again

How does EOC Work from a network perspective?


Last edited by Akkadius; 09-08-2013 at 06:59 PM..
Reply With Quote
  #3  
Old 03-18-2013, 10:54 AM
Secrets's Avatar
Secrets
Demi-God
 
Join Date: May 2007
Location: b
Posts: 1,447
Default

Quote:
Originally Posted by Akkadius View Post
This is a placeholder post
You sit on a throne of lies, that is no placeholder post.

No, I'm joking, it's a pretty nice tool, and more people should use it.
Reply With Quote
  #4  
Old 03-18-2013, 10:58 AM
BlackSunGM
Fire Beetle
 
Join Date: Aug 2012
Posts: 19
Default

Looks really nice, cant wait to try it out!
Reply With Quote
  #5  
Old 03-18-2013, 11:09 AM
Weldarr
Sarnak
 
Join Date: Oct 2005
Posts: 45
Default

Just want to say, I spent a good hour reviewing it and playing with it and this is probably one of the best editor tools that I've ever used!

Many thanks to all the work that went into this.

- Vaion
Reply With Quote
  #6  
Old 03-18-2013, 12:27 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

Quote:
Originally Posted by Weldarr View Post
Just want to say, I spent a good hour reviewing it and playing with it and this is probably one of the best editor tools that I've ever used!

Many thanks to all the work that went into this.

- Vaion
Thanks for the kind words Vaion.

Looked forward to comments/suggestions and any bugs.

I will also determine the next feature to be implemented after I've had some feedback
Reply With Quote
  #7  
Old 03-20-2013, 01:47 PM
Gregk
Sarnak
 
Join Date: Mar 2010
Posts: 41
Default

Excellent! Thank you for sharing.
Reply With Quote
  #8  
Old 03-20-2013, 08:36 PM
jimrocken
Fire Beetle
 
Join Date: Aug 2010
Posts: 14
Default

tried playing with this... but because i'm behind a router it won't let me through :( so looks like i can't play with the new tool... any chance you can provide the source for those of us who have lan servers?
Reply With Quote
  #9  
Old 03-20-2013, 08:42 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

Quote:
Originally Posted by Akkadius View Post
[*] You will need your Mysql server open to the world, I suggest using NOT root and a different user with a stupid LONG password
If you're behind a router you're gonna need to open a port for the database connection. Your server doesn't need to be publicly accessible, but your database does.
Reply With Quote
  #10  
Old 03-20-2013, 09:49 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

Quote:
Originally Posted by lerxst2112 View Post
If you're behind a router you're gonna need to open a port for the database connection. Your server doesn't need to be publicly accessible, but your database does.
When I phrased 'Mysql Server' I was referring to the service that listens on port 3306 by default, not necessarily an entire server and all the services that may pertain to it.

Yes, you will need to open PNAT forwarding table for 3306 if that is the port you are using to listen on Mysql (default).

It may have been naive of me to assume that anyone who is actually running a server knows enough to know what it means to have a service opened to the world and that through setting up a server they have learned to forward ports for services.
Reply With Quote
  #11  
Old 03-20-2013, 10:21 PM
jimrocken
Fire Beetle
 
Join Date: Aug 2010
Posts: 14
Default

The problem I'm having is I use a public pay for use hot spot so I can't open ports
Reply With Quote
  #12  
Old 03-21-2013, 12:28 AM
Dunge0nMastr
Hill Giant
 
Join Date: Oct 2002
Location: Rockville, MD
Posts: 124
Default

This looks incredible. Great job guys. Been drooling over this ever since Secrets gave me a little peek. I will be putting it through its paces when i get back from PAX monday :P

Great work guys!
-Bront
__________________
Bront -Server Admin/Owner and Lead Quest Dev for Kildrukaun's Prophecy
http://kpemu.com/
Reply With Quote
  #13  
Old 03-21-2013, 12:57 AM
sorvani
Dragon
 
Join Date: May 2010
Posts: 965
Default

Is the webserver IP static? so that I can restrict the port forward to your IP address?
Reply With Quote
  #14  
Old 03-21-2013, 01:01 AM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

Quote:
Originally Posted by sorvani View Post
Is the webserver IP static? so that I can restrict the port forward to your IP address?
Yes, it's a static and I don't plan on changing it anytime soon.

I'm going to be moving the server itself to another rack but I should be able to route all of the statics over to the new rack once that time comes. All irrelevant detail to you, lol.
Reply With Quote
  #15  
Old 03-23-2013, 02:20 AM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,071
Default

Item Editor:

I've spent about 3 hours reworking grouping code for the Item Editor so that visually a developer can easily identify with section groupings and quickly edit the fields they find relevant. Because the entire editor is built on array iterations (literally all aspects) it made it a little bit more difficult to add selective grouping for fields but now that it is in place it is easy to move the format into other display methods.

All merely visual changes. Yeah it's small but I launched the BETA with default array iterations and all of the fields were clumped together and didn't make much sense beyond some of the sub sections.

Next Additions:
- Copy Button - Similar to that of Georges tools
- Statistic range scaling - Scale statistic ranges based on a min - max
- Entire item scaling - Give three criterion (Level, Class type [leather/cloth/chain/silk], Content Type [Solo/Group/Raid]) and it will spit back out AJAX automatically suggesting and changing fields automatically to scale an item to ideal and mathematically calculated statistics before tweaking.

I'm not opposed to any suggestions regarding the tool as I've not really treated it as finished but is still yet very functional and useful for anyone looking to create items easier.

Some pictures of changes just so people have something to look at, apparently my print screens turned out big as hell. I don't care right now so you can deal with it or log into EoC yourself.



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 09:05 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