Tag Archives: EVE Online

EVE API 6.3.1 for phpBB 3.0.12

Hereby I’m releasing version 6.3.1 of my EVE Online API for phpBB mod.
The following things have changed:

  • Fully integrated OpenFire support! Can be used on EVE entities, as well as groups. Uses the self-built PHP OpenFire UserService class, more details on this class can be found here.
  • Forum should now properly ask to be set as trusted again when using the ingame browser.
  • AccessMasks should now properly be verified if AccessMask is set higher than default.
  • Made the api key link from eveapi_update.php page listen to the AccessMask set in the ACP.
  • Updated the database to Rubicon 1.1.

Quick how-to on the updating process from 6.3.0;

  1. Uninstall EVE API 6.3.0 from the AutoMOD section of the ACP.
  2. Clear forum cache
  3. Upload and install EVE API 6.3.1 to the AutoMOD section of the ACP.
  4. Clear forum cache again
  5. Go to forum.com/install and select update
  6. Once installed, delete the install folder from your forum
  7. Use AutoMOD to make the required changes to your custom template (if required)
  8. Cycle through each of the EVE API setting pages and save them
  9. Cycle through each of the forum group setting pages and save them
  10. Clear forum cache one last time, and we should be done.

If you’d like to have a bit more insight in this process, please watch the slightly outdated 6.2.0 Installation and Configuration video on Youtube as that video should explain a very similar process. The Youtube videos can be found here.

 

EVE Online topic: https://forums.eveonline.com/default.aspx?g=posts&t=21281
EVE Online forum post: https://forums.eveonline.com/default.aspx?g=posts&m=4269569#post4269569

Jabber, the next step – OpenFire

One of the returning requests of new features for the EVE Online API for phpBB mod is the support for OpenFire. OpenFire, previously known as WildFire and Jive Messenger, is a JAVA based Jabber server. When comparing it to ejabberd, which is the only Jabber integration currently in my mod, OpenFire clearly stands out. Its ACP is easy to use, has tons of options that can be extended by plugins if needed.

An annoyance I found however is the need to maintain an administration twice. Unlike ejabberd, OpenFire doesn’t support external authentication, meaning that each forum account that requires access to its services needs to have a local OpenFire account. As a forum account already exists, creating and maintaining an OpenFire account seems unnecessary and should be avoided.

By default OpenFire doesn’t support an automated way of creating and maintaining its accounts either. Luckily there’s an official plugin that can help us out; User Service, which can be automatically installed using the built-in plugin manager. User Service is an HTTP listener that has the ability to add/update/remove accounts and set/unset groups to an user in realtime.

In the end I think OpenFire integration will be a good step forward for my mod. Not only tdealwithitbecause of its features, but also because it has been requested a couple of times already. I really thought ejabberd was a good alternative, but looking back at the feature difference it is clear I was wrong. OpenFire, if you behave, you shall be in version 6.3.1 of my mod.

My story of PHEAL

When I took over the “job” of maintaining the EVE API for phpBB mod back in 2010 there was much to be done. It only had the functionality to set a single forum group for either one corporation or one alliance. No TeamSpeak integration, no Jabber integration, and only based of a simple XML request without caching or error checking. Yes it was still working, but the increased popularity of the EVE Online API caused more strain on the API servers which became more and more unstable.

Simply put, I was in need of something that would obey the API’s rules of caching and error handling. I came up with two possibilities: Pheal and Yapeal. Pheal focussed more on grabbing the information and doing something with it straight away, while Yapeal had the ability to throw it in a database to look at it later. As I was only in need of smaller snippits of information that needed processing straight away, I ended up choosing for Pheal.

I changed the code to use Pheal where possible, increased the amount of features the mod had and added proper error checking to not spam the API servers when it’s not receiving the expected response. Pheal uses either cURL or url_fopen to request data from the EVE API servers. Where url_fopen is best used accessing local files, cURL allows for exotic options (like setting the user agent, adding timeouts, etc) which is perfect for accessing internet files and services. Not to mention that url_fopen is often blocked by hosters for security reasons. So cURL it is.

