EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   EQEmu Operations Center (https://www.eqemulator.org/forums/forumdisplay.php?f=679)
-   -   EOC BETA Launch (Developer's Tool) EQEmu Operations Center (https://www.eqemulator.org/forums/showthread.php?t=36662)

Akkadius 03-18-2013 10:35 AM

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

http://eoc.akkadius.com/AC/eoc/images/PEQ_Logo.png

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 -> http://eoc.akkadius.com/AC/eoc/images/eoc-fd.png
  • 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.

Akkadius 03-18-2013 10:36 AM

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?

http://i.imgur.com/ZvxLMB4.png

Secrets 03-18-2013 10:54 AM

Quote:

Originally Posted by Akkadius (Post 219580)
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.

BlackSunGM 03-18-2013 10:58 AM

Looks really nice, cant wait to try it out!

Weldarr 03-18-2013 11:09 AM

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

Akkadius 03-18-2013 12:27 PM

Quote:

Originally Posted by Weldarr (Post 219584)
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

Gregk 03-20-2013 01:47 PM

Excellent! Thank you for sharing.

jimrocken 03-20-2013 08:36 PM

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?

lerxst2112 03-20-2013 08:42 PM

Quote:

Originally Posted by Akkadius (Post 219578)
[*] 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.

Akkadius 03-20-2013 09:49 PM

Quote:

Originally Posted by lerxst2112 (Post 219719)
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.

jimrocken 03-20-2013 10:21 PM

The problem I'm having is I use a public pay for use hot spot so I can't open ports

Dunge0nMastr 03-21-2013 12:28 AM

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

sorvani 03-21-2013 12:57 AM

Is the webserver IP static? so that I can restrict the port forward to your IP address?

Akkadius 03-21-2013 01:01 AM

Quote:

Originally Posted by sorvani (Post 219727)
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.

Akkadius 03-23-2013 02:20 AM

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. :)

http://i.imgur.com/euA7bZO.jpg
http://i.imgur.com/VB6GPy2.png
http://i.imgur.com/CmvZWj7.png


All times are GMT -4. The time now is 07:52 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.