Page 1 of 1

Problem with tain plugin finder

Posted: Sat Aug 06, 2011 6:43 pm
by Isolder
A plugin was uploaded to the Tain by Sublime. WWII_Devils_Backbone - http://tain.totalcodex.net/items/show/wwii-devils-backbone

When he was hosting on Mariusnet.. trying to join his red game, the search via the missing plugins dialog came up not found. Manually downloading from the Tain and installing the plugin made it possible to join. Why wasn't it found by the plugin finder?

It was discovered that he had 1) resubmitted his plug since initial uploading and 2) changed the name of the new plugin after building it in Fear. The internal name of the plugin was WWII_Devils_Backbone_final while the external plugin name is WWII_Devils_Backbone.

Plugin information for WWII_Devils_Backbone on the Tain database, according to Melekor:

Code: Select all

mysql> select * from plugins where name = "WWII_Devils_Backbone_final";
+------+---------+----------------------------+----------------------------+----------------+------------+
| id   | item_id | filename                   | name                       | url            | checksum   |
+------+---------+----------------------------+----------------------------+----------------+------------+
| 2659 |    1906 | WWII_Devils_Backbone_final | WWII_Devils_Backbone_final | www.bungie.com | 1935187912 |
+------+---------+----------------------------+----------------------------+----------------+------------+
1 row in set (0.00 sec)
Notice how the SQL entry lists both the file name and the internal name as WWII_Devils_Backbone_final, even though the zip file available on the tain has the file name without "_final". This, I believe, at least explains why the Missing Plugins dialog was not able to find WWII_Devils_Backbone. It simply was not in the database entry. But why did the file name have "_final"?

We know internal name and file name don't have to match, as can be shown by Chimera Multiplayer:

Code: Select all

mysql> select * from plugins where checksum = 2689834389;
+------+---------+-----------------------------+--------------------+----------------+------------+
| id   | item_id | filename                    | name               | url            | checksum   |
+------+---------+-----------------------------+--------------------+----------------+------------+
| 1694 |     841 | Chimera/Chimera Multiplayer | Chimera_Netmap_FC3 | www.bungie.com | 2689834389 |
+------+---------+-----------------------------+--------------------+----------------+------------+
1 row in set (0.00 sec)
Sublime added "_final" to the name of the plugin he was hosting with and it made it possible to find via the Missing Plugins dialog. That was expected since that's what the sql entry had.

Without knowing what the process is for plugin approval, uploading and the resubmission script, I could only guess where the problem is: user error? bad resubmit script? Somewhere along the line the filename in the DB entry was not properly updated.

Re: Problem with tain plugin finder

Posted: Sat Aug 06, 2011 8:08 pm
by Myrd
Looks like Myth is querying The Tain via the actual filename whereas The Tain matches via internal filename. Good find!

Re: Problem with tain plugin finder

Posted: Sat Aug 06, 2011 8:14 pm
by Melekor
Why is it that Chimera can be matched either way, but Sublime's plug can't?

Re: Problem with tain plugin finder

Posted: Sat Aug 06, 2011 8:23 pm
by Myrd
Hmm, looking at the code - The Tain already falls back to filename if internal name doesn't match. Will need to investigate further.

Re: Problem with tain plugin finder

Posted: Sat Aug 06, 2011 8:36 pm
by Myrd
All right, should be fixed. Problem was caused by a recent bug in the plugin indexer - the reason it didn't affect Chimera is because that plugin was indexed with the old code which didn't have the bug. I've fixed the bug and re-indexed all the plugins, so should be all good now.