EDK 4.4.2.0 (Onslaught 1.0)

EDK releases + Open discussion and chat about EDK.
User avatar
Salvoxia
Developer
Posts: 1598
Joined: Wed Feb 22, 2012 12:11

EDK 4.4.2.0 (Onslaught 1.0)

Post by Salvoxia »

\o guys,

with the Onslaught release, there's also a new update for EDK.

A while ago, a breaking change was introduced to zKB's API. There was a hotfix available for EDK 4.4.2.0, but you had to apply that manually.
EDK 4.4.2.0 of course contains this fix, making zKB Fetch working again out of the box.

EDK has been updates with a newly generated ESI client library, however no endpoints relevent to EDK has been changed since the last release.

This version also correctly handles the new Precursor Ships (and is prepared for the upcoming precursor Logistics ships to be introduced in December), as well as the AT XVI prize ships.

A new option has been added to ESI fetching: You can now configure the maximum number of consecutive failed SSO attempts per key, before that key is ignored in the ESI fetch cron job. You'll find that option in ACP -> SSO Keys.

And the last, but not least, changes are courtesy of jbs1, thank you so much for contributing!
He updated the AJCron module to accept common crontab syntax for setting up jobs, while still supporting the legacy syntax:

Code: Select all

=========
Format
=========
ajcron supports 4 different formats for cronjob.
a simple time (hh:mm) eg. 06:43 means, the job will be executed once per day at that time
a format like this "/13" means, the jobs will be executed every 13 minutes during the hours eg. 0,13,26,39,52
a format like this "25/13" means, the jobs will be executed every 13 minutes during the hours after the 25 of eg. 26,39,52
a format like this "[10,23,43]" means, the job will be execute evey hour at the minutes 10,23 and 43