A problem with cURL however is that by default it doesn’t have any certificates installed. Without the proper certificates I would not be able to request/access secured content using cURL over SSL. As SSL was now mandatory for EVE Online API requests, this became a big problem. It wasn’t a simple fix of installing the certificate either, as it would have to be done to each webhosting server that uses my mod.

I decided on using a much simpler but more “hacky” solution; I added the required certificate to my mod and changed the cURL code within Pheal to use that certificate. Example below, where you can see I added the code just before the cURL connection was made, while I also had to add a simple path fix to be sure the certificate was properly loaded from the phpBB ACP.

 

EVE API 6.3.0 for phpBB 3.0.12

Happy New Year! :Grin:

Hereby I’m releasing version 6.3.0 of my EVE Online API for phpBB mod.
The following things have changed:

  • NOTE! Remember to update your Special Group permissions in each of the Group settings screen, as the main Special Group checks from the EVE API General tab are now removed!
  • Fix for Subsilver2 based templates; body belongs in overall_header, not in overall_footer
  • Faction Warfare integration should now work without errors again
  • Updated PHEAL to support the new way the EVE API handles its errors. It will return XML as body with HTTP statuscode on errors, after which PHEAL filters the errors and sends them back as PhealAPIException (in short: Back to semi-old method).
  • Updated the database to Rubicon 1.0.4.
  • Jabber authentication is now based on forum groups and EVE entities.
  • TeamSpeak groups are now able to be set by forum groups.
  • Improved TeamSpeak error handling. Users should now be able to see why their TS UID is not being saved.
  • Return of the Quick Reply on Prosilver themes.
  • Customizeble AccessMask using the ACP (new module).
  • Fix for ‘TeamSpeak3 class not found’ fatal error, which happened under certain rare configurations.
  • Updated TeamSpeak3 PHP Framework to 1.1.23 from 1.1.18. (Requires TeamSpeak3 Server 3.0.9 or newer.)

Version 6.3.0 requires phpBB 3.0.12.
In order to update from phpBB 3.0.11 to phpBB 3.0.12 while using my mod, please follow the following small guide.

  1. Upload the root/install folder from the 6.2.4 package to the root of your forum.
  2. Browse to forum.com/install and select to Uninstall.
  3. Once uninstalled, delete the install folder from your forum.
  4. Uninstall the 6.2.4 mod from AutoMOD using the ACP.
  5. Once uninstalled, delete the 6.2.4 package from AutoMOD.
  6. Clear forum cache!
  7. You can now upgrade your forum to 3.0.12, default phpBB upgrade procedure applies.
  8. Once phpBB 3.0.12 is installed, delete the install folder from your forum.
  9. Upload and install version 6.3.0 of the mod.
  10. Once installed, browse to forum.com/install and select Install to install the database part of the mod.
  11. Clear forum cache!
  12. Go to the new AccessMask module and set the requested AccessMask.
  13. Go to each Forum group (Users and Groups – Manage Groups) and set the correct Immunity, TeamSpeak and Jabber permissions to each group.
  14. Once done, clear the forum cache again, as you can’t do that enough!

If you’d like to have a bit more insight in this process, please watch the 6.2.0 Installation and Configuration video on Youtube as that video should explain a very similar process. The Youtube videos can be found here.

Please be aware that increasing the required AccessMask for users can cause users to have their accounts disabled, as their currently configured cgrazzAccessMask might not match your newly set AccessMask. To be on the safe side only select the bare minimum required, which is Public – CharacterInfo (and Public – FacWarStats if you use the Faction Warfare integration).
You have been warned!

 

EVE Online topic: https://forums.eveonline.com/default.aspx?g=posts&t=21281
Original post: https://forums.eveonline.com/default.aspx?g=posts&m=4062800#post4062800