He also added a new modifier to EDK's IDFeed, for returning information of specific kills in JSON format.
The new modifier is called "output", may have the values "xml" (default), "edk" or "json" and only works if "kll_id" or "kll_ext_id" is given.
  • xml - keeps the default behavior and returns the given kill in EDK's IDFeed format
  • edk - uses JSON output and only returns the internal and external kill IDs as well as the kill's hash (so you can get hold of the complete kill by fetching it from ESI)
    Example:

    Code: Select all

    http://www.yourcorp.com/killboard/?a=idfeed&kll_id=5202&output=edk
    (to retrieve the kill's external ID and hash)
  • json - puts EDK into kind of a proxy mode and returns the kill in the same format as ESI does (but you don't have to fetch it yourself and don't need to know the hash)
    Example:

    Code: Select all

    http://www.yourcorp.com/killboard/?a=idfeed&kll_ext_id=196602019&output=json
    (to fetch the kill in ESI format)


Download:
Full Install Package 4.4.2.0: Download (MD5: D31AEB2B944D9AF1412C02B990E4A925)
Update 4.4.1.0 - 4.4.2.0: Download (MD5: 81DA47C0431039E7618E55CD643FE62E)


Database only:
Download the standalone database update for of EDK4.2+ here: Download (MD5: F0ADC47BB3217FD9DC8AC1BAEB02D33D)



Release Notes:
List of new features
  • Updated EDK to 4.4.2.0 and CCPDB to Onslaught 1.0.20181113
  • Update ESI client with _latest version on 2018-11-13
Enhancements:
  • SSO: Introduce max number of failed SSO attempts to config
  • IDFeed: New json output now observes configured ESI host and data source
  • ZKBFetch: Updated to work with recent changes in ZKB API which only returns the kill ID, hash and some other context information, but no longer the complete kill data. Updated zKBFetch versio
  • extended ajcron with 1 additional format
  • extend idfeed with json for single killmails and ids/hashes
  • added keepstar to valuefetcher and removed evecentral sync
  • ZKBFetch: Properly recognize errors thrown by zKB API (with HTTP 200)
Bugfixes:
  • Fix for zkBFetch error recognition
  • Corp Details: Fixed displaying shares
  • Alliance Details: Fixed displaying ally ticke


Installation Instructions:

New Installations
  • Upload the whole package to a webhost
  • Point your webbrowser to /install inside the EDK directory
  • Follow the instructions
  • Delete the install folder after installation
  • If no pilot images are displayed check that the server has write permission to the cache folder.
Manual upgrade
  • Backup the existing database and files
  • Remove or rename all files in the killboard folder other than [kbfolder]/kbconfig.php
  • Upload the new package to the killboard folder
  • Remove install folder
  • Move your mods back from the backup to the mods folder.


Update from 4.4.2.0:

Auto Updater
  • Backup the existing database and files
  • Enter the admin control panel
  • Select the option "Upgrade" from the menu on the right
  • If the code update to Version 4.4.1.0 doesn't show up in the list, select the link at the bottom saying "retrieve update description file now"
  • Click "Download"
  • Click "Apply"
  • Database update process starts, follow instructions
  • DONE \o/


Manual upgrade
  • Download the Update 4.4.2.0 - 4.4.1.0 (see above)
  • Backup the existing database and files
  • Upload the contents of the update package to your webhost
  • DONE


Known issues:
1. Kill posting throws an error for specific kills (e.g. attackers including Standup Fighters)
A hotfix is available:
  • replace your common/includes/class.corporation.php with this one (right click -> save as)
  • replace your common/includes/class.esiparser.php withthis one (right click -> save as)

2. Error when trying to view an entitie's stats page
A hotfix is available:
  • replace your common/includes/class.corporation.php with this one (right click -> save as)
  • replace your common/includes/class.pilot.php with this one (right click -> save as)
  • replace your common/includes/esi/class.esi.php with this one (right click -> save as)
  • replace your common/includes/esi/class.esifetch.php with this one (right click -> save as)
or refer to this commit on GitHub.


3. ZKBFetch throws error "Both startime and endtime are required when one or the other is given, Start time = YYYY-mm-dd HH:mm"
A hotfix is available:
  • replace your common/includes/class.zkbfetch.php with this one (right click -> save as)
  • replace your common/includes/constants.php with this one (right click -> save as)
Best Regards,
Salvoxia
User avatar
Dism0
Active Author
Posts: 158
Joined: Fri Jul 06, 2012 01:42

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by Dism0 »

anyone else getting errors when pulling esi and zkb?

Code: Select all

2018/11/24 03:27:43 - Starting zKB Import
2018/11/24 03:27:43 - Error reading feed: https://zkillboard.com/api/corporationID/1268626349/
2018/11/24 03:27:43 - Error getting data: error setting certificate verify locations:
CAfile: /homepages/30/d678292045/htdocs/kb/cache/cert/cacert.pem
CApath: /etc/ssl/certs(77), Start time = 2018-11-22 01:00:00
2018/11/24 03:27:43 - Time taken = 0.012248992919922 seconds.
User avatar
Salvoxia
Developer
Posts: 1598
Joined: Wed Feb 22, 2012 12:11

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by Salvoxia »

Hi,

is it possible that that file was removed during a manual cache clean or something?
EDK brings its own Root Certificate Authority bundle, because too many servers did not have an up-to-date one in the past, and to make sure SSL connections can be used without disabling certificate checks, a separate CA bundle is included in the installation.
If it's missing, but explicitly set, such an error might occur.

Best Regards,
Salvoxia
User avatar
Dism0
Active Author
Posts: 158
Joined: Fri Jul 06, 2012 01:42

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by Dism0 »

re-upped the cache dir from the full install download. everything working again.

on another note.. this kill is showing up but i dont have NPC kills turned.

http://sltkcorp.com/kb/?a=kill_detail&kll_id=149669

maybe need to update the filter?
User avatar
Salvoxia
Developer
Posts: 1598
Joined: Wed Feb 22, 2012 12:11

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by Salvoxia »

Hi,

thanks for the heads-up.
Maybe Drifters need to be hardcoded as NPCs, since the Characters behave just like player characters towards the API.
"Normal" NPCs do not have names and no character ID. But the Tyrannos "family" does.
I'll take a look.

Best Regards,
Salvoxia
User avatar
Dism0
Active Author
Posts: 158
Joined: Fri Jul 06, 2012 01:42

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by Dism0 »

could be a separate option in the admin panel.. filter abyssal deaths or something along those lines. could be cool.
User avatar
Dism0
Active Author
Posts: 158
Joined: Fri Jul 06, 2012 01:42

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by Dism0 »

i was thinkin about an extra feature of a mod of some sort to be able to manually tag a kill with a REKT, GANKED, CAPITAL, SOLO tag to bring attention to it. could be a graphic.. could be text.. could be some sort of setting either way. just a thought to add something new to EDK.
Redhouse
Apprentice
Posts: 49
Joined: Sun Mar 18, 2012 17:12

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by Redhouse »

Looks to be working fine for me. Thanks.
User avatar
Dism0
Active Author
Posts: 158
Joined: Fri Jul 06, 2012 01:42

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by Dism0 »

anyone else getting this error when running the zkb cron manually?

Code: Select all

2019/01/18 03:24:52 - Starting zKB Import

Fatal error: Out of memory (allocated 417333248) (tried to allocate 20480 bytes) in
/homepages/xx/xx/htdocs/kb/common/includes/class.dbnormalquery.php on line 36
1450
Greenhorn
Posts: 16
Joined: Thu Jan 16, 2014 03:55

Re: EDK 4.4.2.0 (Onslaught 1.0)

Post by 1450 »

Not tried zKB but ESI pulling is broken with killmails involving Standup fighters, keepstars

common/includes/class.esiparser.php: - Around line 641:

Code: Select all

                    throw new EsiParserException("Involved party is an NPC with a ship type not found in the database! Kill-ID: ".$this->externalID);
                }
                $involvedPartyName = $Corp->getName().' - '.$Weapon->getName();
                // citadels are no NPCs!
                if($Ship->getClass()->getID() != ShipClass::$SHIP_CLASS_ID_CITADELS)
                {
                    $isNPC = TRUE;
                }
                $characterId = 0;
            }

            else
            {
                    $Weapon = Item::getByID($involvedParty->getWeaponTypeId());
            }
The weapon getByID appears to run a continual select loop looking for an item with ID 0 until it hits the memory_limit (Over 6GB in my case)

Code: Select all

PHP Fatal error:  Uncaught Error: Maximum function nesting level of '256' reached, aborting! in /var/www/html/kb/common/includes/class.item.php:72
Stack trace:
#0 /var/www/html/kb/common/includes/class.cacheable.php(74): Item->getID()
#1 /var/www/html/kb/common/includes/class.item.php(64): Cacheable->isCached()
#2 /var/www/html/kb/common/includes/class.cacheable.php(36): Item->__construct(0)
#3 /var/www/html/kb/common/includes/class.item.php(382): Cacheable::factory('Item', 0)
#4 /var/www/html/kb/common/includes/class.item.php(250): Item::getByID(0)
#5 /var/www/html/kb/common/includes/class.item.php(393): Item::lookup('#System')
#6 /var/www/html/kb/common/includes/class.item.php(250): Item::getByID(0)
#7 /var/www/html/kb/common/includes/class.item.php(393): Item::lookup('#System')
#8 /var/www/html/kb/common/includes/class.item.php(250): Item::getByID(0)
#9 /var/www/html/kb/common/includes/class.it in /var/www/html/kb/common/includes/class.item.php on line 72
Post Reply