PDA

View Full Version : "Roster Master" - Guild Roster for Your Personal Guild Website


Pages : 1 [2] 3 4

Dark_Grue
05-08-2007, 12:50 PM
<cite>Seagoat wrote:</cite><blockquote>Lantis@Antonia Bayle wrote: <blockquote>I have completed the ring event, killing a whole slew of bugs, quirks and albinos ninjas armed with wheellock pistols, and this is what dropped: <span style="font-size: medium"><span style="color: #ffff00"><u>RosterMaster Stand Alone 2.2.0</u></span></span> </blockquote><p> LOL</p></blockquote><p>Hey! I <i>started</i> that whole funny-saying-before-the-release-notes thing, and I don't get teh LOLs! I even busted out the Mothra and everything... /grumble</p><p>If imitation is the sincerest form of flattery, is litigation the same, but for envy? My lawyers will be in touch! <img src="/smilies/0320a00cb4bb5629ab9fc2bc1fcc4e9e.gif" border="0" alt="SMILEY" /></p><p><span style="font-size: xx-small">Besides, everyone knows that pirates can kick ninja's [Removed for Content], even albino ones.</span></p>

Seagoat
05-08-2007, 01:00 PM
<p>Aww, c'mon...my "LOL"s at your jokes are always implied, Grue!  <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />  The Mothra joke did invoke strange mental images of the Mothra Fairies, though, and that creepy little song.  I was chuckling about that one for a couple of days, trust me!</p><p>ITA on the pirates.  If Lantis won a battle vs. albino ninjas, does that mean he's a pirate too?!  <img src="/smilies/385970365b8ed7503b4294502a458efa.gif" border="0" alt="SMILEY" /></p>

Lantis
05-08-2007, 08:07 PM
Back when I was developing software for the AmigaOS platform, I would usually leave one easter egg in almost every  program I developed.  My favorite one would, when pressing the correct key sequence, display a window stating: "I'd like to change the world, but they won't give me the source code" Good times... <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> And finally... more food for thought here for you:  how comes a (pirate) chest dropped off ninjas? <walking away, leaving people even more confused>

Dark_Grue
05-10-2007, 09:01 PM
Seagoat wrote: <blockquote>ITA on the pirates.  If Lantis won a battle vs. albino ninjas, does that mean he's a pirate too?!  <img src="/smilies/385970365b8ed7503b4294502a458efa.gif" border="0" alt="SMILEY" /></blockquote><p>Hmmn, Lantis being a pirate <b><i>is</i></b> a chilling thought, but when forced under the keen edge of Occam's Razor, I think we can bring him to heel: <i>not all who defeat ninjas are pirates</i>.</p><p>Of course, should that logic fail, we know how to deal with pirates:</p><p><img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> </blockquote> </p><p>I too, leave easter eggs in my software. But, for some reason, people keep mis-identifying them as <b><i>bugs</i></b>! Imagine! It just goe to show how The Man is crushing the creative spirit of we poor, benighted, Open Source authors...</p><p><b><i>Lantis@Antonia Bayle</i> wrote: </b></p><blockquote>And finally... more food for thought here for you:  how comes a (pirate) chest dropped off ninjas? <walking away, leaving people even more confused> </blockquote><p><img src="http://www.gamerswithjobs.com/files/images/Objection1.thumbnail.jpg" border="0"></p><p>There was no pirate chest introduced in the discovery phase, your honor! Furthermore, the arbitrary labeling of a chest in the possession of a ninja is, by definition, ninja lewts!</p><p>Ladies and gentlemen of the jury, Lantis would have you believe that ninjas can take pirate lewts. And they make a good case. Hell, I almost felt pity myself! But, ladies and gentlemen of this <i>supposed</i> jury, I have one final thing I want you to consider. Ladies and gentlemen, <i>this</i> is Chewbacca. Chewbacca is a Wookiee from the planet Kashyyyk. But Chewbacca <i>lives</i> on the planet Endor. Now think about it; <i>that does not make sense</i>! </p>

Seagoat
05-10-2007, 09:09 PM
<p>OMG!!  It's the Chewbacca Defense!  Everybody RUN!!</p><p>Someone, please save us from ourselves...throw us a project update or something, before things get <i>really</i> hairy.  And when I say <i>really</i> hairy, I mean harrier-than-<i>Chewbacca</i>-hairy, which is pretty [Removed for Content]' hairy.</p>

Lantis
05-11-2007, 02:16 AM
Oh noes!  He's using the Chewbacca defense!  Your honor, we'd like to change our plea to 'guilty'. <img src="/smilies/69934afc394145350659cd7add244ca9.gif" border="0" alt="SMILEY" /> Project update...  Hm...  Not much for me lately, just some code in the piechart generation code to ensure better contrast between background and text colour for broken browsers.  And some experiment with short scripts that will pull data from the database, and output simple stats from it.  Mostly of interest to use on portals, as a sidebar block. I'm also in touch with someone making a vBulletin port of RMSA.  Yay for another head to the RosterMaster hydra! Otherwise, the last big feature that was on my ToDO list was implemented in 2.1.0 (the charts).  Time for a well-earned break I guess. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> How about you Grue?

Dark_Grue
05-11-2007, 09:48 PM
Lantis@Antonia Bayle wrote: <blockquote>Time for a well-earned break I guess. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> How about you Grue? </blockquote><p> I'm taking a break as well while new ideas percolate. It took a long while to get v6 stable, and after having to rapid-fire 5 point patches out... probably a good idea to enjoy the stable version, sit back, do some other things for a bit and recharge.</p><p>I think the next big feature will be a re-write of the quest trackers. I'm probably going to unify them into one module and restructure the quest arrays into one big structure that can handle multiple quest types (and multiple steps in a single series). I haven't started on that because I look like a raccoon with these rings under my eyes already.</p><p>I see you've added graphing. I must tip my hat to you, I <a href="http://www.gue-tech.org/quake/qstatlist/index.html" target="_blank" rel="nofollow">did something similar when I wrote QstatList</a> (I wish I had screenshots of it running now, it really was pretty impressive... alas). Was a unique feature at the time, and very interesting to do. Got to learn a lot more about the [Removed for Content] library and Perl as a result. I don't know I'd backport the feature into RM4DF (if people insisted on it, I guess). But I bet it was fun, challenging, and interesting to do. <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" /></p>

Lantis
05-12-2007, 01:05 PM
<cite>Dark_Grue wrote:</cite><blockquote><p>I see you've added graphing. I must tip my hat to you, I <a href="http://www.gue-tech.org/quake/qstatlist/index.html" target="_blank" rel="nofollow">did something similar when I wrote QstatList</a> (I wish I had screenshots of it running now, it really was pretty impressive... alas). Was a unique feature at the time, and very interesting to do. Got to learn a lot more about the [Removed for Content] library and Perl as a result. I don't know I'd backport the feature into RM4DF (if people insisted on it, I guess). But I bet it was fun, challenging, and interesting to do. <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" /></p></blockquote>Actually I went the easy way - I found an open source PHP script that would take a list of names and values as argument, and output a piechart out of it.  The original script would output JPEGs - I modified it a bit to output transparent PNGs instead.  It was pretty much an evening or two of work there, the longest was having to write the code to support data pulling from both the database and the flatfile. The whole RMSA project has been a learning experience for me - my previous PHP experience could be summed up in about 20 lines of code for my old website's menu.  And RMSA was also my first steps into working with SQL databases.  So I'd say the whole RMSA project has been fun, challenging and interesting to do. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Shaister
05-16-2007, 07:51 AM
Hi & congratulations on a great addition to any EQ2 website, very easy to use & simple to set up<img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" />. Well, it was simple when I set it up on a test server (I use DragonflyCMS & the RosterMaster module for it) but I have a bit of a problem that I just can't seem to figure out as to why it's happening on the main site we're putting together but not my test server<img src="/smilies/c30b4198e0907b23b8246bdd52aa1c3c.gif" border="0" alt="SMILEY" />. Anyway, the problem is this... When I set it up on my test server all went perfect, I could get the blocks on the left & right to display perfectly etc etc but on the main server we installed DragonflyCMS, no issues there, then installed Rostermaster for Dragonfly, all seemed fine except that we can't get the blocks to display on the left side (yes, we have played with the setting for the module in the admin panel lol). You can take a look to see what I mean by going to <a href="http://www.teutonic-knights.net/index.php?name=Roster_Master " target="_blank" rel="nofollow">http://www.teutonic-knights.net/ind...er_Master </a> all other pages dispaly the modules correctly. I would post any other info but not sure what else you would need so if i can help any further I would be more than happy to. Any ideas on what may be causing my dilemma??? Many thanks in advance Shaister

Silverpaws
05-16-2007, 11:01 AM
Thanks for the updated stand alone. I was wondering what I needed to do to add the quest column.  I dont know php/sql very much, so be gentle. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Lantis
05-16-2007, 11:30 AM
Denuve@Mistmoore wrote: <blockquote>Thanks for the updated stand alone. I was wondering what I needed to do to add the quest column.  I dont know php/sql very much, so be gentle. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> </blockquote>Log in into the Configuration module, select 'Edit Configuration'. Under the 'Display Settings' section edit the "List of columns to display" entry.  Insert 'quests' where you want the Quests column to display.  Save settings, then return to the roster.

Dark_Grue
05-16-2007, 12:25 PM
Shaister@Runnyeye wrote: <blockquote>Anyway, the problem is this... When I set it up on my test server all went perfect, I could get the blocks on the left & right to display perfectly etc etc but on the main server we installed DragonflyCMS, no issues there, then installed Rostermaster for Dragonfly, all seemed fine except that we can't get the blocks to display on the left side (yes, we have played with the setting for the module in the admin panel lol). You can take a look to see what I mean by going to <a href="http://www.teutonic-knights.net/index.php?name=Roster_Master " target="_blank" rel="nofollow">http://www.teutonic-knights.net/ind...er_Master </a> all other pages dispaly the modules correctly. </blockquote><p>It's a side-effect of the new way blocks are handled/displayed. It's a Dragonfly feature, not an issue with Roster Master. It's just that the DF feature is a little counter-intuitive. And, at one point, there was also a bug in the way new blocks were displayed.</p><p>Go into the DF Admin console, then go to Blocks Administration. Edit the blocks you want to appear. You'll see a listing of modules where this block should appear in a multi-select list. Highlight the modules where you want the block to appear and save the changes. I'd bet good money that Roster Master isn't currently selected for any of your blocks, and that's why none are displayed.</p><p>I believe there's also a setting in Module Administration on a per-module basis that says display blocks left, right, both, none that also needs to be set appropriately (though I believe the default is "both&quot<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />.</p><p>I don't have my admin panel in front of me, so I'm describing from memory... </p>

Shaister
05-16-2007, 01:24 PM
WOW!!!! Fantastic, thanks Dark_Grue, it worked perfectly, you have a great memory<img src="/smilies/97ada74b88049a6d50a6ed40898a03d7.gif" border="0" alt="SMILEY" />. I'm very happy now, your module is a "must have".

Dyse
05-16-2007, 02:06 PM
<p>  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />  Just checking in.  Things are still working great.  Although I still can't 'Upgrade' it works fine on 6.0.5.</p><p> Question,  does the 'Block' module  Update on the 24 hour or just when someone enters the Module?  Just wondering why sometimes it takes forever and a day for our site to come up. (Generally once per day)</p><p>  <a href="http://www.eq2daggers.com/" target="_blank" rel="nofollow">www.eq2daggers.com</a></p><p>--Edit:  yeah, I know the Banner went back to DF's... but upgraded to the 9.2.2.1.2.3.2. or whatever.  I'm just to lazy to pull a backup of the logo <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /></p>

Dark_Grue
05-16-2007, 05:10 PM
<cite>Dyse wrote:</cite><blockquote>  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />  Just checking in.  Things are still working great.  Although I still can't 'Upgrade' it works fine on 6.0.5.</blockquote><p>Probably a corrupted database schema. You'd have to look at the error to find out what the upgrader's choking on. You could then fix the schema by hand and then set the version manually. If you don't, you're going to be unable to upgrade to later version of RM4DF, because *that* upgrader won't run properly either. And the next big version of RM4DF will probably end up merging the keys and access quests tables...</p><p>Dyse wrote: </p><blockquote><p> Question,  does the 'Block' module  Update on the 24 hour or just when someone enters the Module?  Just wondering why sometimes it takes forever and a day for our site to come up. (Generally once per day)</p></blockquote><p>Err, from memory: the block updates itself from the local Roster Master tables based upon whether the tables were updated since the last time the block was run (I think, may not have done that real well). The Roster Master tables aren't updated until someone actually visits the module (regardless of whether it's the roster, key, or access quest tables).</p><p>I don't think the block currently can force a roster update itself. I was looking into doing that at one point, and either I decided it was too messy at the time, or (more likely) I got sidetracked and forgot. </p>

VulcanDarksoul
05-24-2007, 10:35 PM
I hate to hijack, but i know some folks that use GEM frequent this topic. I am back to coding and taking suggestions. Same site as always, <a href="http://www.eq2caladrius.com" target="_blank" rel="nofollow">www.eq2caladrius.com</a>. Direct link to <a href="http://www.eq2caladrius.com/Forums/viewtopic/t=718.html" target="_blank" rel="nofollow">most recent forum topic</a> on GEM. <a href="http://www.eq2caladrius.com/Downloads/details/id=14.html" target="_blank" rel="nofollow">Download</a> the latest non-beta release.

Seagoat
05-24-2007, 11:03 PM
Thanks for the update, Vulcan!  I'm heading there to check it out now.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

_Quebecker_
05-30-2007, 01:04 AM
<p>Hi first let me say Roster master is great.</p><p>I m using it with Dragonfly. I have a problem. I created a new guild, and roster master wont parse any data on the characters that were in the guild before it got to level 5 and showed up on eq2players... it parses data just fine for all other characters.</p><p>Been looking into it for days... can't figure it out.</p><p> site url : <a href="http://pantheon.ulmb.com/" target="_blank" rel="nofollow">http://pantheon.ulmb.com</a> </p>

Seagoat
05-30-2007, 01:32 AM
<cite>_Quebecker_ wrote:</cite><blockquote><p>Hi first let me say Roster master is great.</p><p>I m using it with Dragonfly. I have a problem. I created a new guild, and roster master wont parse any data on the characters that were in the guild before it got to level 5 and showed up on eq2players... it parses data just fine for all other characters.</p><p>Been looking into it for days... can't figure it out.</p><p> site url : <a href="http://pantheon.ulmb.com/" target="_blank" rel="nofollow">http://pantheon.ulmb.com</a> </p></blockquote><p> We'd love to help; can you provide us with a little more info?</p><ul><li>Please post the contents of your config.inc file here.</li><li>Let us know which version of RM4DF you're using.</li><li>Copy & paste the error messages you're seeing at the very bottom of the roster page when you're logged in as admin, if there are any.</li><li>Did you change any of the files besides config.inc before installing the module?</li></ul><p>Thanks in advance.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p>

_Quebecker_
05-30-2007, 01:11 PM
<p>config.inc :</p><blockquote> // *************************** Setup Options *************************** // guild_id:   Set this to the guild id of your guild on the eq2players.com site. It //    can be found in the URL. //    i.e. <a href="http://eq2players.station.sony.com/guilds/guild_profile.vm?guildId=1013203" target="_blank" rel="nofollow">http://eq2players.station.sony.com/...guildId=1013203</a> $config['guild_id'] = 4372120; <p>// guild_name:   Your Guild name, exactly as it appears on the eq2players.com site. $config['guild_name'] = 'Pantheon';</p><p>// lookup_rank:   Translates the Guild Rank terms for use in sorting. //    Based on the default rank names - if your guild changes the default rank //    names, this MUST be updated to reflect that or rank sorts will not be in //    heirarchical order. $config['lookup_rank'] = array(  'Leader' => 1,  'Senior Officer' => 2,  'Officer' => 3,  'Senior Member' => 4,  'Member' => 5,  'Junior Member' => 6,  'Initiate' => 7,  'Alts' => 8);</p><p>// officers:   Defines Guild Ranks that are officers. //    Based on the default rank names - if your guild changes the default rank //    names, this MUST be updated to reflect changes and correspond to the //    $config['lookup_rank'] settings, above. $config['officers'] = array(  'Leader',  'Senior Officer',  'Officer');</p><p>// popup:   1 - Open external links in a new window. (Default) //    0 - Open external links in the same window. $config['popup'] = 1;</p></blockquote><p>didn't change anything in the rest of the file...</p><p>I get no error message at all</p><p> The site is hosted on a public server, how do I get the version of that?</p>

Seagoat
05-30-2007, 02:02 PM
<p>I don't see anything in that portion of your config.inc file that would indicate a problem, but without seeing the rest of the file, it's impossible to say that there's not something else wreaking havoc.</p><p>The RM4DF version is at the top of every ASCII file in the Roster Master module directory (.php, .inc, etc.), as well as on your "Dragonfly Admin" > "Modules" > "Roster Master" > "Edit" page.</p><p>Was this a fresh install, or did you upgrade from a previous version of RM4DF?</p><p>Have you tried uninstalling the module and deleting the Roster Master directory and files from the server, then uploading all the module files again and reinstalling?  Sometimes files don't get uploaded properly and become corrupted, which might cause this behavior.</p><p>Can you think of anything those problem characters have in common?</p>

Seagoat
05-30-2007, 02:11 PM
<p>Looking at your SOE Guild Summary page, I'm seeing an issue in both the roster XML and CSV feeds.  For the characters Zergata, Rummullu, Overlordmansion, Uzimaki, and Quebecker, the "memberNumber" value is a variable ("$dc.guildMemberNumber") instead of an actual number.  That doesn't explain why Boogenhagen's info isn't translating to the roster either, though, since his info in the feed looks fine.</p><p>This leads me to think it's an EQ2 Players issue and not a Roster Master issue -- at least until I get more information.</p>

_Quebecker_
05-30-2007, 06:10 PM
<p>Roster Master 6.0.5</p><p>Dragonfly 9.0.2.0</p><p>it was a fresh install</p>

_Quebecker_
05-30-2007, 07:03 PM
I checked the eq2players data, I tried to leave the guild and be re-invited, still no change...

Seagoat
05-30-2007, 08:11 PM
<p>Have you tried uninstalling the module, deleting the RM files from the server, uploading fresh versions, and reinstalling?</p><p>If so, and the problem hasn't resolved itself, I'll wager it's an issue produced by the faulty information in the XML and CSV feeds.  Unfortunately, the only ones who can fix that are EQ2 Players site developers, and nothing we can do or suggest will remedy the problem until the feeds are fixed, if that's indeed what's causing the problem.</p><p>Then again, it may be resolved the next time your EQ2 Players Guild Summary page updates.  I don't think anyone knows exactly how often that is, but IIRC it's somewhere around every 24 hours.  Please do check your roster every few hours and keep us updated if anything changes.</p><p>(The faulty XML/CSV info might be a fluke, but it may be worth looking into, if only to try to ensure it doesn't happen again, if any site devs are reading this...)</p>

Dark_Grue
05-31-2007, 01:35 AM
<cite>Seagoat wrote:</cite><blockquote><p>Looking at your SOE Guild Summary page, I'm seeing an issue in both the roster XML and CSV feeds.  For the characters Zergata, Rummullu, Overlordmansion, Uzimaki, and Quebecker, the "memberNumber" value is a variable ("$dc.guildMemberNumber&quot<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> instead of an actual number.  That doesn't explain why Boogenhagen's info isn't translating to the roster either, though, since his info in the feed looks fine.</p><p>This leads me to think it's an EQ2 Players issue and not a Roster Master issue -- at least until I get more information.</p></blockquote><p>The Feed is definitely corrupt, and the source of the problems. It's squarely in the SoE Web Team's court on this one. Good luck trying to get it resolved. You could try PMing <a href="http://forums.station.sony.com/eq2/user/profile.m?user_id=236270" target="_blank" rel="nofollow">Jabru</a>, but I don't know that'll be fruitful. He doesn't strike me as being much more than a messenger, and not a very responsive one at that. Still, he's self-identified himself as being related or involved in the EQ2Players.com development, so you could try...</p><p>I'm afraid the problem with corrupted/not updated/partially updated/whatever rosters and guild data doesn't seem to be consistent. Every time SoE claims they fixed it, more people come forward saying (and proving) it isn't. Why it should be so hard and so elusive, I have no idea. I don't feel there's an excuse for it.</p><p>Not much the RM team can do for you though, other than diagnosing the problem and sadly shaking our heads. <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /> </p>

Mad_Magician
05-31-2007, 06:20 AM
<p>Is anyone still using Roster Master on a PHPNuke site? I just can't seem to get it working on PHPNuke 7.8. Any help would be appreciated.</p><p> Cheers</p>

_Quebecker_
05-31-2007, 01:23 PM
<cite>Seagoat wrote:</cite><blockquote><p>Have you tried uninstalling the module, deleting the RM files from the server, uploading fresh versions, and reinstalling?</p><p>If so, and the problem hasn't resolved itself, I'll wager it's an issue produced by the faulty information in the XML and CSV feeds.  Unfortunately, the only ones who can fix that are EQ2 Players site developers, and nothing we can do or suggest will remedy the problem until the feeds are fixed, if that's indeed what's causing the problem.</p><p>Then again, it may be resolved the next time your EQ2 Players Guild Summary page updates.  I don't think anyone knows exactly how often that is, but IIRC it's somewhere around every 24 hours.  Please do check your roster every few hours and keep us updated if anything changes.</p><p>(The faulty XML/CSV info might be a fluke, but it may be worth looking into, if only to try to ensure it doesn't happen again, if any site devs are reading this...)</p></blockquote><p>I will try re-installing everything fresh tonight, maybe the file hack would be an alternative for me. would have someone familiar with that aspect to give me some tips tho....</p><p> So basically, if I get this right, if there is one unfilled info in the database query, every other fields are screwed... in that case the member number... </p>

Dark_Grue
05-31-2007, 05:33 PM
<cite>_Quebecker_ wrote:</cite><blockquote><p>I will try re-installing everything fresh tonight, maybe the file hack would be an alternative for me. would have someone familiar with that aspect to give me some tips tho....</p><p> So basically, if I get this right, if there is one unfilled info in the database query, every other fields are screwed... in that case the member number...</p></blockquote><p>Reinstalling won't solve your problem, although it might keep you entertained for a few minutes.</p><p>The <i><b>unsupported</b></i> file hack might help you - you could edit the missing/corrupted information in the feeds back in by hand (assuming you can suss out the numbers, then feed it to RM4DF. This would be very tedious, indeed. But it would work.</p><p>What's kind of surprising is that your roster is screwed up enough there's characters with bad data, but not bad enough it's triggering the built-in massive-error rejection exception in the parser (I think it's 10 line-parse errors). It's working correctly in this case (the 10-line error limit is intended to catch conditions where the parser has been invalidated by changes to EQ2Players, not errors in the EQ2Players data feeds), it's just that you'd usually expect that the whole roster would be [Removed for Content], not just five characters out of the entire guild.</p>

Lantis
05-31-2007, 07:44 PM
_Quebecker_, have you considered trying the standalone version just to see what happens?  That one uses a different feed (an old XML feed) for most of the data, maybe that feed is working properly. Otherwise, I wonder if you aren't suffering from an issue caused by a server merger.  I would personally consider filing a petition since this issue is probably unique to you (as far as we know).

Malloc
06-01-2007, 12:23 PM
Artimer@Befallen wrote: <blockquote><p>Is anyone still using Roster Master on a PHPNuke site? I just can't seem to get it working on PHPNuke 7.8. Any help would be appreciated.</p><p> Cheers</p></blockquote> I don't believe there is a current version of Rostermaster for PHPNuke.  Our guild uses Rostermaster Stand Alone (RMSA) and a module called Nuke Wrap to integrate it into the PHPNuke site.  You can check it out here: <a href="http://archoneq2.com/modules.php?name=NukeWrap&page=roster" target="_blank" rel="nofollow">http://archoneq2.com/modules.php?na...amp;page=roster</a>

Mad_Magician
06-07-2007, 12:50 PM
Maloc@Crushbone wrote: <blockquote>Artimer@Befallen wrote: <blockquote><p>Is anyone still using Roster Master on a PHPNuke site? I just can't seem to get it working on PHPNuke 7.8. Any help would be appreciated.</p><p> Cheers</p></blockquote> I don't believe there is a current version of Rostermaster for PHPNuke.  Our guild uses Rostermaster Stand Alone (RMSA) and a module called Nuke Wrap to integrate it into the PHPNuke site.  You can check it out here: <a href="http://archoneq2.com/modules.php?name=NukeWrap&page=roster" target="_blank" rel="nofollow">http://archoneq2.com/modules.php?na...amp;page=roster</a></blockquote>Thanks for the very helpful response. Guild-site now displays the roster perfectly!!!<img src="/smilies/e8a506dc4ad763aca51bec4ca7dc8560.gif" border="0" alt="SMILEY" />

archimidesX
06-08-2007, 01:48 PM
hello there, I'm having a problem getting the stand alone version set up on my site... I've got everything loaded correctly(or so i think)...i go to <a href="http://www.intangible-mind.com/rostermaster/rmadmin.php" target="_blank" rel="nofollow">http://www.intangible-mind.com/rost...ter/rmadmin.php</a> and it wants a password, I'm assuming it wants a new password?  so I've tried several, and i also dug around the rmlogin.php code and saw that admin is kind of a default password so i tried that...i keep getting the same error...perhaps you can shed some light on it <b>Fatal error</b>: Call to undefined function: error_message() in <b>/home/content/A/r/c/<username omitted>/html/rostermaster/includes/logging.php</b> on line <b>198 </b>i mean I'm not a php expert by any means, but it seems to me as though the logging.php file isn't able to access the rmadmin.php error_message() function...am i perhaps not setting a permission that needs to be set or something?  I'm at work right now, so I'm basically only able to use the java client provided by godaddy.com any help is much appreciated <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> edit: oops was reading the first post and i may have left out the information required to get help... <ul><li><b>PLATFORM</b>:  stand alone </li><li><b>VERSION</b>:  newest version(2.2.0 i believe it was) </li><li><b>URL</b>:  <a href="http://www.intangible-mind.com/rostermaster/index.php" target="_blank" rel="nofollow">http://www.intangible-mind.com/rost...aster/index.php</a> i suppose, however i haven't gotten far enough for it to create the database tables </li><li><b>ERRORS</b>: <b>Fatal error</b>: Call to undefined function: error_message() in <b>/home/content/A/r/c/<username omitted>/html/rostermaster/includes/logging.php</b> on line <b>198</b></li><ul><li><b>note: i left out my username, if for some reason you need to see that let me know and i'll e-mail it to you </b></li></ul><li><b>TRIGGERS</b>:  just went to rmadmin.php as it said to do in the instructions...it wanted and admin password and i tried putting a new one in, however it spit this error out...tried the password of admin, also tried the password saved in the config file...all give the same error </li><li>double checked my config.php, which i've loaded with all the correct information into(or so i think)...not sure where to go beyond that... </li><li>the only thing i've changed is the config.php to point to my right information(guild id, DB, etc) </li></ul>

Lantis
06-09-2007, 04:02 AM
<cite>archimidesX wrote:</cite><blockquote>hello there, I'm having a problem getting the stand alone version set up on my site... I've got everything loaded correctly(or so i think)...i go to <a href="http://www.intangible-mind.com/rostermaster/rmadmin.php" target="_blank" rel="nofollow">http://www.intangible-mind.com/rost...ter/rmadmin.php</a> and it wants a password, I'm assuming it wants a new password?  so I've tried several, and i also dug around the rmlogin.php code and saw that admin is kind of a default password so i tried that...i keep getting the same error...perhaps you can shed some light on it <b>Fatal error</b>: Call to undefined function: error_message() in <b>/home/content/A/r/c/<username omitted>/html/rostermaster/includes/logging.php</b> on line <b>198 </b></blockquote>The problem seems to be that RMSA is unable to log your login attempt, and a bug in the code prevents the display of the error message explaining why (returning you that Fatal Error instead). Aside from the bug in the error report code in the logging module that I will have to fix, I suspect your problem comes from the fact that you have enabled database logging before having actually created the database.  Delete your existing config.php, then enter the Configuration module to properly generate a new config.php, you should be able then to create the database. (and yes, this login logging talk is starting to confuse me as well. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> EDIT: Try this fixed <a href="http://www.lostrealm.ca/files/rmlogin221.zip" target="_blank" rel="nofollow">rmlogin.php</a> to see the exact error message.  I will have to do more tests to figure the exact sequence of events that can lead to this.  I suspect it could be if you actually are forced to re-log  back in between the moment where you configure RMSA and the moment you create the actual database.

pedigr
06-09-2007, 11:21 AM
<ul><li><b>PLATFORM</b>:  vBulletin</li><li><b>VERSION</b>:  vbRosterMaster 2.2.0</li><li><b>URL</b>:  <a href="http://www.fizzleblood.net/rostermaster" target="_blank" rel="nofollow">http://www.fizzleblood.net/rostermaster</a></li><li><b>ERRORS</b>:  None but I consider it a beta until its been on more than 1 board <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></li><li><b>TRIGGERS</b>: </li></ul>I just spent a bit of time here and there over the last several weeks making a native vBulletin version, using vBulletin templates and the database system the CMS provides Please, if you like it, send me a tell/mail in game - Kithicor.Alinabal If you want a copy of cant download it, send me your email address in game or PM me here and Ill email you a copy.

Seagoat
06-09-2007, 12:08 PM
<cite>pedigree wrote:</cite><blockquote><ul><li><b>PLATFORM</b>:  vBulletin</li><li><b>VERSION</b>:  vbRosterMaster 2.2.0</li><li><b>URL</b>:  <a href="http://www.fizzleblood.net/rostermaster" target="_blank" rel="nofollow">http://www.fizzleblood.net/rostermaster</a></li><li><b>ERRORS</b>:  None but I consider it a beta until its been on more than 1 board <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></li><li><b>TRIGGERS</b>: </li></ul>I just spent a bit of time here and there over the last several weeks making a native vBulletin version, using vBulletin templates and the database system the CMS provides Please, if you like it, send me a tell/mail in game - Kithicor.Alinabal If you want a copy of cant download it, send me your email address in game or PM me here and Ill email you a copy. </blockquote><p> Awesome, Pedigree!!  /thumbsup</p><p>You provided the info for people who are having problems with their installation though, LOL.  The info I need from you is the same everyone else has provided for their projects, which is below that in the OP.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p><li>Version:  <b>vbRosterMaster</b></li><li>Current Stable Release: <b> 2.2.0</b></li><li>Release Date:  <b>9 June 2007</b></li><li>In Development:  (if any) </li><li>Point of Contact:  <b>Pedigree</b>  (got your name, but I need an email address, unless you want to keep it private; in that case, I can use a PM link...let me know your preference!)</li><li>Project Homepage:  (the URL you provided in your post gives mea 404 error)  <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /></li><li>Demo:  (if any, but it's preferred)</li><li>Download Site:  (preferred, so you don't have to manually send out the ZIP file every time someone wants to give it a go)</li>

pedigr
06-09-2007, 12:36 PM
woops, stupid typo in the address demo site is at <a href="http://www.fizzleblood.net/rostermaster.php" target="_blank" rel="nofollow">http://www.fizzleblood.net/rostermaster.php</a> download is at <a href="http://www.vbulletin.org/forum/showthread.php?p=1264657" target="_blank" rel="nofollow">http://www.vbulletin.org/forum/show...d.php?p=1264657</a> Please click Installed if you install it, it makes it all worth the time. if you mail me in game, Ill send you another link for it as I want to see the Installed Counter on vbulletin.org hit the roof <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Seagoat
06-09-2007, 04:02 PM
<p>The OP has been updated!  Thanks, Pedigree.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p><p>I added the secondary download link you gave me, but I put a notation next to each of the two download URLs asking people to please use the first one if it's at all possible and to click the "Mark as Installed" link if they download it.  The second one is only there in case of emergency, but I can remove it if you want.</p>

Ba
06-09-2007, 04:49 PM
Pedigree, never in a million years did I think you'd see our post on vBulletin and do this. I'm SO IMPRESSED! You got your first install from us, I'm so glad to finally have a working vBulletin version. Two thumbs up, sir. Thank you again, you just made the Admins at Trinitas very happy campers. =)

pedigr
06-10-2007, 05:40 AM
Glad to help out <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

archimidesX
06-11-2007, 10:27 AM
Lantis@Antonia Bayle wrote: <blockquote><cite>archimidesX wrote:</cite><blockquote>hello there, I'm having a problem getting the stand alone version set up on my site... I've got everything loaded correctly(or so i think)...i go to <a href="http://www.intangible-mind.com/rostermaster/rmadmin.php" target="_blank" rel="nofollow">http://www.intangible-mind.com/rost...ter/rmadmin.php</a> and it wants a password, I'm assuming it wants a new password?  so I've tried several, and i also dug around the rmlogin.php code and saw that admin is kind of a default password so i tried that...i keep getting the same error...perhaps you can shed some light on it <b>Fatal error</b>: Call to undefined function: error_message() in <b>/home/content/A/r/c/<username omitted>/html/rostermaster/includes/logging.php</b> on line <b>198 </b></blockquote>The problem seems to be that RMSA is unable to log your login attempt, and a bug in the code prevents the display of the error message explaining why (returning you that Fatal Error instead). Aside from the bug in the error report code in the logging module that I will have to fix, I suspect your problem comes from the fact that you have enabled database logging before having actually created the database.  Delete your existing config.php, then enter the Configuration module to properly generate a new config.php, you should be able then to create the database. (and yes, this login logging talk is starting to confuse me as well. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> EDIT: Try this fixed <a href="http://www.lostrealm.ca/files/rmlogin221.zip" target="_blank" rel="nofollow">rmlogin.php</a> to see the exact error message.  I will have to do more tests to figure the exact sequence of events that can lead to this.  I suspect it could be if you actually are forced to re-log  back in between the moment where you configure RMSA and the moment you create the actual database. </blockquote> thank you so very much! it works perfectly now... i really appreciate the help... time to get too configuring <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" />

Dyse
06-13-2007, 06:05 PM
<p>Well, thus far no errors or anything else that requires attention on:</p><p>Rostermaster / Guild Wish List / Guild Event Manager</p><p>(All running and viewable on <a href="http://www.eq2daggers.com/" target="_blank" rel="nofollow">www.eq2daggers.com</a>   Silver Dagger's Website (Blackburrow) )</p><p>My questions are:</p><p> #1  Does anyone know of any ARMOR/WEAPON tracker for Dragonfly.  In development or otherwise. (Like EoF / Relic / EoF Fabled etc.) That each member can keep track of on site?</p><p> #2  In a previous version I saw the Prismatic quests custom added onto Rostermaster by a certain website.  Since the current series, I haven't seen that anymore.  Is anyone planning on releasing that as an Add on?</p><p> #3  Not a question... Members love it!  Have a large Roster and may people taking advantage of it.  (I'm afraid to try to do the prismatic, copying from HQ or AQ databases for fear of deleting the whole thing.)   I guess I could put a mock up site.</p>

Dark_Grue
06-14-2007, 04:31 PM
Dyse wrote: <blockquote>#1  Does anyone know of any ARMOR/WEAPON tracker for Dragonfly.  In development or otherwise. (Like EoF / Relic / EoF Fabled etc.) That each member can keep track of on site?</blockquote><p>Don't believe there is one. There's really no way to scape that info, so I'd be a manual check list really. The way I've handled things like that in the past is have members start a post with that info in it and just edit it. Doesn't give you any DB functionality though...  </p><blockquote>#2  In a previous version I saw the Prismatic quests custom added onto Rostermaster by a certain website.  Since the current series, I haven't seen that anymore.  Is anyone planning on releasing that as an Add on? </blockquote><p>It's a planned feature for a future version of RM4DF that will require/be a part of a considerable change in the quest handling modules. I don't have a projectected date for that, since I haven't started coding it yet. Benn kinda busy with other things, plus I've been putting it off because it's going to involve really tearing back into the code. The planned implementation is to combine the quest and heritage tables, allow multiple views, and expand the "steps" from generic not-done to done to include intermediate quests or quest steps (essentially customize the quest state drop-downs with variable-length lists to give greater granularity.</p><p>That's the plan anyway. Just got to implement it eventually.</p>

Arkenea
06-20-2007, 02:04 PM
<p>Okies so I downloaded the Roster Master v1.0.4 Unzipped and edited the rm_config.php. Then I uploaded the whole roster_master directory to my website and set permissions on the folder to 777 (originally they were 000) this is what the website said. Then I set permissions on the file logfile.html to 777 went to my website address with /roster_master/rm_db_install.php at the end and I get a 500 Internal Server Error. Well to me this means something is wrong with the permissions. So I set the rm_db_install.php to 777 and try again and still same error when I try to bring up the webpage. So I am totally unsure and what I need to do to get this to install. Does anyone have any suggestions?</p><p>Jedea 67 Monk </p><p>Norrath Rejects</p>

Seagoat
06-20-2007, 02:46 PM
Arkenea wrote: <blockquote><p>Okies so I downloaded the Roster Master v1.0.4 Unzipped and edited the rm_config.php. Then I uploaded the whole roster_master directory to my website and set permissions on the folder to 777 (originally they were 000) this is what the website said. Then I set permissions on the file logfile.html to 777 went to my website address with /roster_master/rm_db_install.php at the end and I get a 500 Internal Server Error. Well to me this means something is wrong with the permissions. So I set the rm_db_install.php to 777 and try again and still same error when I try to bring up the webpage. So I am totally unsure and what I need to do to get this to install. Does anyone have any suggestions?</p></blockquote><p> We'd be happy to help, but a little more information would be useful.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p><li><b>PLATFORM</b>:  The CMS your website is running on (i.e., Dragonfly, PostNuke, none, etc.).  <b>[I'm guessing none?]</b></li><li><b>VERSION</b>:  The version of Roster Master you're using (i.e., RM4DF 6.0.1, RMSA 1.2.0, etc.).  <b>[I'm guessing Roster Master Stand Alone?]</b></li><li><b>URL</b>:  A website address where we can see your roster in action. <b> [Or in this case, the URL to your site's home page]</b></li><li><b>ERRORS</b>:  Any error messages you're receiving <i>in their entirety</i>.  <b>[You mentioned a 500 error...do you have access to detailed error logs?]</b></li><li><b>TRIGGERS</b>:  Exactly what you're doing (or attempting to do) when you experience the problem.  <b>[You mentioned the installation fails; are you able to run other PHP/database-driven scripts on your webserver, and/or have you successfully installed any other scripts of this type?]</b></li><li>Troubleshooting steps you've taken so far. </li><li>Whether or not you're running a "tweaked" version of RM (if you've edited the code yourself to change the aesthetics, add features, or remove features).</li><p>If you're running RMSA, are you using an older version for any particular reason?  (The current RMSA release is 2.2.0; the project information is in this thread's OP, including a demo and download link.)</p>

Lantis
06-20-2007, 03:00 PM
<cite>Arkenea wrote:</cite><blockquote><p>Okies so I downloaded the Roster Master v1.0.4 Unzipped and edited the rm_config.php. Then I uploaded the whole roster_master directory to my website and set permissions on the folder to 777 (originally they were 000) this is what the website said. Then I set permissions on the file logfile.html to 777 went to my website address with /roster_master/rm_db_install.php at the end and I get a 500 Internal Server Error. Well to me this means something is wrong with the permissions. So I set the rm_db_install.php to 777 and try again and still same error when I try to bring up the webpage. So I am totally unsure and what I need to do to get this to install. Does anyone have any suggestions?</p><p>Jedea 67 Monk </p><p>Norrath Rejects</p></blockquote>I'm assuming you are refering to the StandAlone version here?  In that case, please try again with a more up-to-date version 1.0.4 is totally obsolete, RMSA is now up to version 2.2.0.

Lantis
06-24-2007, 03:11 AM
Hi everyone, Just looking for feedback.  Which one do you think would make more sense: 1) <img src="http://www.lostrealm.ca/temp/group-single-table.png" border="0"> 2) <img src="http://www.lostrealm.ca/temp/group-multiple-tables.png" border="0"> Or, do you think both have their own strenght and I should offer both modes? (that would be in addition to the current, ungrouped display mode, of course) Thanks <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Seagoat
06-24-2007, 11:38 AM
<p>Lantis, I think I like the second one better, as far as readability goes.  The style of the class name in the header might need a little sprucing up, though.  <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /></p><p>The first is less redundant (with the name, rank, class, level, etc. column headers), so it would take up less space and might appeal to some users in that way.</p><p>It's hard to say with just a snippet to look at, but from what I see, I like the second one.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p>

Lantis
06-24-2007, 01:14 PM
<cite>Seagoat wrote:</cite><blockquote><p>Lantis, I think I like the second one better, as far as readability goes.  The style of the class name in the header might need a little sprucing up, though.  <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /></p><p>The first is less redundant (with the name, rank, class, level, etc. column headers), so it would take up less space and might appeal to some users in that way.</p><p>It's hard to say with just a snippet to look at, but from what I see, I like the second one.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p></blockquote>Those two samples still didn't have any work done on their actual header content, it was just quick code to try out the two modes (there was even a third one that got the boot already).  Check the development setup on my site (<a href="http://www.lostrealm.ca/temp/parse/rm2" target="_blank" rel="nofollow">http://www.lostrealm.ca/temp/parse/rm2</a>), group header is now properly displayed, and there's even a dropdown gadget to select which display mode to use. The more I look at it, the more I also prefer the second one, but still find merits in the first mode (for people opting for a more compact layout, while still benefiting from some visual separation of the various groups).  I think I'll end up offering all three modes in the end (Simple flat display, Grouped (Single table) and Grouped (Multiple Tables).  Default will be configurable by the admin, and display will also be toggle able by the end user (I might experiment with other methods than a dropdown to select display mode). I still need to write special handling code to take care of levels (grouping into tiers) and Joined Date (think Outlook 2003/2007 there).  Might also do something about quests (probably groups for 50, 100, 250, 500, and the rest) Thanks <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Lantis
06-25-2007, 04:46 PM
<i>Lantis opens Exquisite Chest and discovers: </i>     <span style="font-size: small"><span style="color: #ffff00"><u>RosterMaster Stand Alone 2.3.0 Beta 1</u></span> </span><u> </u>Now with a +10 sorting adornment <img src="/smilies/e8a506dc4ad763aca51bec4ca7dc8560.gif" border="0" alt="SMILEY" />. This beta version contains bugfixes, and one new feature: grouped display.  You can now (optionally) have the roster entries displayed in groups.  Currently supported are: Adventurer and Tradeskill (both class and level), Ranks and Joined Date.  I will possibly also add grouping support for Quests and earned Status for the final release. The details... <u> Changes in 2.3.0 Beta 1:</u> <ul><li>NEW: Grouped display modes (two different ones).  Original flat display still available.  See the 'Display Settings' section of the configuration module.</li><li>NEW: New CSS classes added to the stylesheets: rm_groupheader, rm_groupheaderrow, rm_groupfooter and rm_groupfooterrow.  Please adjust your custom stylesheets accordingly.</li><li>IMPROVED: Database errors while logging will now be ignored.</li><li>IMPROVED: Re-display the navigation links at the bottom of the log viewer.</li><li>IMPROVED: Pie charts transparent colour will ensure that it's in contrast            with the text colour.  That way, people still using broken browsers will at least be able to read the charts. You can also manually specify your actual background colour in piecharts.php if you wish - see the section near the start of that file.</li><li>FIXED: Will no longer return a "Fatal Error: Call to undefined function: error_message()" if an error occured while trying to log a login attempt.</li><li>FIXED: After changing the primary sort option a second time through the dropdown, the passed URL would be invalid.</li><li>FIXED: Typo in includes/progress_js.php </li></ul> View it <a href="http://www.lostrealm.ca/temp/parse/rm2/" target="_blank" rel="nofollow">here</a> Download it <a href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,3/" target="_blank" rel="nofollow">here</a> Discuss it here.

Seagoat
06-25-2007, 05:07 PM
<p>OP's been updated, Lantis!  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p>

Wolffire
06-26-2007, 03:08 PM
Hi Lantis I have found a problem with the stable and beta version: <b>Warning</b>: array_merge() [<a href="http://www.werewolfs-lair.de/EQ2/rostermaster/function.array-merge" target="_blank" rel="nofollow">function.array-merge</a>]: Argument #1 is not an array in <b>/srv/www/xxx/httpdocs/EQ2/rostermaster/includes/parse.php</b> on line <b>487</b> <b>Warning</b>: array_merge() [<a href="http://www.werewolfs-lair.de/EQ2/rostermaster/function.array-merge" target="_blank" rel="nofollow">function.array-merge</a>]: Argument #1 is not an array in <b>/srv/www/xxx/httpdocs/EQ2/rostermaster/includes/parse.php</b> on line <b>487</b> <b>Warning</b>: Invalid argument supplied for foreach() in <b>/srv/www/xxx/httpdocs/EQ2/rostermaster/rostermaster.php</b> on line <b>799 </b> This Errors is the result from the force update button. I think the problem are membernames with special character, for example the ý, Á or É. On this members the db are not filled correct. Where can I insert a conversation for this special character? (My GuildID=136301 for testing)

Lantis
06-27-2007, 12:14 AM
<cite>Wolffire wrote:</cite><blockquote>Hi Lantis I have found a problem with the stable and beta version: <b>Warning</b>: array_merge() [<a href="http://www.werewolfs-lair.de/EQ2/rostermaster/function.array-merge" target="_blank" rel="nofollow">function.array-merge</a>]: Argument #1 is not an array in <b>/srv/www/xxx/httpdocs/EQ2/rostermaster/includes/parse.php</b> on line <b>487</b> <b>Warning</b>: array_merge() [<a href="http://www.werewolfs-lair.de/EQ2/rostermaster/function.array-merge" target="_blank" rel="nofollow">function.array-merge</a>]: Argument #1 is not an array in <b>/srv/www/xxx/httpdocs/EQ2/rostermaster/includes/parse.php</b> on line <b>487</b> <b>Warning</b>: Invalid argument supplied for foreach() in <b>/srv/www/xxx/httpdocs/EQ2/rostermaster/rostermaster.php</b> on line <b>799 </b> This Errors is the result from the force update button. I think the problem are membernames with special character, for example the ý, Á or É. On this members the db are not filled correct. Where can I insert a conversation for this special character? (My GuildID=136301 for testing) </blockquote>Sigh... UTF8 is evil. PHP's reg_match() function isn't Unicode-aware, so it's unable to correctly extract the UTF8-encoded names out of the data obtained from SOE's site. Dark_Grue, any idea there?  The problem is around the preg_match() functions that are used to extract data from the CSV.  An echo "$raw_data" correctly shows the accents, but those are gone after preg_match_all() is called to process it.  From the looks of it, it seems we'd need a multibyte-aware replacement for preg_match(). I had a look at what mbstring had to offer, there's no drop-in replacement.  Even tried doing an iconv() on $raw_data to convert it to single-byte ISO, no luck.

Seagoat
06-27-2007, 12:32 AM
Lantis, you may want to look into the <a href="http://us2.php.net/manual/en/function.htmlentities.php" target="_blank" rel="nofollow">htmlentities()</a> and <a href="http://us2.php.net/manual/en/function.html-entity-decode.php" target="_blank" rel="nofollow">html_entity_decode()</a> PHP functions.  They should work in this instance.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Lantis
06-27-2007, 02:06 AM
<cite>Seagoat wrote:</cite><blockquote>Lantis, you may want to look into the <a href="http://us2.php.net/manual/en/function.htmlentities.php" target="_blank" rel="nofollow">htmlentities()</a> and <a href="http://us2.php.net/manual/en/function.html-entity-decode.php" target="_blank" rel="nofollow">html_entity_decode()</a> PHP functions.  They should work in this instance.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></blockquote>You mean converting the buffer content into HTML entities before doing the regexp matching?  Just tried, and it didn't help.  Names that start with an accented character are still truncated of their first character after going through a regexp parsing - 'Éclair' becomes 'clair'. I started looking at mbstrings - I found an mbstring version of preg_match(), but not for preg_match_all().  I'd probably have to use iteration to replace that one (assuming mbstring would actually solve my problem - I have yet to do try it with a test case).  Still sounds like a lot of pain... EDIT: This CSV parser code comes from RM4DF.  How does it handle that guild with its non US-ASCII names?  If it doesn't have any problem handling it then there must be some specific PHP configuration done by DF that allows it to work.

Wolffire
06-27-2007, 06:03 PM
Lantis when I use at the parse.php on function fetch_URL before the return line this: $pageContent = utf8_decode($pageContent); Now I come with all UTF-8 Characters with the variable $raw_data to all other functions. But in the parse_roster_CSV function I failed on the preg_match_all line. After the preg_match_all I lost all names with special characters. I hope you understand my terrible english <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> BTW: All tests with the Beta Version

Dark_Grue
06-27-2007, 07:02 PM
Lantis@Antonia Bayle wrote: <blockquote>I started looking at mbstrings - I found an mbstring version of preg_match(), but not for preg_match_all().  I'd probably have to use iteration to replace that one (assuming mbstring would actually solve my problem - I have yet to do try it with a test case).  Still sounds like a lot of pain... </blockquote><p>I'm pretty sure it's definitely going to be a lot of pain, presuming the problem can be solved. Handling such issues, is, from the brief moment I recall stumbling over those functions a while back, very inconsistent and hard to do correctly across all cases. As you noticed, PHP's internal support's pretty spotty.</p><p><a href="mailto:Lantis@Antonia" target="_blank" rel="nofollow">Lantis@Antonia</a> Bayle wrote: </p><blockquote>EDIT: This CSV parser code comes from RM4DF.  How does it handle that guild with its non US-ASCII names?  If it doesn't have any problem handling it then there must be some specific PHP configuration done by DF that allows it to work. </blockquote><p>I've been told by The Computer that the use of non US-ASCII strings is only done by commie mutant scum, so since I am a Good Citizen and a Friend of the Computer, I didn't really pay attention to anything outside of my native language. I didn't even really know up until now it <i>was</i> a problem (which I guess is a pretty good indicator of RM's increasing success).</p><p>I've never tested it against a foreign guild, so if by some miracle RM4DF actually does it correctly, it certainly isn't through any careful planning on my part. Dragonfly is meant to be UTF-8 throughout, so it is possible that the framework has built-in the necessary support (I'm not sure how that would work, however).</p><p>If someone sends me a guildID with a known problem, I could test it. I suspect that trying to support it might be a considerable effort, however.</p><p>...</p><p>What's wrong with a 26-letter character-set, anyway? <img src="/smilies/1069449046bcd664c21db15b1dfedaee.gif" border="0" alt="SMILEY" /> </p>

Lantis
06-27-2007, 07:45 PM
<cite>Dark_Grue wrote:</cite><blockquote><p><a href="mailto:Lantis@Antonia" target="_blank" rel="nofollow">Lantis@Antonia</a> Bayle wrote: </p><blockquote>EDIT: This CSV parser code comes from RM4DF.  How does it handle that guild with its non US-ASCII names?  If it doesn't have any problem handling it then there must be some specific PHP configuration done by DF that allows it to work. </blockquote><p>I've never tested it against a foreign guild, so if by some miracle RM4DF actually does it correctly, it certainly isn't through any careful planning on my part. Dragonfly is meant to be UTF-8 throughout, so it is possible that the framework has built-in the necessary support (I'm not sure how that would work, however).</p><p>If someone sends me a guildID with a known problem, I could test it. I suspect that trying to support it might be a considerable effort, however.</p><p>...</p><p>What's wrong with a 26-letter character-set, anyway? <img src="/smilies/1069449046bcd664c21db15b1dfedaee.gif" border="0" alt="SMILEY" /> </p></blockquote> GuildID=136301 is a good testcase - it has both members that begin with an accented character (Àragorn and Éclair) and ends with one (forgot what that one was). (and if anyone wonders - I can easily type those accents because french is my native language <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> So far, it seems the XML parser is fine - all the data in the database is correctly stored as UTF-8, and the names show up totally readable on the Guild Roster (when I tell Firefox to use UTF8 encoding all accents come up properly on my screen).  So the only issues I have so far in RMSA are: 1) Sorting (is not UTF-8 aware) 2) Parsing and merging the CSV data with my XML data I have a few ideas in mind: 1) Replace the regexp/merging code with code similar to what the Horde framework uses (as it fully handles foreign charsets - I had a quick look at its Strings class last night).  What Horde does is convert the data to a specific charset, do the processing, and reconvert in the original charset.  Converting to one of the western ISO charsets would allow us to keep most accents, while remaining 8-bits. 2) The regexp issues seem to mostly be on names that begin with a non-ASCII character (Like Éclair on that test guild site).  I want to try replacing the first part of the expression to be more open than the current (/w) which seems to be a shortand for a-z and A-Z. 3) Simply filter out all accented characters, and hope no guild will come up with Éclair and Eclair in their roster <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />   4) Write another XML parser to avoid having to use the CSV parser (that would solve the regexp part, but still leave me with potential array merging issues - and I suspect the HTML parser is also prone to the same issues as it also relies heavily on regexp matching) I am in the middle of a major server virtualization project with a customer this week so my time might be limited to look at this more closely.  I'll see what I can come up here.  In the meantime if you could just see how RM4DF handles that test guild Dark that would be helpfull - if it handles it properly, then we'll start tearing apart how it modifies the PHP environment to accomplish that. (BTW, I tried the mbstring function overloading option, didn't seem to work - tho I couldn't do it directly in the php.ini file, not having access to it on this server).

Lantis
06-27-2007, 07:50 PM
<cite>Wolffire wrote:</cite><blockquote>Lantis when I use at the parse.php on function fetch_URL before the return line this: $pageContent = utf8_decode($pageContent); Now I come with all UTF-8 Characters with the variable $raw_data to all other functions. But in the parse_roster_CSV function I failed on the preg_match_all line. After the preg_match_all I lost all names with special characters. I hope you understand my terrible english <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> BTW: All tests with the Beta Version </blockquote>The fetch_URL() code properly handles UTF8 on my server (do you have Curl fetching enabled in RMSA?  If no try enabling it then force a database refresh).  The issue indeed lies in the preg_*() functions - that's where I also lose all accented characters, causing the subsequent array_merge() to fail. I have no working solution yet, but have a few different theories to test.  Keep an eye on this thread for updates on this issue.

Lantis
06-27-2007, 07:57 PM
Woot - the solution might be closer than I thought <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />  I went ahead with the idea of messing with the two regexps, changing them to these:     preg_match_all('/s*.*?,s*.*?,s*d+,s*.+?,s*.+?,s*d+,s*d+,s*.+?,s*.+? ,s*d+/isu', $raw_data, $data); and:         if (preg_match('/s*(.*?),s*(.*?),s*(d+),s*(.+?)s+(d+),s*(.+?)s+(d+) ,s*(d+),s*(d+),s*(.+?),s*(.+?),s*(d+)/iu', $char_info, $matches)) { And I now properly match on the names that begin with a non-ASCII character <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />  Basically two changes there: - replaced the (/w) shorthand with a plain .*? - Enabled UTF-8 parsing at the end of the regexp (by adding 'u' ) I will do more tests and see how it looks like.  If that really solves parsing, then all that will be left to fix will be sorting. Wolfire, can you try this please?  Those two lines are in parse.php, near line 470.  Tell me how this works for you. EDIT: some web servers are configured to use ISO-8859-1 by default.  To force RosterMaster pages to be displayed in UTF-8, create a file named ".htaccess" and put it in the same folder where your index.php is.  In that file put this single line: php_value default_charset            UTF-8 Then reload the page.  Accents should now be properly displayed as your browser will properly select the correct charset.

Lantis
06-28-2007, 02:27 AM
Here's RMSA 2.3.0 Beta 2 - now with UTF-8 support both in the parsing and sorting.  Please give this a shot if your guild has accented characters in their character names - on my end it now works correctly with Wolffire's guild. <p> <u>Changes in 2.3.0 Beta 2:</u></p><ul><li>FIXED: Now correctly handles names that contains accented characters, both in the parser and in the sort code. NOTE: your web server and your database will also need to be properly configured.  Ask your friendly server admin if you are having trouble.</li></ul>           If your roster displays accents as a pair of weird characters, your web server might not be configured to display UTF-8 characters (iin plain english: your web server doesn't correctly display accents).  To force your roster to use UTF-8 to display, create a file named '.htaccess' in the directory where your index.php (or whatever page calling rostermaster.php) is.  In that file put this single line: <span style="font-family: courier new,courier">php_value default_charset UTF-8</span> Then reload your website. If you still have issues, please provide me with an URL to your rostermaster installation so I can view the result, and as much detail as possible (PHP version, database version, wether you're using Curl/XML, etc...).  Also please confirm if this does work fine for you. Download it <a href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,3/" target="_blank" rel="nofollow">here</a>. Discuss it here.

Wolffire
06-28-2007, 04:43 AM
I have still problems with the Roster <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /> I put also the .htaccess file into the directory... but no changes... (I leave it in the path) The Roster Adress: <a href="http://www.werewolfs-lair.de/TEST/rostermaster/rmadmin.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/r...ter/rmadmin.php</a> (yours) The Roster Adress: <a href="http://www.werewolfs-lair.de/TEST/rostermaster1/rmadmin.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/r...er1/rmadmin.php</a> (my one with $pageContent = utf8_decode($pageContent); on line 206) PHP Info : <a href="http://www.werewolfs-lair.de/TEST/root.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/root.php</a> PW: rmtest I have UTF problems with or without the database :'( This is not the correct site (only for tests) but the same Server. With my version the table looks correct but on both the guild table (mysql) would be not filled. After the force_update I see the Guild informations (top of the tables), but then I click on the Roster (index.php) the Guild informations would be disappear. PS: If you want show the differences you must klick Initialize Database in the configuration. I hope you can help again ?!?

Lantis
06-28-2007, 11:34 AM
Furry@Valor wrote: <blockquote>I have still problems with the Roster <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /> I put also the .htaccess file into the directory... but no changes... (I leave it in the path) The Roster Adress: <a href="http://www.werewolfs-lair.de/TEST/rostermaster/rmadmin.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/r...ter/rmadmin.php</a> (yours) The Roster Adress: <a href="http://www.werewolfs-lair.de/TEST/rostermaster1/rmadmin.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/r...er1/rmadmin.php</a> (my one with $pageContent = utf8_decode($pageContent); on line 206) PHP Info : <a href="http://www.werewolfs-lair.de/TEST/root.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/root.php</a> PW: rmtest I have UTF problems with or without the database :'( This is not the correct site (only for tests) but the same Server. With my version the table looks correct but on both the guild table (mysql) would be not filled. After the force_update I see the Guild informations (top of the tables), but then I click on the Roster (index.php) the Guild informations would be disappear. PS: If you want show the differences you must klick Initialize Database in the configuration. I hope you can help again ?!? </blockquote>I disabled XML parsing on your test site using 2.3.0 Beta 2 (without the utf8_decode() )and it now properly retrieves the data without any error.  However there's a second problem retrieving the guild summary data from your database after succesfully retrieving it, which must be a separate problem.  Make sure the database is of MyIsam type and that RMSA has proper write access to it.  I couldn't test that part using a flatfile because RMSA didn't have write access to its folder.

Seagoat
06-28-2007, 11:54 AM
OP's updated, Lantis.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Wolffire
06-28-2007, 12:20 PM
Lantis@Antonia Bayle wrote: <blockquote>Furry@Valor wrote: <blockquote>I have still problems with the Roster <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /> I put also the .htaccess file into the directory... but no changes... (I leave it in the path) The Roster Adress: <a href="http://www.werewolfs-lair.de/TEST/rostermaster/rmadmin.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/r...ter/rmadmin.php</a> (yours) The Roster Adress: <a href="http://www.werewolfs-lair.de/TEST/rostermaster1/rmadmin.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/r...er1/rmadmin.php</a> (my one with $pageContent = utf8_decode($pageContent); on line 206) PHP Info : <a href="http://www.werewolfs-lair.de/TEST/root.php" target="_blank" rel="nofollow">http://www.werewolfs-lair.de/TEST/root.php</a> PW: rmtest I have UTF problems with or without the database :'( This is not the correct site (only for tests) but the same Server. With my version the table looks correct but on both the guild table (mysql) would be not filled. After the force_update I see the Guild informations (top of the tables), but then I click on the Roster (index.php) the Guild informations would be disappear. PS: If you want show the differences you must klick Initialize Database in the configuration. I hope you can help again ?!? </blockquote>I disabled XML parsing on your test site using 2.3.0 Beta 2 (without the utf8_decode() )and it now properly retrieves the data without any error.  However there's a second problem retrieving the guild summary data from your database after succesfully retrieving it, which must be a separate problem.  Make sure the database is of MyIsam type and that RMSA has proper write access to it.  I couldn't test that part using a flatfile because RMSA didn't have write access to its folder. </blockquote>Hmmm with the flatfile it is working but DB would be better... RSMA has all access to the DB and all DBs are MyISAM... Where can I find the line with the insert command... for an error report?

Lantis
06-28-2007, 09:15 PM
Furry@Valor wrote: <blockquote>Lantis@Antonia Bayle wrote: <blockquote>Furry@Valor wrote: I disabled XML parsing on your test site using 2.3.0 Beta 2 (without the utf8_decode() )and it now properly retrieves the data without any error.  However there's a second problem retrieving the guild summary data from your database after succesfully retrieving it, which must be a separate problem.  Make sure the database is of MyIsam type and that RMSA has proper write access to it.  I couldn't test that part using a flatfile because RMSA didn't have write access to its folder. </blockquote>Hmmm with the flatfile it is working but DB would be better... RSMA has all access to the DB and all DBs are MyISAM... Where can I find the line with the insert command... for an error report? </blockquote>Enable logging in the RMSA configuration, with log level set to Detailed (with SQL errors), then try again.  Any DB error should be logged (assuming logging itself works). I had a quick look on the web on UTF-8, PHP and MySQL issues, someone suggested modifying the application to issue the following command just before connecting to the MySQL DB: <span style="font-family: courier new,courier"> mysql_query('SET NAMES utf8' ) ;</span> Try insert this line in line 27 of db/mysql4.php, just before the line that does the mysql_connect(), see if that helps. Another useful debugging tip that I use myself: create a file named debug.php.  Put the following in that file: <span style="font-family: courier new,courier">    <?php         ini_set('display_errors','1');         ini_set('display_startup_errors','1');         error_reporting (E_ALL);         include('rostermaster.php');     ?></span> Then access the roster through <a href="http://url/debug.php. " target="_blank" rel="nofollow">http://url/debug.php. </a> I find this easier than having to change my PHP configuration whenever I need full debugging output on my browser.  The reason you need to use such a wrapper instead of putting it directly in rostermaster.php is these must be issued before any HTTP header gets sent, and also before the (potentially buggy) script gets parsed by PHP. EDIT: Thanks to VMWare, I just tested RMSA under PHP 5.1 (my hosting site still uses 4.3).  I was then able to reproduce the XML parser issue, and have fixed it (since 5.x the XML parser defaults to UTF-8, and I have to force it to ISO-8859-1 to work correctly???  /me is completely confused now...).  However I still can't reproduce the MySQL issue, so this is not a version issue. I also noticed just how many warnings RMSA can spit out in the error log...  Time to do some major cleanup there. :) EDIT2: I found (and fixed) the issue that was causing guild summary to not work for you Wolffire :)  There was a bug in my code where it was unable to retrieve the guild summary if you were using a table prefix (like you are).  I'll have Beta 3 posted before going to bed (should be within the next hour), please give this a try.  This should hopefully fix the last issues :)

Lantis
06-29-2007, 02:47 AM
Here's RMSA Beta 3. <u>Changes in 2.3.0 Beta 3:</u> <ul><li>IMPROVED: Cleanup/optimization of the database interface functions.</li><li>IMPROVED: Made code more PHP5-friendly in general.</li><li>IMPROVED: Added the 'Quests' column to the default display template.</li><li>FIXED: XML parsing of accents under PHP 5.0.2 or newer.</li><li>FIXED: The Guild Summary data wasn't displayed when using a table prefix.</li></ul> Wolffire, please give this new version a try.  Also please try with either XML parsing disabled or enabled, to ensure that this specific issue has been solved.  Let me know how this one is treating you <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> I still have a good bit of code cleanup to do to make this more PHP5 friendly (I'd like to eliminate as many of these notices as possible, if only for the sake of cleanness.) Download it <a href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,3/" target="_blank" rel="nofollow">here</a>. Discuss it here.

Wolffire
06-29-2007, 05:11 AM
Lantis@Antonia Bayle wrote: <blockquote>If your roster displays accents as a pair of weird characters, your web server might not be configured to display UTF-8 characters (iin plain english: your web server doesn't correctly display accents).  To force your roster to use UTF-8 to display, create a file named '.htaccess' in the directory where your index.php (or whatever page calling rostermaster.php) is.  In that file put this single line: <span style="font-family: courier new,courier">php_value default_charset UTF-8</span> Then reload your website. </blockquote> Ok Lantis, the Beta3 is working correct when I used your tip with the .htaccess file. Without I don't see e.g. ý Oh and when I don't use the XML parser, I don't receive the lastnames. Is this correct? Thanks a lot for your fast fixes every day... Now I will test it a little bit more <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />

Lantis
06-29-2007, 11:23 AM
<cite>Wolffire wrote:</cite><blockquote> Ok Lantis, the Beta3 is working correct when I used your tip with the .htaccess file. Without I don't see e.g. ý Oh and when I don't use the XML parser, I don't receive the lastnames. Is this correct? Thanks a lot for your fast fixes every day... Now I will test it a little bit more <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /></blockquote>Awesome <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> .htaccess file: That's because your Apache is configured to use ISO-8859-1.  This htaccess forces those pages to use UTF-8 encoding.  If it's your own server you could change it inside php.ini/httpd.conf itself, or just stick to the .htaccess method if you don't want to run into issues with other applications.  It's up to you. Lastnames: That's normal.  SOE doesn't provide the lastname fied in the CSV feed, you need to parse the older XML field for that. Thanks for your help in testing these issues <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Wolffire
06-29-2007, 11:36 AM
Ok I think it is working perfect :) BTW: I have make a little modification for listing the Adv and Art with my own language (german). I change one file on two positions: 1. rostermaster.php from: 1101        $columns_array['advclass']   = "<td style="border-right: none; width: {$config['adventurericon']['width']}px ">$classimagename</td><td style="border-left: none; text-align: center">{$line['Adv_Class']}$classlevelsep({$line['Adv_Level']})</td>"; 1102        $columns_array['tradeclass'] = "<td style="border-right: none; width: {$config['artisanicon']['width']}px ">$artisanimagename</td><td style="border-left: none; text-align: center">{$line['Art_Class']}$classlevelsep({$line['Art_Level']})</td>"; to: 1101        $columns_array['advclass']   = "<td style="border-right: none; width: {$config['adventurericon']['width']}px ">$classimagename</td><td style="border-left: none; text-align: center">".translate($line['Adv_Class'])."$classlevelsep({$line['Adv_Level']})</td>"; 1102        $columns_array['tradeclass'] = "<td style="border-right: none; width: {$config['artisanicon']['width']}px ">$artisanimagename</td><td style="border-left: none; text-align: center">".translate($line['Art_Class'])."$classlevelsep({$line['Art_Level']})</td>"; 2. rostermaster.php after row 24 behind your copyrights // Function:    translate() //         Translate the adv and art to another language // Arguments:    $src - originalenglish name // Returns:        $returnval - the new language function translate($src) {     $returnval = $src;     if ($src == "Assassin") $returnval = "Assassine";     if ($src == "Berserker") $returnval = "Berserker";     if ($src == "Brigand") $returnval = "Brigant";     if ($src == "Bruiser") $returnval = "Raufbold";     if ($src == "Coercer") $returnval = "Erzwinger";     if ($src == "Conjuror") $returnval = "Beschw&ouml;rermeister";     if ($src == "Defiler") $returnval = "Sch&auml;nder";     if ($src == "Dirge") $returnval = "Klages&auml;nger";     if ($src == "Fury") $returnval = "Zornesdruide";     if ($src == "Guardian") $returnval = "W&auml;chter";     if ($src == "Illusionist") $returnval = "Thaumaturgist";     if ($src == "Inquisitor") $returnval = "Inquisitor";     if ($src == "Monk") $returnval = "M&ouml;nch";     if ($src == "Mystic") $returnval = "Mystiker";     if ($src == "Necromancer") $returnval = "Nekromant";     if ($src == "Paladin") $returnval = "Paladin";     if ($src == "Ranger") $returnval = "Waldl&auml;ufer";     if ($src == "Shadow Knight") $returnval = "Schattenritter";     if ($src == "Sorcerer") $returnval = "Hexer";     if ($src == "Swashbuckler") $returnval = "Abenteurer";     if ($src == "Templar") $returnval = "Templer";     if ($src == "Troubador") $returnval = "Troubador";     if ($src == "Warden") $returnval = "W&auml;rter";     if ($src == "Warlock") $returnval = "Hexer";     if ($src == "Wizard") $returnval = "Zauberer";     if ($src == "Alchemist") $returnval = "Alchimist";     if ($src == "Artisan") $returnval = "Kunsthandwerker";     if ($src == "Carpenter") $returnval = "Schreiner";     if ($src == "Craftsman") $returnval = "Handwerker";     if ($src == "Sage") $returnval = "Weiser";     if ($src == "Armorer") $returnval = "R&uuml;stungsschmied";     if ($src == "Jeweler") $returnval = "Juwelier";     if ($src == "Outfitter") $returnval = "Ausstatter";     if ($src == "Provisioner") $returnval = "Versorger";     if ($src == "Scholar") $returnval = "Gelehrter";     if ($src == "Tailor") $returnval = "Schneider";     if ($src == "Unskilled") $returnval = "Unskilled";     if ($src == "Weaponsmith") $returnval = "Waffenschmied";     if ($src == "Woodworker") $returnval = "Holzarbeiter";     return($returnval); } A good Idea would be if you can this import to the rmadmin.php configuration like the Guild Ranks... Only you have the time and you feel like :roll:

Lantis
06-29-2007, 03:06 PM
<cite>Wolffire wrote:</cite><blockquote>Ok I think it is working perfect :) BTW: I have make a little modification for listing the Adv and Art with my own language (german). I change one file on two positions: A good Idea would be if you can this import to the rmadmin.php configuration like the Guild Ranks... Only you have the time and you feel like :roll:</blockquote>Someday I will probably make RMSA fully multi-language.  Until then I prefer to avoid implementing partial translations, as this would make a lot of the work redundant, and add a lot of complexity to RMSA as I would probably end up having to implement support for multiple languages.  Best to wait for a good template-based system. Note: for performance reason, you might want to replace this with a Switch block.  That will help performance quite a bit as the expression isn't evaluated in every cases, but only once. <span style="font-family: courier new,courier"> switch ($src) {     case 'Necromancer':         return 'Nekromant';        break;     case 'Templar':         return 'Templer';         break; ...     Default         return 'Ninja???'; }</span>

Wolffire
06-29-2007, 03:40 PM
Oh my god <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> Yes thats is it... case <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> I not see the wood for the trees *g* For the moment you can download my case version from the rostermaster.php <a href="http://www.werewolfs-lair.de/TEST/rostermaster/rostermaster.rar" target="_blank" rel="nofollow">here</a> if you want it <img src="/smilies/e8a506dc4ad763aca51bec4ca7dc8560.gif" border="0" alt="SMILEY" />

Yuggernaught
06-30-2007, 01:55 PM
<p>Hello and thank you for your work . First of all by no means am I a web expert. Lest say I have a copy of dreamweaver and, flash pro so I can get away with things I shouldn't be able to. with that said please bare with me, I am fortunate enough to have a web host provider that will allow me to upload phpNuke, or phpBB2/php-forum as well as a few other easy instilations. I first downloaded phpBB2 and had my database going made a few forum category's and decided to give rostermaster stand alone version a whirl. I followed the install doc to the letter and when it came time to set my admin PW it didn't ask for a new one. I deleted the config.php and was prompted to give a new pw once I went through rmadmin, it saved an entry into the config.php with my new PW. When i used the new PW to acces the web config utility it just recieved my PW and did nothing, typing in a random PW gave me the invalid error but the correct one did nothing to advance the login. feeling ballzy I manually edited the config.php. After the manual edit i would return to the rmadmin and receive a white screen with the words unable to connect to database. After some research I decided to swipe the phpBB2 database and upload phpNuke. It seemed to have a higher success rate with out major tweakage....though I could be wrong. I uploaded Rm to the module folder, but it seems I'm running a newer version of nuke and RM will require phpwrap to bring it all together. I suppose my question is which platform should i go with it seems both are going to require some work to get running, but i feel it will be worth the effort. P.S. First time posting .... hope its in the right place. PLATFORM: MySQL, phpBB2 or phpNuke VERSION: RMSA 2.2.0 the first time around, postnuke vo.96b URL: no longer excists ERRORS: unable to access database TRIGGERS: Login using RMSA in an attempt to integrate phpBB2 database with PHP forum Manual edit of config.php swipe database Using as is RM un-tweak </p>

Lantis
06-30-2007, 02:17 PM
<cite>Yuggernaught wrote:</cite><blockquote><p>Hello and thank you for your work . First of all by no means am I a web expert. Lest say I have a copy of dreamweaver and, flash pro so I can get away with things I shouldn't be able to. with that said please bare with me, I am fortunate enough to have a web host provider that will allow me to upload phpNuke, or phpBB2/php-forum as well as a few other easy instilations. I first downloaded phpBB2 and had my database going made a few forum category's and decided to give rostermaster stand alone version a whirl. I followed the install doc to the letter and when it came time to set my admin PW it didn't ask for a new one. I deleted the config.php and was prompted to give a new pw once I went through rmadmin, it saved an entry into the config.php with my new PW. When i used the new PW to acces the web config utility it just recieved my PW and did nothing, typing in a random PW gave me the invalid error but the correct one did nothing to advance the login. feeling ballzy I manually edited the config.php. After the manual edit i would return to the rmadmin and receive a white screen with the words unable to connect to database. After some research I decided to swipe the phpBB2 database and upload phpNuke. It seemed to have a higher success rate with out major tweakage....though I could be wrong. I uploaded Rm to the module folder, but it seems I'm running a newer version of nuke and RM will require phpwrap to bring it all together. I suppose my question is which platform should i go with it seems both are going to require some work to get running, but i feel it will be worth the effort. P.S. First time posting .... hope its in the right place. PLATFORM: MySQL, phpBB2 or phpNuke VERSION: RMSA 2.2.0 the first time around, postnuke vo.96b URL: no longer excists ERRORS: unable to access database TRIGGERS: Login using RMSA in an attempt to integrate phpBB2 database with PHP forum Manual edit of config.php swipe database Using as is RM un-tweak </p></blockquote>Keep in mind that if you install RMSA and link it to a phpBB2 forum, your admin login becomes your phpBB2 login, not the basic authentication scheme built into RMSA.  Ideally, go this way: 1) Install phpBB2, and configure it 2) Install RMSA without configuring anything 3) Log into phpBB2 as an admin 4) Go to RMSA's Configuration module, configure everything, including the phpBB2 authentication. 3) Once it's done, RMSA should still give you access to the Configuration module if you are logged as a phpBB2 admin. If that doesn't work, the most likely issue is with your cookie configuration.  Make sure to have the same cookie prefix both in RMSA and in phpBB2. One of my test setups here while developing is done with phpBB2, so this is a well tested setup.  This would probably be a better setup than using phpNuke with a wrapper, as you would then lose the ability for your forum members to claim roster entries. Otherwise, the other alternative is to use the Dragonfly CMS, and use the RM4DF version of RosterMaster.

Yuggernaught
06-30-2007, 03:23 PM
Thank you for the info. One question though, when I create a database the server utility auto installs all I do is pick a directory. It auto assigns a all access admin database user which is "my server account name _phpbb1". It doesn't give me a password because I have logged into my account and just naturally have access. Would my PW be my account PW or should I create a second user for the database "2user_phpbb1" assign the fake user a user PW and grant him all access and use that for the config.php?

Lantis
06-30-2007, 07:51 PM
<cite>Yuggernaught wrote:</cite><blockquote>Thank you for the info. One question though, when I create a database the server utility auto installs all I do is pick a directory. It auto assigns a all access admin database user which is "my server account name _phpbb1". It doesn't give me a password because I have logged into my account and just naturally have access. Would my PW be my account PW or should I create a second user for the database "2user_phpbb1" assign the fake user a user PW and grant him all access and use that for the config.php?</blockquote> MySQL has its own user management to control access.  What do you mean exactly by 'logged into my account'?  Are you talking about SSH?  A web panel such as Ensim or Cpanel? It is technically possible to have a username with no password set in MySQL to access a given database.  This is however highly insecure, even if access is restricted to localhost connections, as anyone else with access to that server would gain access to your database. If you are absolutely sure your database can be accessed with just a username such as 'accountname_phpbb" and no password, then you can either 1) Use it as it is in RMSA (specify that username with no password) 2) Give it a password (through phpMyAdmin or mysql) or 3) Create a new user/password inside your database, give it all required accesses to your database containing the phpBB/RMSA tables, and use it for both applications. If in doubt, I suggest you check with your server admin or any documentation your hosting company might provide you about how username/passwords management work on your server regarding MySQL.  This is highly dependent on how your server is configured, so it's pretty hard for me to tell exactly how you should go about it.

Yuggernaught
07-01-2007, 12:37 AM
<p>Hello and good morning, and you are correct it is a Cpanel that I am using. When I say my account I am referring to the name and PW I use to access Cpanel. I followed your instructions and have had 2 results. </p><p>1. If I create a database user that is different than the default one Cpanel assigns when I upload phpbb and use that to configure, config.php with the forum integration set to none. I get this error message:</p><p><b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/mmonster/public_html/cultofmalice/phpbb/rostermaster/includes/config.php:349) in <b>/home/mmonster/public_html/cultofmalice/phpbb/rostermaster/auth/basic.php</b> on line <b>36</b> Unable to set login cookie! <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/mmonster/public_html/cultofmalice/phpbb/rostermaster/includes/config.php:349) in <b>/home/mmonster/public_html/cultofmalice/phpbb/rostermaster/rmlogin.php</b> on line <b>80</b></p><p>2. When I use the same database user and pw in config.php with integration set to phpBB2 I receive a you must be logged in as admin for this area. </p><p>In earlier posts you said to log into phpbb as admin then run the confg utility, thing is through Cpanel when I go through  myphpadmin or look at the databases and users its under my local login. I honestly dont even know how to access those databases with the other assigned users.</p><p>Also when I use the default database user assigned by Cpanel with the install of phpbb I simply get unable to connect to database. Am I closer to a solution by figuring out how to login to phpbb as admin before I run the config utility or just use a database outside phpbb and do not attempt to integrate it, then I would only need to correct the cookie problem.</p><ul><li><b>PLATFORM</b>:  Mysql/Cpanel/phpbb</li><li><b>VERSION</b>:  RMSA beta</li><li><b>URL</b>:  N/A roster hard down </li><li><b>ERRORS</b>:  posted above</li><li><b>TRIGGERS</b>:  integrate RMSA with phpbb .</li><li>log into phpbb general admin and double check if cookie path was set to phpbb2mysql and /</li><li>RMSA untweaked</li></ul>

Lantis
07-01-2007, 02:24 AM
<cite>Yuggernaught wrote:</cite><blockquote><p>Hello and good morning, and you are correct it is a Cpanel that I am using. When I say my account I am referring to the name and PW I use to access Cpanel. I followed your instructions and have had 2 results. </p><p>1. If I create a database user that is different than the default one Cpanel assigns when I upload phpbb and use that to configure, config.php with the forum integration set to none. I get this error message:</p><p><b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/mmonster/public_html/cultofmalice/phpbb/rostermaster/includes/config.php:349) in <b>/home/mmonster/public_html/cultofmalice/phpbb/rostermaster/auth/basic.php</b> on line <b>36</b> Unable to set login cookie! <b>Warning</b>: Cannot modify header information - headers already sent by (output started at /home/mmonster/public_html/cultofmalice/phpbb/rostermaster/includes/config.php:349) in <b>/home/mmonster/public_html/cultofmalice/phpbb/rostermaster/rmlogin.php</b> on line <b>80</b></p></blockquote> This usually means that something else generated HTML output before RMSA could setup a login cookie.  Cookies can only be set if nothing else generated any kind of HTML yet. <blockquote>2. When I use the same database user and pw in config.php with integration set to phpBB2 I receive a you must be logged in as admin for this area.</blockquote> Are you successfully logged into phpBB2 at that point?  If yes, then double check your cookie settings - the cookie prefix must be the same in both phpBB2 and RMSA, or else RMSA will not be able to tell if you are logged in as an admin.  The key here is really to get your phpBB2 _fully_ working before you can even begin any work on RMSA.  After that, it's a matter of setting the correct cookie and table prefix.  With a default phpBB2 install, the cookie prefix is 'phpbb2mysql' and the forum table prefix is 'phpbb_'. <blockquote>In earlier posts you said to log into phpbb as admin then run the confg utility, thing is through Cpanel when I go through  myphpadmin or look at the databases and users its under my local login. I honestly dont even know how to access those databases with the other assigned users.<p>Also when I use the default database user assigned by Cpanel with the install of phpbb I simply get unable to connect to database. Am I closer to a solution by figuring out how to login to phpbb as admin before I run the config utility or just use a database outside phpbb and do not attempt to integrate it, then I would only need to correct the cookie problem.</p></blockquote>There's seems to be a lot of confusion surrounding what username and password need to be used for the database access here.  Unfortunately I am totally unfamiliar with CPanel so I can't help you there.

Dark_Grue
07-01-2007, 06:34 PM
Lantis@Antonia Bayle wrote: <blockquote>Basically two changes there: - replaced the (/w) shorthand with a plain .*? - Enabled UTF-8 parsing at the end of the regexp (by adding 'u' ) </blockquote><p>I've replicated your changes in "the lab", and this looks like a reasonable and good solution. The only caveat is that adding the "u" pattern modifier now add the requirement for PHP 4.1.0 or greater on Unix and from PHP 4.2.3 on win32. I... don't see this as a significant issue, however.</p><p><a href="mailto:Lantis@Antonia" target="_blank" rel="nofollow">Lantis@Antonia</a> Bayle wrote:</p><blockquote>If that really solves parsing, then all that will be left to fix will be sorting. </blockquote><p>Sorting will... probably never be sorted:</p><p><i>"Sorting of UTF-8 strings using standard byte-oriented sorting routines will produce the same results as sorting them based on Unicode code points. (This has limited usefulness, though, since it is unlikely to represent the culturally acceptable sort order of any particular language or locale.)"</i></p><p>Technically, it's sorting correctly now. Just not as a "natural sort". What really killing us, keeping us from using a SQL sort, is the rank fields, which have to be sorted on a lookup table... =/</p>

Lantis
07-01-2007, 06:35 PM
Another beta, most likely the last one before the final release. <span style="font-size: small"><span style="color: #ffff00"><b>RosterMaster Stand Alone 2.3.0 Beta 4</b></span></span> <u>Changes in 2.3.0 Beta 4:</u> <ul><li>IMPROVED: More PHP5-related code cleanup.</li><li>IMPROVED: Implemented Grouped Display for Quests, Status and Character Types.</li><li>FIXED: Rank value wasn't calculated when XML parsing was disabled. </li></ul> Download it <a href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,2/" target="_blank" rel="nofollow">here</a>. Discuss it here.

Lantis
07-01-2007, 06:46 PM
<cite>Dark_Grue wrote:</cite><blockquote>Lantis@Antonia Bayle wrote: <blockquote>Basically two changes there: - replaced the (/w) shorthand with a plain .*? - Enabled UTF-8 parsing at the end of the regexp (by adding 'u' ) </blockquote><p>I've replicated your changes in "the lab", and this looks like a reasonable and good solution. The only caveat is that adding the "u" pattern modifier now add the requirement for PHP 4.1.0 or greater on Unix and from PHP 4.2.3 on win32. I... don't see this as a significant issue, however.</p></blockquote>RMSA's requirement is already 4.3.0 or higher, so that won't affect my current userbase. <cite>Dark_Grue wrote:</cite><blockquote><p>Sorting will... probably never be sorted:</p><p><i>"Sorting of UTF-8 strings using standard byte-oriented sorting routines will produce the same results as sorting them based on Unicode code points. (This has limited usefulness, though, since it is unlikely to represent the culturally acceptable sort order of any particular language or locale.)"</i></p><p>Technically, it's sorting correctly now. Just not as a "natural sort". What really killing us, keeping us from using a SQL sort, is the rank fields, which have to be sorted on a lookup table... =/</p></blockquote> I'm now using some code sample I found on php.net that replaces unicode accents by their non-accented characters.  This gives fairly acceptable results IMHO, where, for example, É is now sorted as a regular E. The accents stripping code looks like something that would come from Seagoat <chuckles> <span style="font-family: courier new,courier">function replace_accents($str) {   $str = htmlentities($str, ENT_COMPAT, "UTF-8");   $str = preg_replace('/&([a-zA-Z])(uml|acute|grave|circ|tilde);/','$1',$str);   return html_entity_decode($str); } </span> I call this in my sort code before comparing strings.  Should be good enough to handle what SOE can throw at us name-wise (I have no illusion of making RMSA fully Unicode-capable and start handling japanese and other asian charsets - not until PHP6 at least :) If we wanted to aim for the best sort possible we could always rely on the database to do the sort, then re-sort again if a rank order sort was requested.  I might do some tests there in a future version, however I'll still have to support PHP-based sort since RMSA still supports flatfile storage (and I have no intention of dropping it - quite a few persons only have a very basic hosting solution).

Wolffire
07-02-2007, 08:38 AM
Cool Lantis, this Version is working without the .htaccess <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> *wag* But one question: Where I can find this? IMPROVED: Implemented Grouped Display for Quests, Status and Character Types. I find only in the config but not on the roster index...

Lantis
07-02-2007, 01:30 PM
<cite>Wolffire wrote:</cite><blockquote>Cool Lantis, this Version is working without the .htaccess <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> *wag* But one question: Where I can find this? IMPROVED: Implemented Grouped Display for Quests, Status and Character Types. I find only in the config but not on the roster index... </blockquote>Select 'Grouped Display' in the top right dropdown, then click on on the 'Sort' button.  You can then just click on the column by which you desire to sort.  The resulting display will be split into groups: <img src="http://www.lostrealm.ca/temp/grouped-small.png" border="0"> The default display mode can also be selected in the Configuration module, under section 'Display Settings' -> Default roster display mode.

Dark_Grue
07-02-2007, 02:05 PM
Lantis@Antonia Bayle wrote: <blockquote>I'm now using some code sample I found on php.net that replaces unicode accents by their non-accented characters.  This gives fairly acceptable results IMHO, where, for example, É is now sorted as a regular E. The accents stripping code looks like something that would come from Seagoat <chuckles> <span style="font-family: courier new,courier">function replace_accents($str) {   $str = htmlentities($str, ENT_COMPAT, "UTF-8&quot<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />;   $str = preg_replace('/&([a-zA-Z])(uml|acute|grave|circ|tilde);/','$1',$str);   return html_entity_decode($str); } </span> I call this in my sort code before comparing strings.  Should be good enough to handle what SOE can throw at us name-wise (I have no illusion of making RMSA fully Unicode-capable and start handling japanese and other asian charsets - not until PHP6 at least <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> </blockquote><p>Ugh, too kludgy - but I admit, my first thoughts went in exactly this direction. What we <i>really</i> want is direct access to the collations - the easiest way to manage that is to just have SQL do all the sorting. At first, I didn't think there was a way to do that, especially since we have the rank column to sort. Wouldn't be a problem if we weren't doing a double-sort, as you mentioned. We could just re-sort using PHP if that case came up. But if we're sorting by rank first, we can't.</p><p>Then I thought about it, and I became pretty sure that you <b>can</b> do it all in SQL, even though the rank column has an arbitrary sort order. I think I've got a solution now. It replaces the whole cmpi() function with a ORDER BY clause, four lines of code actually. Needs some testing first though... If it works, should be able to handle the immediate needs of the user base for UTF-8 compatibility, even if we really aren't 100%.</p>

Lantis
07-02-2007, 05:37 PM
<cite>Dark_Grue wrote:</cite><blockquote><p>Then I thought about it, and I became pretty sure that you <b>can</b> do it all in SQL, even though the rank column has an arbitrary sort order. I think I've got a solution now. It replaces the whole cmpi() function with a ORDER BY clause, four lines of code actually. Needs some testing first though... If it works, should be able to handle the immediate needs of the user base for UTF-8 compatibility, even if we really aren't 100%.</p></blockquote> Or...  Why not simply store rank_value in the database?  I looked at the code, and RMSA is now calculating the correct rank_value at parse time (since I'm no longer re-reading the just-parsed data from the database but displaying it as-is).  I'll just have to revert back to how RMSA used to work (parse, store in DB, re-pull data from DB, display). Only a few minutes of coding resulted in this inside read_db(): <span style="font-family: courier new,courier">    // Sort handling         $sort1 = $rm_sort_fields[0]['field'];         $sort1d = ($rm_sort_fields[0]['dir'] == -1) ? 'DESC' : 'ASC';         $sort2 = $rm_sort_fields[1]['field'];         $sort1d = ($rm_sort_fields[1]['dir'] == -1) ? 'DESC' : 'ASC';     // Fetch all of the data from the database     if($config['char_mapping'])  {         $query = 'SELECT rmu.username username, rmu.char_type char_type, rm.* '             .'FROM ' . $config['prefix'] . 'roster_master rm '             .'LEFT JOIN ' . $config['prefix'] . 'roster_master_users rmu '             .'ON rm.Name LIKE rmu.char_name '             .'ORDER BY $sort1 $sort1d, $sort2 $sort2d ';     } else {         $query = 'SELECT * '             .'FROM ' . $config['prefix'] . 'roster_master '             .'ORDER BY $sort1 $sort1d, $sort2 $sort2d '; </span> Seems to work fine with the first quick tests I did.  Now I just have to insert a new 'rank_value' column, and add a special case in this block to replace 'Rank' with 'rank_value', and I'll have full database-side sorting. This sounds almost too easy...  Am I overlooking something? <scratching head>

Dark_Grue
07-02-2007, 06:48 PM
Lantis@Antonia Bayle wrote: <blockquote>Or...  Why not simply store rank_value in the database?  I looked at the code, and RMSA is now calculating the correct rank_value at parse time (since I'm no longer re-reading the just-parsed data from the database but displaying it as-is).  If SQL can do double-sorts then everything should be fine.  That would mean however I'll have to revert back  to RMSA's old behaviour, which means reloading the just-parsed data from the database.  But then, the speed benefit of a database-site sort might outweigh the added overhead.</blockquote><p>Well, I could have put all the configuration directive in the DB instead of the config.inc file (there's a whole administration/configuraton mechanism in DF), but writing and testing the UI for some piddly configuration variables that really are much easier to deal with as a text config file has never really made me reconsider that. OK, putting the ranks in a table and doing a JOIN to sort on the rank value - which is basically doing with SQL what I was doing to sort them before in PHP with arrays - <b>did</b> make me reconsider moving the configuration into the DB. But then I considered that you'd have to assume that the rank's ranking is correct at the time it's stored (most people don't correctly configure that aspect of RM, at least not the first time). Otherwise, you have to have some sort of update mechanism (which brings you back to writing an admin UI; and depending on how it's implemented, you'd probably end up either re-writing that information to the DB when the roster data is updated, when the config is updated, or both). </p><p>Performance-wise, I can't really see why there should be any concern over pulling configuration constants in through an include() vs. DB overhead on a SELECT. In terms of sort performance, I'm not sure the sort's really large enough that the standard PHP usort()'s going to show much difference (our data set is actually really very small, in DB terms). From a user standpoint, in many ways, the flat-file config can make it easier for users. We can replicate and port RM4DF configurations with a single, very portable, file. From a development standpoint, I can add/change/delete configuration variables without effort. Considering most users change exactly two parameters and never look at it again, it's a very good choice for me to invest as little effort as possible in that particular segment of the software. It makes RM4DF look more "antique", but it really was a conscious design choice, and not <b>just</b> because I'm lazy. <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> So I got pretty stubborn about trying to find a purely SQL solution.</p><p>The big gain in doing a SQL sort is we get to leverage the database collations. As long as they're right, so will the sort. If the encoding and collations aren't right, then you're probably arleady in trouble just in terms of storing the roster data. DF is already UTF-8, so I can rely on that and push it over onto my pile of assumptions.</p><p>What I have in mind is much easier to implement, and should require only minor changes. The only reason I'm leaving people in suspense is that I've only prototyped the code, and haven't debugged/tested it to see if it even works. (I'll give a hint though: it appears you can sort based upon the position a needle appears in a haystack.)</p><p>Lantis@Antonia Bayle wrote:</p><blockquote>As for people using flatfile storage, I could stick with the current PHP-based sort for those specific users. </blockquote><p>Mnn, yeah, can't help you with that. Obviously a SQL sort isn't going to be of any use at all where a DB isn't in use, right? In which case just converting characters temporarily for sorting like you've already done is probably the closest you'll get without having to link to some sort of huge internationalization API package...</p><p>In a lot of ways, the stand-alone is a much more difficult design, since you don't have the CMS framework to rely upon. <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /></p><p>Lantis@Antonia Bayle wrote: </p><blockquote>Only a few minutes of coding resulted in this inside read_db():     // Sort handling         $sort1 = $rm_sort_fields[0]['field'];         $sort1d = ($rm_sort_fields[0]['dir'] == -1) ? 'DESC' : 'ASC';         $sort2 = $rm_sort_fields[1]['field'];         $sort1d = ($rm_sort_fields[1]['dir'] == -1) ? 'DESC' : 'ASC';     // Fetch all of the data from the database     if($config['char_mapping'])  {         $query = 'SELECT rmu.username username, rmu.char_type char_type, rm.* '             .'FROM ' . $config['prefix'] . 'roster_master rm '             .'LEFT JOIN ' . $config['prefix'] . 'roster_master_users rmu '             .'ON rm.Name LIKE rmu.char_name '             .'ORDER BY $sort1 $sort1d, $sort2 $sort2d ';     } else {         $query = 'SELECT * '             .'FROM ' . $config['prefix'] . 'roster_master '             .'ORDER BY $sort1 $sort1d, $sort2 $sort2d '; Seems to work fine with the first quick tests I did.  Now I just have to insert a new 'rank_value' column, and add a special case in this block to replace 'Rank' with 'rank_value', and I'll have full database-side sorting. This sounds almost too easy...  Am I overlooking something? <scratching head> </blockquote><p>$sort_fields isn't always defined, I think. Err, at least, it's not in RM4DF (it gets called by parser.inc to do characterID correlation, IIRC). What I actually did was compose the entire "ORDER BY" clause as a string that's passed to read_db() and appended to the end of the query. If I'm just doing an unordered read of the roster, the entire clause is null.</p><p>But yeah, other than the little trick I want to try that obliviates the need to map rank_value at all, you've pretty much got it.  </p>

Lantis
07-02-2007, 07:33 PM
<cite>Dark_Grue wrote:</cite><blockquote>Lantis@Antonia Bayle wrote: <blockquote>Or...  Why not simply store rank_value in the database?  I looked at the code, and RMSA is now calculating the correct rank_value at parse time (since I'm no longer re-reading the just-parsed data from the database but displaying it as-is).  If SQL can do double-sorts then everything should be fine.  That would mean however I'll have to revert back  to RMSA's old behaviour, which means reloading the just-parsed data from the database.  But then, the speed benefit of a database-site sort might outweigh the added overhead.</blockquote><p>Well, I could have put all the configuration directive in the DB instead of the config.inc file (there's a whole administration/configuraton mechanism in DF), but writing and testing the UI for some piddly configuration variables that really are much easier to deal with as a text config file has never really made me reconsider that. </p></blockquote>Actually, I meant just putting the calculated rank_value in the table, i.e. at parse time do the table lookup, and store the rank_value integer (1-8 ) in the table.  That way, any Rank-based sort could be changed to sort by the rank_value column instead. <blockquote><p>small, in DB terms). From a user standpoint, in many ways, the flat-file config can make it easier for users. We can replicate and port RM4DF configurations with a single, very portable, file. From a development standpoint, I can add/change/delete configuration variables without effort. Considering most users change exactly two parameters and never look at it again, it's a very good choice for me to invest as little effort as possible in that particular segment of the software. It makes RM4DF look more "antique", but it really was a conscious design choice, and not <b>just</b> because I'm lazy. <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> So I got pretty stubborn about trying to find a purely SQL solution.</p></blockquote>I went ahead and wrote a configuration UI for RMSA 2.0.0 because many mistakes occur by people editing PHP code without knowing anything about PHP, and therefore accidentally introducing syntax errors.  And it also made it very easy for me to experiment with different settings through the UI.  But I still favour storing it all in a file rather than in a database (not that I could), because for some things it's much more flexible. <blockquote>In a lot of ways, the stand-alone is a much more difficult design, since you don't have the CMS framework to rely upon. <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /><p>$sort_fields isn't always defined, I think. Err, at least, it's not in RM4DF (it gets called by parser.inc to do characterID correlation, IIRC). What I actually did was compose the entire "ORDER BY" clause as a string that's passed to read_db() and appended to the end of the query. If I'm just doing an unordered read of the roster, the entire clause is null.</p></blockquote>To be honest the biggest challenge with RMSA vs RM4DF is probably having to handle both SQL and flatfile storage.  It makes some of the code twice as complex as I must implement two totally separate methods to achieve a given results (examples are: sorting, logging, the Guild Details piecharts, etc...).  The rest that I could benefit from a framework (SQL API, logging, authentication, config management, etc...) has already been implemented (the user authentication part I had to write is still not perfect, but works most of the time). $sort_Fields is always defined in RMSA because there's a Default Sort configuration entry in the configuration.  And if the second sort field isn't defined, the first one is duplicated. So my only problem now remains to decide wether or not I want to enforce a DB schema change in 2.3.0 for the SQL-based sort.  I'll probably toss up a coin over that one. (Maybe SOE should try that type of decision making sometime - faster than having to wait on management to green-light any bug fix or feature addition <grin><img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />

Dark_Grue
07-02-2007, 07:47 PM
Lantis@Antonia Bayle wrote: <blockquote>Actually, I meant just putting the calculated rank_value in the table, i.e. at parse time do the table lookup, and store the rank_value integer (1-8 ) in the table.  That way, any Rank-based sort could be changed to sort by the rank_value column instead. </blockquote><p>Oh, I considered that as well, but there was the problem of whether that stored rank value would be correct, and providing a mechanism to change or validate it. If you pull your roster into the DB, and forget to set up your rank map, those stored values would all have to be changed (and would lose significant advantage over just doing a JOIN against the configuration table). We've had more than one "my roster doesn't sort ranks right" support question in the past, and (up until recently) every one was the result of not configuring the rank mappings. When I considered that solution, I wondered if now making people purge their table before seeing the sort work correctly again wouldn't be inviting even more RTFM-type questions...</p><p>At any rate, I think we both pretty much followed the same thought process. I got off easier, since I don't have to support certain situations that you do. <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" /></p><p>I should be getting home pretty soon, at which time I can test the code out. As soon as I'm sure it works, I'll share. I think you'll like how simple it is.</p><p>Lantis@Antonia Bayle wrote: </p><blockquote>I went ahead and wrote a configuration UI for RMSA 2.0.0 because many mistakes occur by people editing PHP code without knowing anything about PHP, and therefore accidentally introducing syntax errors.  And it also made it very easy for me to experiment with different settings through the UI.  But I still favour storing it all in a file rather than in a database (not that I could), because for some things it's much more flexible. </blockquote><p>Yeah, the greater potential for user error is a downside to a flat-file text config I didn't mention (in hopes no one would notice), but you're right. I think the way we can swap config files across can make up for the mayhem, but there's always trade-offs to be made. Having a config UI definitely makes for a more polished application.</p><p>Lantis@Antonia Bayle wrote: </p><blockquote>(Maybe SOE should try that type of decision making sometime - faster than having to wait on management to green-light any bug fix or feature addition <grin><img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> </blockquote><p>I think you're assuming too much by asserting that they have any sort of development or design approval processes... <img src="/smilies/136dd33cba83140c7ce38db096d05aed.gif" border="0" alt="SMILEY" />  </p>

Lantis
07-02-2007, 08:42 PM
I knew it was too easy - I wasn't testing the correct version <banging head on the desk> Two issues so far: 1) When doing an ORDER BY on a field that uses an ENUM, the ORDER BY will use the order of the ENUM entries rater than an alphabetical order.  RMSA's original table generation code has the enum entries in a totally random order. 2) Alphabetical sort of names with accents doesn't work as expected here :/  I suspect it might have to do with the MySQL configuration on my test setup (which is a fairly default FC6 setup).  Wondering if data is actually stored/retrieved in UTF8 or not here. I found some documentation on the web about MySQL and UTF8.  A few quick tests didn't work as expected, but I'll need to spend more time on this. Will have to wait another day - I've got an EQ2 raid scheduled in an hour. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Dark_Grue
07-02-2007, 09:38 PM
Lantis@Antonia Bayle wrote: <blockquote>I knew it was too easy - I wasn't testing the correct version <banging head on the desk> Two issues so far: 1) When doing an ORDER BY on a field that uses an ENUM, the ORDER BY will use the order of the ENUM entries rater than an alphabetical order.  RMSA's original table generation code has the enum entries in a totally random order. </blockquote><p>I jettisoned the ENUM fields to work around a Dragonfly bug a long time ago (I think it was the DB backup didn't handle them correctly at the time). They're not needed, and they really don't save you much (they would on a big DB, true). The RM4DF schema for the roster table's a lot simpler now. That could save you on the sort order:</p><p><span style="font-family: courier new,courier">name VARCHAR(255) NOT NULL,    characterId INT NOT NULL,    memberNumber INT NOT NULL,    prefixTitle VARCHAR(255) NOT NULL,    guildRank VARCHAR(40) NOT NULL,    Adv_Class VARCHAR(16) NOT NULL,    Adv_Level TINYINT NOT NULL,    Art_Class VARCHAR(16) NOT NULL,    Art_Level INT NOT NULL,    guildStatus INT NOT NULL,    dateJoined INT NOT NULL,    Last_Updated INT NOT NULL,    PRIMARY KEY (name)</span></p><p>Lantis@Antonia Bayle wrote: </p><blockquote>Will have to wait another day - I've got an EQ2 raid scheduled in an hour. :) </blockquote><p>Bah, you didn't invite me! :-(</p><p>Anyway, as promised, here's the SQL-version of the solution:</p><p><span style="font-family: courier new,courier">$data_array = read_db($exclude_alts, ' ORDER BY '   .(($s1 == 'r') ? "locate(guildRank, '".implode(',', array_keys($config['lookup_rank']))."')" : $sort_options[$s1]['field'])   .(($s1d == 'd') ? ' DESC' : ' ASC').', '   .(($s2 == 'r') ? "locate(guildRank, '".implode(',', array_keys($config['lookup_rank']))."')" : $sort_options[$s2]['field'])   .(($s2d == 'd') ? ' DESC' : ' ASC')); </span></p><p>Then in read_db(), I just append the second parameter in the function call to the end of the SQL statment. It's just that easy. I think it's clever, anyway. I tested against GuildID 136301, as suggested, and it seems to sort everything correctly (although in truth I don't know the local rules for sorting accented characters, it just looks OK to me).</p>

Lantis
07-03-2007, 03:05 AM
<cite>Dark_Grue wrote:</cite><blockquote>Lantis@Antonia Bayle wrote: <p>I jettisoned the ENUM fields to work around a Dragonfly bug a long time ago (I think it was the DB backup didn't handle them correctly at the time). They're not needed, and they really don't save you much (they would on a big DB, true). The RM4DF schema for the roster table's a lot simpler now. That could save you on the sort order:</p></blockquote>Yeah, that's legacy from Rex's code that I left untouched at the time as I couldn't see any reason to change it at the time. <cite>Dark_Grue wrote:</cite><blockquote><p>Lantis@Antonia Bayle wrote: </p><blockquote>Will have to wait another day - I've got an EQ2 raid scheduled in an hour. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> </blockquote><p>Bah, you didn't invite me! <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /></p><p>Anyway, as promised, here's the SQL-version of the solution:</p><p><span style="font-family: courier new,courier">$data_array = read_db($exclude_alts, ' ORDER BY '   .(($s1 == 'r'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> ? "locate(guildRank, '".implode(',', array_keys($config['lookup_rank']))."'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />" : $sort_options[$s1]['field'])   .(($s1d == 'd'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> ? ' DESC' : ' ASC'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />.', '   .(($s2 == 'r'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> ? "locate(guildRank, '".implode(',', array_keys($config['lookup_rank']))."'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />" : $sort_options[$s2]['field'])   .(($s2d == 'd'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> ? ' DESC' : ' ASC'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />); </span></p><p>Then in read_db(), I just append the second parameter in the function call to the end of the SQL statment. It's just that easy. I think it's clever, anyway. I tested against GuildID 136301, as suggested, and it seems to sort everything correctly (although in truth I don't know the local rules for sorting accented characters, it just looks OK to me).</p></blockquote>They don't allow cross-server raids yet, do they? <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> Your method will probably save you from having to enforce a schema update.  Since I'd have to do one anyway, I'd simply go ahead and just insert a new rank_value column in the table.  That will leave the code easier to maintain.  However, I did some additional digging on my db-side sorting issues.  A bit of googling led me to this: <span style="font-family: courier new,courier">$query = "SET NAMES 'utf8'"; $db->sql_query($query); </span> Which, after some initial tests, apparently break something else in RMSA's data handling... This is starting to be one hell of a can of worm I'm opening here: everytime I fix something related to UTF-8 support, another issue creeps up.  So at this point I'm starting to consider just sticking with what I have for now, since it seems to be working just fine.  I suspect that if I keep pushing toward getting everything working the way I want it, I'll end up losing backward compatibility or support for legacy systems.  Not worth it IMHO.

Lantis
07-04-2007, 03:05 AM
I've been looking for another guild that had more samples of names containing accents, for more torough testing.  Seems like this is quite uncommon - even on the french server (and French is fairly accent-heavy in its names usually).  I found it quite odd...  Makes me wonder if being able to enter accents in your username is something you're supposed to be able to do, or is it only possible through some kind of trick that very few people know? In fact, the only field that gets a lot of accentuated cases on the international servers seem to be the Rank field.  Here's a 'worst-case-scenario' that I found <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" /> <img src="http://www.lostrealm.ca/temp/rmut8.png" border="0">

Dark_Grue
07-04-2007, 01:30 PM
<p>Was your sister once bitten by a møøse while karving her initials øn the møøse with the sharpened end of an interspace tøøthbrush given her by Svenge - her brother-in-law -an Oslo dentist and star of many Norwegian møvies: "The Høt Hands of an Oslo Dentist", "Fillings of Passion", "The Huge Mølars of Horst Nordfink"?</p><p>Yøu'rë in lück! Wê cän sørt yøù nøw! </p><hr /><p><a href="http://www.theclenchedfist.com/projects/rm4df/index.html" target="_blank" rel="nofollow"><b><span style="font-size: medium"><span style="color: #00cc00">Roster Master for Dragonfly 6.0.6</span></span></b></a></p>Download from the RM4DF project page at <a href="http://www.theclenchedfist.com/projects/rm4df/index.html" target="_blank" rel="nofollow">http://www.theclenchedfist.com/proj...m4df/index.html</a> <p><b>Changes for Version 6.0.6:</b></p><ul><li>Revised parser to be more UTF-8-friendly by replacing the /w? shorthand with a plain .*? search. Pattern strings are now treated as UTF-8. This modifier is available from PHP 4.1.0 or greater on Unix and from PHP 4.2.3 on win32. UTF-8 validity of the pattern is checked since PHP 4.3.5. Bug reported by Wolffire, code changes supplied by Lantis. </li><li>Changed roster sort from usort() to a purely SQL sort to improve UTF-8 compatibility.</li></ul><hr /><p><b><b><span style="font-size: medium"><span style="color: #00cc00"><a href="http://www.theclenchedfist.com/Downloads/details/id=9.html" target="_blank" rel="nofollow">SoE Update Notes Block</a></span></span></b></b></p><p>Block to display EverQuest II and Vanguard Update Notes from the Sony website. Intended as a center block or module. The included blocks will retrieve the Everquest II Update Notes from <a href="http://patch.everquest2.com:7010/patch/eq2/motd/en/updates_live.html" target="_blank" rel="nofollow">http://patch.everquest2.com:7010/pa...dates_live.html</a> or the Vanguard Update Notes from <a href="http://patch.vanguardsoh.net:7000/patch/vanguard/motd/en/updates_live.html," target="_blank" rel="nofollow">http://patch.vanguardsoh.net:7000/p...ates_live.html,</a> parse the server status and latest headlines out, and cache them for 1800 seconds (half-hour) in the {prefix}_blocks table. This block is a good example of a method of retrieving content from an external site and caching it. Also included are EQ2 and Vanguard modules to display the block data as a module. NOTE: This feature requires that the respective block be installed (but not necessarily marked as active). </p><p>Download from the Clenched Fist website at <a href="http://www.theclenchedfist.com/Downloads/details/id=9.html" target="_blank" rel="nofollow">http://www.theclenchedfist.com/Down...tails/id=9.html</a></p><p><b>Changes for Version 1.0:</b></p><ul><li>Fixed function name collision when the block and module were displayed on the same page at the same time.</li></ul>

Lantis
07-05-2007, 01:39 AM
<i>"While working on RosterMaster I discovered one thing: UTF-8 has a [Removed for Content] large AE radius." - Lantis, raider and programmer.</i> <span style="font-size: medium"><span style="color: #ffff00"><b>RosterMaster Stand Alone 2.3.0</b></span></span> The main highlights of this encounter: <ul><li>Now with three display modes: Simple, Grouped (one single table) and Grouped (multiple tables).</li><li>Proper support for accents (and other non-ASCII characters - even tested with japanese ranks)</li><li>More PHP5-friendly</li></ul> Here's the detailed parse: <p><u>Changes in 2.3.0:</u></p><ul><li>NEW: Grouped display modes (two different ones).  Original flat display also still available. See the 'Display Settings' section of the configuration module.</li><li>NEW: New CSS classes added to the stylesheets: rm_groupheader, rm_groupheaderrow, rm_groupfooter and rm_groupfooterrow.  Please adjust your custom stylesheets accordingly.</li><li>IMPROVED: Now correctly handles names that contains accented characters.  Your server must be configured to output in UTF-8 to display them - see RMSA's documentation on a workaround.</li><li>IMPROVED: Cleanup/optimization of the database interface functions.</li><li>IMPROVED: Made RMSA more PHP5-friendly in general (most notices eliminated).</li><li>IMPROVED: Added the 'Quests' column to the default display template.</li><li>IMPROVED: Database errors while logging will now be ignored.</li><li>IMPROVED: Re-display the navigation links at the bottom of the log viewer</li><li>IMPROVED: Pie charts transparent colour will ensure that it's in contrast with the text colour.  That way, people still using broken browsers will at least be able to read the charts. You can also manually specify your actual background colour in piecharts.php if you wish - see the section near the start of that file.</li><li>FIXED: The Guild Summary data wasn't displayed when using a table prefix.</li><li>FIXED: Will no longer return a "Fatal Error: Call to undefined function: error_message()" if an error occured while trying to log a login attempt</li><li>FIXED: After changing the primary sort option a second time through the dropdown, the passed URL would be invalid.</li><li>FIXED: Typo in includes/progress_js.php</li></ul> View it <a href="http://www.lostrealm.ca/eq2/rm/index.php" target="_blank" rel="nofollow">here</a>. Download it <a href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,4/" target="_blank" rel="nofollow">here</a>. Discuss it here. Work has already started on 3.0, the next major release.  More as development progresses...

Seagoat
07-05-2007, 02:06 AM
All three entries have been updated in the OP, Grue and Lantis.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Lantis
07-16-2007, 05:46 PM
RMSA 3.0.0 is coming along pretty well - I might have something available in a few days. In the mean time, I need some help.  RMSA is going multilingual, and so far I got English and French covered.  I'd like to cover the four languages officially supported by EQ2/EQ2Players.  So I'm looking for translators for - German (Wolffire?) - Japanese (_should_ be doable, RMSA seemed to handle japanese ranks fine at least, so I'd like to give it a try) If you are interested, please let me know.  Basically it's a single file with a series of lines that require translating, shouldn't take too long.  I should have the final english version available in a few days for you to get started.

Belin
07-18-2007, 12:43 AM
Any RM users/devs going to be at Fan Faire in Vegas? I'll be there with my wife - be fun to meet some of the posters here <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Gninja3
07-18-2007, 02:36 AM
I will be there <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Veltor
07-20-2007, 10:29 AM
<div align="left">Hi <div align="left">First I would like to thank You guys for a very nice module =) <div align="left">I have recently set up a testsite (<a href="http://hidden-shadows.mine.nu/" target="_blank" rel="nofollow">http://hidden-shadows.mine.nu</a>) and had the roster up and working for a few times but all I get now is: <div align="left"><b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>C:CMSwwwmodulesRoster_Masterfunctionsparser.inc</b> on line <b>72</b>I have tried to reinstall but I get the same message, any help is appriciated. </div>Kindly</div>Jora</div><img src="http://eq2players.station.sony.com/signature?characterId=598537120" border="0"></div>

Seagoat
07-20-2007, 11:08 AM
<cite>Veltor wrote:</cite><blockquote>First I would like to thank You guys for a very nice module =) <div align="left"><div align="left"><div align="left">I have recently set up a testsite (<a href="http://hidden-shadows.mine.nu/" target="_blank" rel="nofollow">http://hidden-shadows.mine.nu/</a>) and had the roster up and working for a few times but all I get now is: <div align="left"><b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>C:CMSwwwmodulesRoster_Masterfunctionsparser.inc</b> on line <b>72</b>I have tried to reinstall but I get the same message, any help is appriciated.</div></div></div></div></blockquote><p> We'd love to help, but a little more information would be useful...</p><ul><li><b>VERSION</b>:  The version number of RM4DF you're using.</li><li>Whether or not you're running a "tweaked" version of RM (if you've edited the code yourself to change the aesthetics, add features, or remove features).</li></ul><p>Do you remember changing anything at all -- installing new modules, tweaking the RM4DF or Dragonfly code, etc -- between the last time RM worked and the first time you got the error message?  Have you tried uninstalling the RM module, totally deleting the RM files from the server, then reuploading and reinstalling RM?</p>

Dark_Grue
07-20-2007, 12:16 PM
<cite>Veltor wrote:</cite><blockquote><div align="left">Hi <div align="left">First I would like to thank You guys for a very nice module =) <div align="left">I have recently set up a testsite (<a href="http://hidden-shadows.mine.nu/" target="_blank" rel="nofollow">http://hidden-shadows.mine.nu/</a>) and had the roster up and working for a few times but all I get now is: <div align="left"><b>Fatal error</b>: Maximum execution time of 30 seconds exceeded in <b>C:CMSwwwmodulesRoster_Masterfunctionsparser.inc</b> on line <b>72</b>I have tried to reinstall but I get the same message, any help is appriciated. </div>Kindly</div>Jora</div></div></blockquote><p>As Seagoat mentions, we really need more information about your server environment to troubleshoot effectively. The version of RM4DF is pretty important to ensure you're not trying to work uphill against a resolved bug, for example.</p><p>However, I can make a few educated guesses. Line 72 in parser.inc is where the URI snarfer's waiting for stream input, and it says it's timing out. There's a number of possibilities. Your server's outbound bandwidth may be pretty bad, and it's exceeding the PHP execution time limit (which is where the error's coming from - see the PHP directive <a href="http://us2.php.net/manual/en/ref.info.php#ini.max-execution-time" target="_blank" rel="nofollow">max_execution_time</a>).</p><p>Your server appears to have outbound connectivity - it looks like you're using the EQ2 Update Notes block I wrote in the lower left corner, and that works. However, it might be more than just a simple script timeout. Are you sure that the server actually has outbound access on TCP Port 80 (HTTP)? I don't think this is a firewalling issue (I don't think the code can actually proceed to that point if the connection is getting denied or even silently dropped), but it might end up waiting there if there's an outbound proxy in the way and it's too slow. The Update Notes are pulled through TCP Port 7010, so it's <i>possible</i> that filtering/proxy/firewalling could have been restricted on Port 80, and other, high-numbered ports left entirely open (not necessarily a good policy). Without more information, looks more like a local networking/connectivity problem, rather than a problem with RM4DF itself.</p><p>If you have access to your server's PHP.ini file, or the Apache (I'm assuming) server's http.conf you can try increasing the max_execution_time directive to a large number to see if the problem goes away.</p><p><b>EDIT:</b> Here the PHP directive I use in my Apache httpd.conf:</p><p>php_value max_execution_time 90</p><p>That number may need to be higher (although if it does, you might want to consider other options), but it's a decent starting point. To make sure that the change is effective under Dragonfly, go to Administration Menu > > System Info > > PHP Core and look for the:</p><p>max_execution_time                         90        30</p><p>The left number should be the same as what you set, the right-hand number is what's set in php.ini (usually the default 30 seconds).</p>

Lantis
07-20-2007, 04:47 PM
Grue, that german guild I'm using for tests brought up yet another issue <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" />  SOE considers 'Jaelle' and 'Jaellê' to be two different characters (they both exist in that same guild now).  However MySQL considers it to be the same person when using a case-insensitive collation (such as utf8_general_ci).  Switching to a non-ci collation (such as utf8_bin) works, but then sorting becomes [Removed for Content], so that's not a solution. I'm considering switching from Name to Character_ID as the primary key to fix this issue.  I had a look at RM4DF out of curiosity to see what primary you were using - I saw in your changelog that you did the very same thing around version 2.0.0, but the 6.0 code is back to using Name as the primary key.  Was there any reason that forced you to return to the original primary key before I shoot myself in the foot by doing that change? <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Dark_Grue
07-20-2007, 07:10 PM
<b>Lantis@Antonia</b><b> Bayle wrote:</b> <blockquote>Grue, that german guild I'm using for tests brought up yet another issue :(  SOE considers 'Jaelle' and 'Jaellê' to be two different characters (they both exist in that same guild now).  However MySQL considers it to be the same person when using a case-insensitive collation (such as utf8_general_ci).  Switching to a non-ci collation (such as utf8_bin) works, but then sorting becomes [Removed for Content], so that's not a solution.</blockquote><p>Well, from a language standpoint, 'Jaelle' and 'Jaellê' are really two different names. How they're sorted in a "natural sort" is region-specific. Which is what the collations are supposed to define.</p><p>I don't really have the luxury of messing with the Dragonfly collations (and indeed from what I understand, messing with the collations can really mess up the DB). I'm afraid I don't understand the issues, tech, and more importantly, quirks of the whole mess. Standing on the periphery of the discussion, it was my understanding that collations are kinda kludgy. For RM, it's probably the closest I can get to a solution. The other problem is, being monolingual (at least in terms of natural languages), I wouldn't know if something was sorted wrong 99% of the time anyway. :-(</p><p><b>Lantis@Antonia</b><b> Bayle wrote:</b> </p><blockquote>I'm considering switching from Name to Character_ID as the primary key to fix this issue.  I had a look at RM4DF out of curiosity to see what primary you were using - I saw in your changelog that you did the very same thing around version 2.0.0, but the 6.0 code is back to using Name as the primary key.  Was there any reason that forced you to return to the original primary key before I shoot myself in the foot by doing that change? :) </blockquote><p>I had to read through cpg_inst.php three times before I caught the mistake, I <i>was</i> going to insist that characterId is the primary key - it is - <b>except</b> for the roster table. At one point in 6.0.0's development, I was using Name, because at the time we were thinking we couldn't get the characterId anymore (and then I decided to just recompose it by parsing the HTML roster as well). Obviously, I forgot to switch it back when I was working on the roster table. It's an oversight on my part. Changing it to characterId ought to solve the uniqueness problem (although I'd have to say the collation's broken if they're being considered identical).</p><p>I see it as divine retribution for those godless heathens with more than 26 letters in the alphabet. ;)</p><p><b>EDIT:</b> As Lantis confirmed, the following command will fix it:</p><span style="font-family: courier new,courier">ALTER TABLE `cms_roster_master` DROP PRIMARY KEY, ADD PRIMARY KEY (`characterId`) </span><p>It'll make it into the next version of RM4DF, whenever that is.</p>

Lantis
07-20-2007, 07:43 PM
<cite>Dark_Grue wrote:</cite><blockquote>Well, from a language standpoint, 'Jaelle' and 'Jaellê' are really two different names. How they're sorted in a "natural sort" is region-specific. Which is what the collations are supposed to define.<p>I don't really have the luxury of messing with the Dragonfly collations (and indeed from what I understand, messing with the collations can really mess up the DB). I'm afraid I don't understand the issues, tech, and more importantly, quirks of the whole mess. Standing on the periphery of the discussion, it was my understanding that collations are kinda kludgy. For RM, it's probably the closest I can get to a solution. The other problem is, being monolingual (at least in terms of natural languages), I wouldn't know if something was sorted wrong 99% of the time anyway. :-(</p></blockquote>Can't say I'm in familiar territories either - I just started to learn about this stuff after I aggroed a UTF8-using guild :)  I guess that means the MySQL 5.1 collations are broken then if they consider both of these names as the same one.  I'm doing my test on a VMWare-based FC6 server here.  (my production server is still using MySQL 4.0). <cite>Dark_Grue wrote:</cite><blockquote><p>I had to read through cpg_inst.php three times before I caught the mistake, I <i>was</i> going to insist that Character_ID is the primary key - it is - <b>except</b> for the roster table. At one point in 6.0.0's development, I was using Name, because at the time we were thinking we couldn't get the Character_ID anymore (and then I decided to just recompose it by parsing the HTML roster as well). Obviously, I forgot to switch it back when I was working on the roster table. It's an oversight on my part. Changing it to Character_ID ought to solve the uniqueness problem (although I'd have to say the collation's broken if they're being considered identical).</p><p>Haven't tested it (can't get to the server from where I am), but should be able to fix this with a:</p><p><span style="font-family: courier new,courier">ALTER TABLE {$prefix}_roster_master{$suffix} DROP PRIMARY KEY</span></p><p><span style="font-family: courier new,courier">ALTER TABLE {$prefix}_roster_master{$suffix} ADD PRIMARY KEY (Character_ID)</span></p></blockquote> Those are correct.  Can also be merged together as one single statement.  This is what I got from phpMyAdmin: <span style="font-family: courier new,courier">ALTER TABLE `{$config['prefix']}roster_master` DROP PRIMARY KEY, ADD PRIMARY KEY (`Char_id`) </span> I did a few tests with it this afternoon and this seems to fix the issue, so I'll go ahead and apply the change to my schema. Thankfully, now's the best time for me to do that kind of stuff since RMSA 3.0.0 already has a couple of schema changes.

Veltor
07-21-2007, 10:27 AM
<p>First off, thanks for the quick reply =) I would like to add that Hidden Shadows has 678 members and I was wondering if this can have an impact on the timeout.</p><p>I am using version 6.0.6, this is what I have done!</p><p>1. I have removed and reinstall - Not working.</p><p>2. I have incresed the timeout to 90  and using Hidden Shadows on Nagafen - This is Not working, still timeout error.</p><p>3. I used the default config.inc (clenched fist) - This is working!</p><p>4. Tested Exodus on Nagafen with 232 members - This is working!</p><p>5. Changed timout to 300</p><p>6. Tested the guild Fall on Nagafen with 300+ members - This is Working but it took a while before it came up.</p><p>7. Changed back to Hidden Shadows on Nagafen 678 members - Not Working</p><p>8. Changed timeout to 3600 (crazy) and finally got it to update... going to change this back to 90 secs.</p><p>Well... I am clueless it did work last week without any problems... but not it takes like forever now to get the roster on Hidden Shadows (id: 3844120)</p><p>Thanks again for the support!</p><p><img src="http://eq2players.station.sony.com/signature?characterId=598537120" border="0"></p>

Lantis
07-21-2007, 02:30 PM
<cite>Veltor wrote:</cite><blockquote>8. Changed timeout to 3600 (crazy) and finally got it to update... going to change this back to 90 secs.<p>Well... I am clueless it did work last week without any problems... but not it takes like forever now to get the roster on Hidden Shadows (id: 3844120)</p> </blockquote>Just tried it myself with RMSA, and I also got a timeout during the URL fetching stage: <b>(CURL) Error 28: Operation timed out after 30 seconds with 624026 bytes received </b>  So, the issue isn't with your server nor with your host but with the EQ2Players site.  Could be a new performance issue on their part...  Hopefully something they will be able to resolve. n the meantime, I suspect your only shot will be to either try a scheduled update occurring during the night (maybe SOE's servers will be more responsive then?), or to use some other mean to prefetch the pages to local files (using some non-PHP method that would have an adjustable timeout - I'm thinking things like Curl or Wget here), then parse these files.

Dark_Grue
07-21-2007, 03:29 PM
<cite>Veltor wrote:</cite><blockquote>First off, thanks for the quick reply =) I would like to add that Hidden Shadows has 678 members and I was wondering if this can have an impact on the timeout.</blockquote><p>We have an excellent support community here for Roster Master, for which I'm thankful for. Makes working on RM a pleasure. <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" /></p><p>Hah! 678 members? Holy cow! Yes, that probably has a impact on the timeout. It shouldn't - sending a roster with 678 lines isn't actually that much data (and remeber, we're just pulling the page text - no graphics, no nothin'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />. However, the large guild size might impact how long it takes EQ2Players to respond (again, it <i>shouldn't</i>, but it's not like we haven't had reason to question their design decisions and implementation in other cases). You definitely have an... atypical guild size, compared to most RM users.</p><p>Makes me curious to see how well my design scales under those circumstances.</p><p>Well, let's see. The Clenched Fist roster is 7.68KB, and takes 0.1 sec to load. Hidden Shadows is 58.63 KB and takes 0.438 sec to load. Big difference, but not on the order of full seconds. But time is dependent on bandwidth and connectivity between you and the EQ2Players servers, so the time measurements aren't objective.</p><p>I can actually load your roster without having to change the max_execute_time directive from what I currently have it set site-wide (90 seconds), but it does take an uncomfortably long time to complete.</p><p>Veltor wrote:</p><blockquote>I am using version 6.0.6, this is what I have done! <p>1. I have removed and reinstall - Not working.</p><p>2. I have incresed the timeout to 90  and using Hidden Shadows on Nagafen - This is Not working, still timeout error.</p><p>3. I used the default config.inc (clenched fist) - This is working!</p><p>4. Tested Exodus on Nagafen with 232 members - This is working!</p><p>5. Changed timout to 300</p><p>6. Tested the guild Fall on Nagafen with 300+ members - This is Working but it took a while before it came up.</p><p>7. Changed back to Hidden Shadows on Nagafen 678 members - Not Working</p><p>8. Changed timeout to 3600 (crazy) and finally got it to update... going to change this back to 90 secs.</p><p>Well... I am clueless it did work last week without any problems... but not it takes like forever now to get the roster on Hidden Shadows (id: 3844120)</p></blockquote><p>OK, good info, good approach to troubleshooting. You did a good job eliminating variables, and it looks like the time it takes RM to get the roster page is indeed what's clobbering you, not any functional/configuration issues.</p><p>Let's try this, it might make your Apache configuration a little simpler (since if you up the max_execution_time parameter, you're upping it for <b><i>all</i></b> PHP, rather than just this function). Go to the parser.ini file and then Line 48. Add the following line:</p><p>set_time_limit(90);</p><p>Try that as a starting value. Remember, once the roster is loaded, it won't try and re-parse the data until the $config['cache_update_time'] value in config.inc has expired (the default is 6 hours), so you won't necessarly see any errors until then (although just the size of your DB may mean you need to set max_execution_time larger for Dragonfly in general). Using the "Force Update" option will force RM to pull the roster data again, and is the best way to test your settings. You'll have to experiment with the values.</p><p>Keep in mind that the way the time limit works is that time limit is allocated for each call of fetch_URL, so practically speaking, what happens is the currently effective value of max_execute_time is calculated for the local running environment (php.ini, Apache http.conf, etc.) DF starts, then RM, then fetch_URL resets the timer with the set_time_limit() and returns, fetch_URL is called again, restarts the timer again, and execution then completes on that timer. Which means that if the roster's really that busy, it could be quite a while before the user sees a response (over three minutes if all the timers are used up).</p><p>I don't think fetch_URL() is where all the time's being used up though. I need to do some code benchmarking and see where the time is being consumed, there might be a big performance hog in the code that could be taken out.</p>

Lantis
07-21-2007, 04:29 PM
I think the only page that actually has issues is the HTML one - the two XML feeds and the CSV ones are fairly quick to retrieve.  So, I suspect the issue is with how EQ2Players generates their own roster display - their web server might be overloaded (can't think it's a database issue since CSV and XML feeds are fine). There has definitely be a recent drop in performance with EQ2Players' roster.  I remember one RMSA user had a very large guild (I think it was even more than 600), which led me at the time to insert a dynamic progress report (that guild's webmaster had inserted a static message warning it could take a while to load).  Still, I remember that guild didn't take more than 30 secs to refresh back then.  Now, even much smaller guilds can't display within 30 secs. Makes me consider supporting an alternate method of fetching/updating data, for those larger guilds... a) Cron job that would fetch all required pages and save them to disk b) On a non-forced update, check if the files exist.  If they do, update from those files, then delete them. Not ideal, but better than having no roster at all I guess.  We'll see if SOE fixes the performance issue during the week.

CammanCMC
07-21-2007, 04:43 PM
<p>Hello Everyone.</p><p>And hello Dark_grue.</p><p>Need some help.</p><p> Is RM4DF 6.0.6 compatable with Dragonfly 9.1.2.1?</p><p> I have installed it on my site and I have problems with the wall of fame block.  This is a fresh install of both DF and RM4DF.</p><p>The divs or tables in the code appear to be missing a closing tag or something and when I enable the block on the left, it kills everthing to the left of it -putting it in the block itself.</p><p> Another problem that has existed even with the previous version I was running of DF, the class break down array seems to show Fighter, priest, mage, scout, again after you expand the tree. and the arch classes are all 0.  Only the final classes show numbers.</p><p>The problems are best described with a picture:</p><p><img src="http://www.tauntingfate.com/images/Debug/debugblock.jpg" border="0"></p><p>I'm pretty positive the content blackout is a problem with the block and DF 9.1.2.1 because I even used the old block from the last version of DF I was running and the content still disappears -including the rignt side blocks.</p><p>I've been living with the class breakdown problem with the last version of DF too.</p><p>When I delete the Wall of Fame block or de-activate it, all the rest of RM4DF works great.  Any Ideas?</p>

Dark_Grue
07-21-2007, 06:13 PM
<cite>CammanCMC wrote:</cite><blockquote><p>Hello Everyone.</p><p>And hello Dark_grue.</p><p>Need some help.</p><p> Is RM4DF 6.0.6 compatable with Dragonfly 9.1.2.1?</p></blockquote><p>Yup, it is. I'm pretty much always running the bleeding-edge version of Dragonfly ('cause I also work on the DF Debugging Team). Generally-speaking there aren't many issues that come up between RM4DF and DF itself.</p><p> CammanCMC wrote: </p><blockquote><p>I'm pretty positive the content blackout is a problem with the block and DF 9.1.2.1 because I even used the old block from the last version of DF I was running and the content still disappears -including the rignt side blocks.</p><p>I've been living with the class breakdown problem with the last version of DF too.</p><p>When I delete the Wall of Fame block or de-activate it, all the rest of RM4DF works great.  Any Ideas?</p></blockquote><p>Thanks for the picture, it does help with troubleshooting. I'm pretty much 100% sure the problem is the block cache, and that you didn't update your DF core table like it mentions you need to do in NOTE3 of the INSTALL.txt file. What's happening, is the first time you view the block, it pulls the data live and displays it, and things are fine. Every subsequent view, it's pulled from the cache, and it's broken. Since I put a lot of effort into documenting the issue, I'll repeat what's in the docs here:</p><p><i>"The Guild Wall of Fame block stores a copy of its output in the "content" field of the "{prefix}_blocks" table, and pulls from there rather than re-run all the queries (until the block needs to be updated). This works perfectly well until the stored block exceeds the TEXT field type it's stored in which has a maximum length of 65,535 (2^16 - 1) characters. This condition would pretty much only exists if $config['breakdown_shownames'] = 1, since the block stays a constant length that's within the limits of the TEXT field. Also, people with very small guilds, can possibly duck under the limit, even with it enabled. To work around this, the Roster Master installer will change the field type of the table from TEXT to MEDIUMTEXT. This should have no impact on the operation of the Dragonfly CMS core, or to database efficiency. However, please note that if you subsequently upgrade the Dragonfly CMS core, there is a good chance that the CMS installer will revert the field type back to TEXT, in which case it would have to be remedied once again by hand (using whatever SQL management interface that you are comfortable with)."</i></p><p>Although I did set the RM4DF installer to do this once automatically for upgrades, I don't think it will for a new install. And, if you upgrade Dragonfly and it resets the table, it won't change it back automatically. Running the command:</p><p><span style="font-family: courier new,courier">ALTER TABLE {$prefix}_blocks CHANGE content content MEDIUMTEXT;</span> </p><p>Where {$prefix} is your table prefix (the default is cms, so it would read cms_blocks if you're using the default DF config) in your favorite SQL interface of choice will fix your problem.</p><p>There's a lot of important information in the documentation! <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" /></p>

Dark_Grue
07-21-2007, 06:28 PM
<p>I started running my own tests, indeed, seems like it's taking most of its time waiting for the HTML roster to come back (<b>177 seconds</b> or so in the case of Hidden Shadows!). It takes at least an order of magnitude longer to return the HTML roster than just the data feed, despite the amount of data being passed is nearly identical.</p><p>Lantis@Antonia Bayle wrote: </p><blockquote>Makes me consider supporting an alternate method of fetching/updating data, for those larger guilds... a) Cron job that would fetch all required pages and save them to disk b) On a non-forced update, check if the files exist.  If they do, update from those files, then delete them. Not ideal, but better than having no roster at all I guess.  We'll see if SOE fixes the performance issue during the week. </blockquote><p>RM4DF can already basically do this with the undocumented (well, actually it is pretty well documented in the config.inc file), but definitely currently <u>unsupported</u> $config['read_file_hack'] parameter. One could script up a little cron jobby to do a wget (or use Lynx in command-line mode), or whatever, and you'd be good to go. There's no synch mechanism between the RM4DF timer and the files though, so you could get into timing considerations on how fresh the files are and where $config['cache_update_time'] is set. I don't know if it really need to be one, other than just judicious setting of that parameter - you can set it a lot lower if all you're doing is parsing a local file.</p><p>Might be a good alternative solution. The only problem I might see with it is a lot of hosting services don't allow cron access...</p>

Lantis
07-21-2007, 07:34 PM
<cite>Dark_Grue wrote:</cite><blockquote><p>RM4DF can already basically do this with the undocumented (well, actually it is pretty well documented in the config.inc file), but definitely currently <u>unsupported</u> $config['read_file_hack'] parameter. One could script up a little cron jobby to do a wget (or use Lynx in command-line mode), or whatever, and you'd be good to go. There's no synch mechanism between the RM4DF timer and the files though, so you could get into timing considerations on how fresh the files are and where $config['cache_update_time'] is set. I don't know if it really need to be one, other than just judicious setting of that parameter - you can set it a lot lower if all you're doing is parsing a local file.</p><p>Might be a good alternative solution. The only problem I might see with it is a lot of hosting services don't allow cron access...</p></blockquote>How about having RM always check for the presence of the files whenever a roster display is requested, and use them if they are present, no matter if it's due for another refresh?  Since it would then delete those files afterward, that means RM would update from the grabbed files at the first chance it has to do so.  It would also mean you wouldn't have to do any special config in RM itself - just setup a cron job to grab those files as often as you wish, RM will automatically use them if they exist.  Only potential issue here would be related to file permissions: what if RM can't delete the files - would mean it would keep reparsing them everytime someone accessed the roster? Also, a creative webmaster who's stuck with outbound restrictions could even use that trick to upload the pages to his website from another server through a cronjob. You're right about the fact that few hosts will let you create new cron jobs (and I'd also add that few webmasters these days actually know what a cron job is), but I see that as a last-resort solution for: 1) People with large guilds, in case SOE can't resolve the issue 2) People with outbound access restrictions, that can't use a web proxy either (RMSA supports web proxies through Curl) I'll definitely be giving it some more thought here.

Dark_Grue
07-21-2007, 08:13 PM
Lantis@Antonia Bayle wrote: <blockquote>How about having RM always check for the presence of the files whenever a roster display is requested, and use them if they are present, no matter if it's due for another refresh?  Since it would then delete those files afterward, that means RM would update from the grabbed files at the first chance it has to do so.  It would also mean you wouldn't have to do any special config in RM itself - just setup a cron job to grab those files as often as you wish, RM will automatically use them if they exist.  Only potential issue here would be related to file permissions: what if RM can't delete the files - would mean it would keep reparsing them everytime someone accessed the roster? Also, a creative webmaster who's stuck with outbound restrictions could even use that trick to upload the pages to his website from another server through a cronjob. </blockquote><p>With the switch turned on, RM will parse the files and store them into the DB whenever a parse is needed, or if it's forced by the admin. If you turn it on all the time, it'd be doing all the parsing (and all the updating of the DB) every time. I suspect it might be a pretty significant performance hit.</p><p>There's three considerations I have, pretty much in order of priority:</p><ul><li>Performance on the server (parsing, DB read/writes, etc.)</li><li>Not providing a disruptive amount of traffic polling the EQ2Players server</li><li>Providing the data in a timely fashion</li></ul><p>If you just say have the cron job run every few hours, and have RM refresh maybe every hour, your roster's not going to be that far out of date. I'm not sure that excessive effort needs to be placed in rigorous timing of the updates - from what I understand, EQ2Players updates at most hourly (and we have reason to believe it's far more irregular than that). I'm open to suggestions that will improve performance though.</p><p>I don't want to have it just automatically parse files without a configuration switch. Hosting providers tend to be pretty sloppy at times, customers can sometimes write across their sandboxes, and people don't always read the documentation. While you can't always overwrite or change an existing file, it's concievable that one might be able to write a new file (and I could construct a pretty... interesting... roster for your guild with a carefully-crafted file). I can also see a lot of "my roster won't change" questions coming from that. Which is part of the reason I wasn't supporting the file hack - there are a lot of troubleshooting steps just making sure that file gets there intact.</p>

Lantis
07-21-2007, 08:35 PM
<cite>Dark_Grue wrote:</cite><blockquote><p> read the documentation. While you can't always overwrite or change an existing file, it's concievable that one might be able to write a new file (and I could construct a pretty... interesting... roster for your guild with a carefully-crafted file). I can also see a lot of "my roster won't change" questions coming from that. Which is part of the reason I wasn't supporting the file hack - there are a lot of troubleshooting steps just making sure that file gets there intact.</p></blockquote> Hm.  Very good point on the security issues that might arise there - security tends to be lower regarding creating a new file vs modifying an existing one, so having this as an always-on solution is indeed a bad idea. The same security issues could arise from having an external script whose sole job would be to parse temporary files that were just grabbed (possibly by the same cronjob) - one would be able to pass any arbitrary argument to that script if it wasn't properly secured, and have fun with your database. So...  We're back to: a) Hope SOE resolves the performance issue b) Start using higher timeout values by default. c) Document a way for webmasters to force a database refresh through a cron, so if you end up using a very long timeout value, at least there won't be anyone waiting in front of the browser during those updates.  Right now, RMSA can do that through something like 'php rostermaster.php force_update=1'.  I could possibly add a 'quiet' keyword or something similar so it won't output anything in the process.

Dark_Grue
07-21-2007, 11:58 PM
Lantis@Antonia Bayle wrote: <blockquote>The same security issues could arise from having an external script whose sole job would be to parse temporary files that were just grabbed (possibly by the same cronjob) - one would be able to pass any arbitrary argument to that script if it wasn't properly secured, and have fun with your database. </blockquote><p>The cron script to wget the HTML and CSV (or XML) files wouldn't necessarily have to take any parameters at all - it could be hardcoded, or read the config.inc file. So that's not an increased source of risk. It's good you're thinking along those lines though.</p><p>Doing interprocess communications with files isn't new, but it does mean that your security model is dependent on filesystem security. Which isn't really a beginner's topic. Filesystem security varies from OS to OS (and sometimes between versions as well), just trying to explain the issues, configurations, getting it right, well, you could write a small book. The whole overall use of a cronjob requires some serious system administration-level thinking and skills to set up correctly, let alone securely. I don't think we can prepackage that for folks without creating additional risk for the overwhelming majority of users.</p><p>The option exists right now with the RM4DF hack, but it's probably an option that really requires the user take serious consideration of what - and how - they're doing it. Leaving a little of a do-it-yourself gap is an artificial barrier of a sort, but might be the best way to handle it currently. Until there's a better choice anyway. </p>

Veltor
07-22-2007, 09:08 AM
<cite>Dark_Grue wrote:</cite><blockquote><p>Let's try this, it might make your Apache configuration a little simpler (since if you up the max_execution_time parameter, you're upping it for <b><i>all</i></b> PHP, rather than just this function). Go to the parser.ini file and then Line 48. Add the following line:</p><p>set_time_limit(90);</p></blockquote><p>First off, Thanks for the support guys (Dark_Grue & Lantis)</p><p> I have tried to add the line... but I still can't use any lower values than 240. </p><p>Just as You guys say... It's a SOE performance issue and from my own experience it's only gotten worse over time (past years)</p><p>I am now running it with:</p><p>php_value max_execution_time 240 (httpd.conf)</p><p>max_execution_time = 240 (php.ini)</p><p>set_time_limit(240); (parser.inc)</p><p>Thanks again!</p><p><img src="http://eq2players.station.sony.com/signature?characterId=598537120" border="0"></p>

CammanCMC
07-22-2007, 01:25 PM
<cite>Dark_Grue wrote:</cite><blockquote><p>Yup, it is. I'm pretty much always running the bleeding-edge version of Dragonfly ('cause I also work on the DF Debugging Team). Generally-speaking there aren't many issues that come up between RM4DF and DF itself.</p><p>Thanks for the picture, it does help with troubleshooting. I'm pretty much 100% sure the problem is the block cache, and that you didn't update your DF core table like it mentions you need to do in NOTE3 of the INSTALL.txt file. What's happening, is the first time you view the block, it pulls the data live and displays it, and things are fine. Every subsequent view, it's pulled from the cache, and it's broken. Since I put a lot of effort into documenting the issue, I'll repeat what's in the docs here:</p><p><i>"The Guild Wall of Fame block stores a copy of its output in the "content" field of the "{prefix}_blocks" table, and pulls from there rather than re-run all the queries (until the block needs to be updated). This works perfectly well until the stored block exceeds the TEXT field type it's stored in which has a maximum length of 65,535 (2^16 - 1) characters. This condition would pretty much only exists if $config['breakdown_shownames'] = 1, since the block stays a constant length that's within the limits of the TEXT field. Also, people with very small guilds, can possibly duck under the limit, even with it enabled. To work around this, the Roster Master installer will change the field type of the table from TEXT to MEDIUMTEXT. This should have no impact on the operation of the Dragonfly CMS core, or to database efficiency. However, please note that if you subsequently upgrade the Dragonfly CMS core, there is a good chance that the CMS installer will revert the field type back to TEXT, in which case it would have to be remedied once again by hand (using whatever SQL management interface that you are comfortable with)."</i></p><p>Although I did set the RM4DF installer to do this once automatically for upgrades, I don't think it will for a new install. And, if you upgrade Dragonfly and it resets the table, it won't change it back automatically. Running the command:</p><p><span style="font-family: courier new,courier">ALTER TABLE {$prefix}_blocks CHANGE content content MEDIUMTEXT;</span> </p><p>Where {$prefix} is your table prefix (the default is cms, so it would read cms_blocks if you're using the default DF config) in your favorite SQL interface of choice will fix your problem.</p><p>There's a lot of important information in the documentation! <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" /></p></blockquote><p>Dark_grue</p><p>Excellent help.  I definitely missed that part in the install documentation.  I think I dismissed it as unapplicable to my fresh install for some reason.</p><p> I fired up phpMyAdmin and successfully ran your suggested command on the dragonfly database:</p><p>ALTER TABLE cms_blocks CHANGE content content MEDIUMTEXT;</p><p>Immediately the content of the site came back.  I forced an update of rostermaster to populate the block with data again and the class and trades breakdowns are working great!</p><p> Thanks a lot for your guidance.  Much appreciated! <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> </p>

CammanCMC
07-22-2007, 04:45 PM
Dark_grue, Sent you a PM about something else unrelated to RM4DF. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Dark_Grue
07-22-2007, 06:24 PM
<cite>Veltor wrote:</cite><blockquote><p>First off, Thanks for the support guys (Dark_Grue & Lantis)</p><p> I have tried to add the line... but I still can't use any lower values than 240. </p><p>Just as You guys say... It's a SOE performance issue and from my own experience it's only gotten worse over time (past years) </p></blockquote><p>Ok, sorry, didn't mean to imply 90 was going to work, just it was a good value to start with. Loading you roster does take a really, really long time as I noted in the benchmarks.</p><p>Veltor wrote: </p><blockquote><p>I am now running it with:</p><p>php_value max_execution_time 240 (httpd.conf)</p><p>max_execution_time = 240 (php.ini)</p><p>set_time_limit(240); (parser.inc)</p></blockquote>Probably massive overkill to set it in all 3 places. The httpd.conf value will overwrite the php.ini value - you'll probably want to set php.ini back to the default so that it won't apply to everything you run in PHP. The set_time_limit() in parser.inc overwrites both values (actually, every time you call it, it restarts the timer), so you could probably take the setting out of httpd.conf (or lower it to something more reasonable). Having all 3 doesn't really hurt anything (just means that scripts that hang or infinite loop will wait a lot longer to time out), but you could have a more minimal configuration if you wished to.

Lantis
07-23-2007, 01:15 AM
<cite>Dark_Grue wrote:</cite><blockquote><blockquote><p>php_value max_execution_time 240 (httpd.conf)</p><p>max_execution_time = 240 (php.ini)</p><p>set_time_limit(240); (parser.inc)</p></blockquote>I am now running it with<img src="/smilies/69934afc394145350659cd7add244ca9.gif" border="0" alt="SMILEY" />robably massive overkill to set it in all 3 places. The httpd.conf value will overwrite the php.ini value - you'll probably want to set php.ini back to the default so that it won't apply to everything you run in PHP. The set_time_limit() in parser.inc overwrites both values (actually, every time you call it, it restarts the timer), so you could probably take the setting out of httpd.conf (or lower it to something more reasonable). Having all 3 doesn't really hurt anything (just means that scripts that hang or infinite loop will wait a lot longer to time out), but you could have a more minimal configuration if you wished to.</blockquote> I'd recommend using .htaccess in the RM4DF folder rather than httpd.conf - that way the setting should only apply to scripts within that folder.  I don't know for sure if that specific setting can be overriden in .htaccess, I use that technique to enforce UTF-8 encoding myself.

Dark_Grue
07-23-2007, 01:32 PM
Lantis@Antonia Bayle wrote: <blockquote>I'd recommend using .htaccess in the RM4DF folder rather than httpd.conf - that way the setting should only apply to scripts within that folder.  I don't know for sure if that specific setting can be overriden in .htaccess, I use that technique to enforce UTF-8 encoding myself. </blockquote><p> In order to set PHP values from .htaccess files, you will need "AllowOverride Options" or "AllowOverride All" privileges to do so. If the directive is set with php_admin_value or php_admin_flag in the httpd.conf file, you cannot override this setting in a .htaccess file. So hosted users might get blocked by that.</p><p>I'm currently considering adding a configurable set_time_limit() call in the HTML page loop, rather than in the fetch_URL() function, as a possible minimal configuration. The only concern here is really whether you can actually change the value from where you're changing it - and also keeping the overall timers as low as possible. Leaving the timers high just means runaway processes stay live (and consuming resources) longer when they don't have to, so I'm trying to see what the absolute minimum we can do about futzing with the timer while still keeping it functional. Only bumping the timer value up for that one operation that requires it - rather than the whole server, Dragonfly, or even the RM module - would be ideal.</p>

jey10
07-24-2007, 06:36 PM
<p>Greetings all,</p><p> Long time no reply....</p><p> Well the reason for the reply is as such.  I keep getting timeout errors when accessing my RosterMaster Module.  Not sure what is going on but this only started happening about 2 weeks ago.  Now I downloaded and installed the July 07 update and now when I try to force an update that times out as well... I know that my guild is a huge one 800+ toons could that be the issue?</p><p> <a href="http://www.grenricks.com/" target="_blank" rel="nofollow">www.grenricks.com</a>  Is our website I will enable the RosterMaster Module so you can see what happens..</p><p> Any help is much appreicated.</p><p>Regards,</p>

Lantis
07-25-2007, 12:49 AM
<cite>jey10 wrote:</cite><blockquote><p>Greetings all,</p><p> Long time no reply....</p><p> Well the reason for the reply is as such.  I keep getting timeout errors when accessing my RosterMaster Module.  Not sure what is going on but this only started happening about 2 weeks ago.  Now I downloaded and installed the July 07 update and now when I try to force an update that times out as well... I know that my guild is a huge one 800+ toons could that be the issue?</p><p> <a href="http://www.grenricks.com/" target="_blank" rel="nofollow">www.grenricks.com</a>  Is our website I will enable the RosterMaster Module so you can see what happens..</p><p> Any help is much appreicated.</p><p>Regards,</p></blockquote>Hi, Look at our recent posts in this very thread, we have been discussing this specific issue..

Veltor
07-25-2007, 12:53 AM
<cite>jey10 wrote:</cite><blockquote><p>Greetings all,</p><p> Long time no reply....</p><p> Well the reason for the reply is as such.  I keep getting timeout errors when accessing my RosterMaster Module.  Not sure what is going on but this only started happening about 2 weeks ago.  Now I downloaded and installed the July 07 update and now when I try to force an update that times out as well... I know that my guild is a huge one 800+ toons could that be the issue?</p><p> <a href="http://www.grenricks.com/" target="_blank" rel="nofollow">www.grenricks.com</a>  Is our website I will enable the RosterMaster Module so you can see what happens..</p><p> Any help is much appreicated.</p><p>Regards,</p></blockquote><p>Hi there!</p><p>If You scroll up to page 24... theres a post from me with the same problem... I guess SOE got some performance issues and it's only getting worse. I hope they fix it soon =) </p>

jey10
07-25-2007, 09:56 AM
Greetings, First I am sorry for ignorance with regards to not looking back to see if someone had posted on this issue.  After reading your post I see that I am not the only one having this issue. <ol><li>I have gone through and made the addition to my parse.inc file set_time_limit(90)</li><ol><li>With or without the set_time_limit(90) I get a 500 Server Error  [code=SERVER_RESPONSE_CLOSE], When I try to "Force Update"</li><ol><li>No matter with or without the set_time_limit variable I keep getting the same error in #6.</li></ol></ol><li>I have removed and reinstalled Roster Master and included the latest update provided July 2007</li><li>I have purged my database as well as Roster Master </li><li>An update Ran this morning 7/25 @ 0757 (roughly) and pulled in all our  Characters from what I can see.  </li><ol><li>But it only provided details to fifteen (15) of the Characters all other's are zero'd (0) out.... </li><li>We have roughly 800+ Characters in our Guild</li></ol></ol>I do hope that this provided what I needed to provide. Regards,

Lantis
07-25-2007, 03:20 PM
<cite>jey10 wrote:</cite><blockquote>Greetings, First I am sorry for ignorance with regards to not looking back to see if someone had posted on this issue.  After reading your post I see that I am not the only one having this issue. <ol><li>I have gone through and made the addition to my parse.inc file set_time_limit(90)</li><ol><li>With or without the set_time_limit(90) I get a 500 Server Error  [code=SERVER_RESPONSE_CLOSE], When I try to "Force Update"</li><ol><li>No matter with or without the set_time_limit variable I keep getting the same error in #6.</li></ol></ol><li>I have removed and reinstalled Roster Master and included the latest update provided July 2007</li><li>I have purged my database as well as Roster Master </li><li>An update Ran this morning 7/25 @ 0757 (roughly) and pulled in all our  Characters from what I can see.  </li><ol><li>But it only provided details to fifteen (15) of the Characters all other's are zero'd (0) out.... </li><li>We have roughly 800+ Characters in our Guild</li></ol></ol>I do hope that this provided what I needed to provide. Regards, </blockquote> Which version of RosterMaster are you running?  Both RM4DF and RMSA got updates in July. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> Since you mention parser.inc I'll assume you're referring to RM4DF.  The reason why you end up with an incomplete roster is that RosterMaster relies on multiple sources to obtain all the data it needs.  Only one of these feeds times out, so you have the incomplete data coming from the other feeds (XML/CVS).  Try using a higher value than 90 secs for set_time_limit, such as 180. (NOTE: set_server_limit() doesn't work if your server runs PHP in Safe Mode.  In that case, see the other methods suggested by Grue earlier). Is the 500 SERVER ERROR coming from your own server, or is it within an error message reported by RosterMaster?  Does it still occur if you try a forced updated now? The EQ2Players issue has gone worse since the start of the week.  I sincerely hope they will look into it soon.  This is not only affecting RM itself - this affects anyone trying to view their guild roster on SOE's own website.  Try this for example: <a href="http://eq2players.station.sony.com/guilds/guild_profile.vm?guildId=903106" target="_blank" rel="nofollow">http://eq2players.station.sony.com/...?guildId=903106</a> It's been over <b>two minutes</b> now since I started trying to load this page, and it's <b>still loading</b>...  I think SOE needs to buy stronger hamsters...

jey10
07-25-2007, 04:19 PM
<p>Greetings,</p><p> I indeed do have RM4DF running in my dragonfly site...</p><p> I have made the timeout all the way up to 500 and I still get the same error.  I will try the other locations that Grue mentioned as well.</p><p>The error comes from the website and not Roster Master</p><p> I am unsure if they do run PHP in safe mode I have sent them a ticket request to find out.</p><p> I tried that site go figure.. : )</p><p> I thank you for all your help I will let you know what I find out once I have made more changes.</p><p>Regards,</p>

Dark_Grue
07-25-2007, 04:35 PM
<cite>jey10 wrote:</cite><blockquote><p>Greetings,</p><p> I indeed do have RM4DF running in my dragonfly site...</p><p> I have made the timeout all the way up to 500 and I still get the same error.  I will try the other locations that Grue mentioned as well.</p></blockquote><p>Have you tried running RM4DF with a literally-stock config.inc? That points the roster to the Clenched Fist, which is my (relatively-speaking) itty-bitty guild. If it loads with a completely stock configuration, chances are you're looking at the EQ2Players performance problem we've been discussing, and you're going to have to use those <i>insane</i>-high max_execution_time values that we've been fretting about.</p><p><b>@Lantis:</b></p><p>Found out from the DF Dev team today that it does have a wrapper class for at least some of the mb_* functions, so I can probably replace the remaining non-multibyte-safe functions in the parser and module. I realize this doesn't help SA though. =( You might want to take a look at the DF source and see how they handled it though, might give you an idea. The class and support functions aren't large or obtuse, so replicating their functionality might very well be a good way to go in your own code.</p>

jey10
07-25-2007, 05:12 PM
<p>Greetings,</p><p>My guild is Grenricks Guidance - 903106 Yes I have tried your stock config and everything loads and I can see everything. I just tried "forcing" it to update and I still get the error nothing is updating now... I have made the set_time_limit(3000) and I still get the error. This line I added is on line 49 not 48 since that is a /// line.... I am pretty much a novice to code strings and such. I know @Lantis suggested that I make the server number changes, but I am not sure where to make those changes... I grealy appreciate your help. Regards, </p>

Dark_Grue
07-25-2007, 05:37 PM
<cite>jey10 wrote:</cite><blockquote><p>Greetings,</p><p>My guild is Grenricks Guidance - 903106 Yes I have tried your stock config and everything loads and I can see everything. I just tried "forcing" it to update and I still get the error nothing is updating now...</p></blockquote><p>I'm not clear on the error you are reporting. The stock fresh install with no changes to the config of RM4DF works fine, or it was working, now it give the error? Remeber that without forcing an update, you're almost always going to be looking at data from the DB, and not from the parser.</p><p>I would expect that the "stock" config would work fine because there's significantly fewer members in CF compared to your 800+, and that has a huge impact on the time to retrieve the HTML roster from EQ2Players.</p><p>jey10 wrote: </p><blockquote>I have made the set_time_limit(3000) and I still get the error. This line I added is on line 49 not 48 since that is a /// line.... </blockquote><p>Mnnn, inserting it before or after the comment doesn't matter, but it could have just as easily come before. The comment doesn't actually do anything, it's just a note.</p><p>jey10 wrote: </p><blockquote>I am pretty much a novice to code strings and such. I know @Lantis suggested that I make the server number changes, but I am not sure where to make those changes... I grealy appreciate your help. Regards, </blockquote><p> The other methods of changing the time limit require access to the server php.ini and/or httpd.conf and .htaccess - it sounds like you probably don't have access to them, and I would be reluctant to send you in there to make changes - you can really make a mess of things in there if you're not careful, which would pretty much make it impossible for us to help troubleshoot.</p><p>There is the possibility that the change you made are not having the intended effect - I want to say that changing PHP server variables can be restricted administratively from being changed in the runtime, but I went looking in the docs and couldn't see anything mentioning it. I know they *can* be restricted from being changed in .htaccess files, but that's pretty low-granularity (keeps you from changing Apache options there too). Using the PHP function call in the code is the easiest/probably most reliable way to do it.</p><p>Problem is, even if we give PHP all the time it wants, if something else is set to shut down the HTTP connection earlier (probably because it's sitting idle), there's nothing we can do about that. If something else is closing the connection early, the time limit won't be what is the limiting factor. I'll have to look at the fetch_URL() code again, see if there's any more timers we may need to tweak in there.</p><p>If you want, PM me with an e-mail address that I can send attachments to, and I can try sending you a few files to replace parser.inc with to try and diagnose the problem, but I sont really expect that do be productive. I suspect the only way to do it right would be to sit on the wire with an packet analyzer and see what's happening to your connection.</p>

jey10
07-25-2007, 06:05 PM
I sent you a PM.. Thanks,

Lantis
07-25-2007, 06:09 PM
<cite>Dark_Grue wrote:</cite><blockquote><b>@Lantis:</b><p>Found out from the DF Dev team today that it does have a wrapper class for at least some of the mb_* functions, so I can probably replace the remaining non-multibyte-safe functions in the parser and module. I realize this doesn't help SA though. =( You might want to take a look at the DF source and see how they handled it though, might give you an idea. The class and support functions aren't large or obtuse, so replicating their functionality might very well be a good way to go in your own code.</p></blockquote>I think I should be OK now regarding the UTF8 support in RMSA - it survived a few tests with a guild that had japanese rank names in it (at least with an SQL database).  I decided to avoid using mbstring to avoid adding yet another requirement that would only be needed by a minority of users. The nice thing about UTF8 is that you can easily do most of the usual string handling using single-byte legacy code - only places where you'll run into trouble are when dealing with the string length, or sorting (now handled by the SQL server). I suspect most issues left by now are related to Web, PHP and SQL servers (the AMP from the LAMP <img src="/smilies/69934afc394145350659cd7add244ca9.gif" border="0" alt="SMILEY" />) that will (obviously) need to run with UTF8 support for anyone that requires accents. 3.0.0 Beta 1 should be available in a day or two.

Dark_Grue
07-25-2007, 10:17 PM
<p>Regarding set_time_limit(), I neglected to pay attention to a rather huge caveat in the manual:</p><p>This function has no effect when PHP is running in <a href="http://us.php.net/manual/en/features.safe-mode.php#ini.safe-mode" target="_blank" rel="nofollow">safe mode</a>. There is no workaround other than turning off safe mode or changing the time limit in the php.ini.</p><p>If you go to the Administration Menu > > System Info > > PHP Core, search for the line "safe_mode". (You can also look for "max_execution_time" to see what the default execution timer for the CMS overall is.) The first column "local value" is the one that counts. If safe mode is on, you can't change the timer at runtime.</p><p>There's a very good chance that if you have a hosted service, that someone's turned that on. You may or may not be able to turn that off.</p>

Lantis
07-26-2007, 12:52 AM
<cite>Dark_Grue wrote:</cite><blockquote><p>Regarding set_time_limit(), I neglected to pay attention to a rather huge caveat in the manual:</p><p>This function has no effect when PHP is running in <a href="http://us.php.net/manual/en/features.safe-mode.php#ini.safe-mode" target="_blank" rel="nofollow">safe mode</a>. There is no workaround other than turning off safe mode or changing the time limit in the php.ini.</p><p>If you go to the Administration Menu > > System Info > > PHP Core, search for the line "safe_mode". (You can also look for "max_execution_time" to see what the default execution timer for the CMS overall is.) The first column "local value" is the one that counts. If safe mode is on, you can't change the timer at runtime.</p><p>There's a very good chance that if you have a hosted service, that someone's turned that on. You may or may not be able to turn that off.</p></blockquote>If he has safe mode enabled it might be worth trying the .htaccess route.  Always depends how locked down his host configured things up.

jey10
07-26-2007, 10:04 AM
<cite>Dark_Grue wrote:</cite><blockquote><p>Regarding set_time_limit(), I neglected to pay attention to a rather huge caveat in the manual:</p><p>This function has no effect when PHP is running in <a href="http://us.php.net/manual/en/features.safe-mode.php#ini.safe-mode" target="_blank" rel="nofollow">safe mode</a>. There is no workaround other than turning off safe mode or changing the time limit in the php.ini.</p><p>If you go to the Administration Menu > > System Info > > PHP Core, search for the line "safe_mode". (You can also look for "max_execution_time" to see what the default execution timer for the CMS overall is.) The first column "local value" is the one that counts. If safe mode is on, you can't change the timer at runtime.</p><p>There's a very good chance that if you have a hosted service, that someone's turned that on. You may or may not be able to turn that off.</p></blockquote>Greetings, I checked for the settings you suggested: Safe Mode = Off max_execution_time = 30 I just wanted to add this new error I get when I try to access the Roster without running any type of update:  <b><blockquote>includes/db/db.php</b><ul><li>CMS Warning line 75: On /Roster_Master.html While executing query "SELECT * FROM cms_roster_master_guild" the following error occured: Lost connection to MySQL server during query In: /hsphere/local/home/mallith/grenricks.com/modules/Roster_Master/functions/rostermaster.inc on line: 108</blockquote></li></ul> I hope that helps.

Dark_Grue
07-26-2007, 12:16 PM
<cite>jey10 wrote:</cite><blockquote>I checked for the settings you suggested: Safe Mode = Off max_execution_time = 30 </blockquote><p>Ok, well at least you can use set_time_limit() then, and that's not the problem.</p><p>However, right now, the PHP execution time limit isn't your problem, it's the Apache TimeOut value, the default of which is 5 minutes. I tried to fetch your guild's HTML roster page last night during testing, and EQ2Player's performance has dropped to the point where the page won't even load! I tried retrieving the page just using a bog-standard Web browser (in this case, IE7), went and did something else, and came back - timeout error. Tried running metrics from sites that offer page loading statistics, timeout error.</p><p>Basically, the response times for EQ2Players for large guilds has dropped to the point where the time scale is so farr off the end of anything reasonable, we're now dealing with timeouts and factors that are totally outside the range of reasonable design - there's like a bazillion little timers running on the chain of events that range anywhere from places in the application, to the OS, to the network layer. We can't tweak them all. And 5+ minutes (actually probably much longer, but it's at least that) to fetch even 800 lines of text from the DB and return it isn't reasonable. Even if we were able to allow such long latency on a response, it'd cause massive problems elsewhere.</p><p>Even if I was able to fork a background process and let it run, I still can't get the large guild rosters because there's no mechanism to leave a connection open that long!</p><p>There's something <i>very</i> wrong with the design of EQ2Players (possibly going all the way down to the DB schema) if the HTML rosters are taking this long to generate. That's not a complicated query. And building the page for display isn't either. There should be pretty much <b>zero</b> performance differential in taking that data and massging it into XML format (I leave it to the reader to trivially show why this is the case) as there is in wrapping it in a HTML template, and that's not what we're seeing.</p><p>jey10 wrote: </p><blockquote>I just wanted to add this new error I get when I try to access the Roster without running any type of update:  <b><blockquote>includes/db/db.php <ul><li>CMS Warning line 75: On /Roster_Master.html While executing query "SELECT * FROM cms_roster_master_guild" the following error occured: Lost connection to MySQL server during query In: /hsphere/local/home/mallith/grenricks.com/modules/Roster_Master/functions/rostermaster.inc on line: 108</li></ul></blockquote></b></blockquote><p>That's pretty much what it says it is: your MySQL server disconnected during the transaction. That's a performance problem between the Web and MySQL server that's unrelated. Could be caused by network problems between the Web and MySQL server (if they are separate boxes), or a particularly overloaded or unreliable DB server.</p>

jey10
07-26-2007, 01:25 PM
<p>Hi Grue,</p><p>Thanks for the update I greatly appreicate it. So in a nutshell large guilds are not going to be able to use this wonderful tool untill SOE fixes their side of the house.  Oh well ...</p><p>Again I thank you and everyone else that has tried to help me out.</p><p> Regards,</p>

Lantis
07-26-2007, 06:16 PM
Hi Grue, I decided to test RMSA with PostgreSQL for the very first time.  Looks like... it probably never worked since day 1. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> At least one of the issues probably also affects RM4DF: PostgreSQL doesn't support the TINYINT datatype that we both use in the schemas, for Adv/Art levels.  This must be changed to either SMALLINT or INT to accommodate PostgreSQL.  You might want to do that if you want to support the same databases as supported by DF I suppose.  Good news is, you only need to do so for new installations. I'm in the process of also clearing all the queries in RMSA - some of the old 1.0.x queries are using weird quoting that only work with MySQL. EDIT: Other issues related to PostgreSQL: * The postgresql client will lowercase column names by default.  Therefore, you try to create Adv_Level, and the table ends up with adv_level.  Causing all sort of issues with our array indices of course.  You can force the postgresql client to leave the column names alone by double-quoting them...  but MySQL doesn't always like double-quoted column names.  Chicken and egg. * PostgreSQL doesn't have a REPLACE function.  Need to do a blind delete of the row, followed by an INSERT. The pain....  THE PAIN... Where's my Advanced Decision Maker... Head: I drop PostgreSQL support, and stick to MySQL or flatfiles.  Hey, if nobody complained in two years, I suppose nobody ever tried to use it <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> Tail: I rename columns to lowercased name and change them all over the code

Veltor
07-27-2007, 01:20 PM
<cite>Dark_Grue wrote:</cite><blockquote>Veltor wrote: <blockquote><p>I am now running it with:</p><p>php_value max_execution_time 240 (httpd.conf)</p><p>max_execution_time = 240 (php.ini)</p><p>set_time_limit(240); (parser.inc)</p></blockquote>Probably massive overkill to set it in all 3 places. The httpd.conf value will overwrite the php.ini value - you'll probably want to set php.ini back to the default so that it won't apply to everything you run in PHP. The set_time_limit() in parser.inc overwrites both values (actually, every time you call it, it restarts the timer), so you could probably take the setting out of httpd.conf (or lower it to something more reasonable). Having all 3 doesn't really hurt anything (just means that scripts that hang or infinite loop will wait a lot longer to time out), but you could have a more minimal configuration if you wished to.</blockquote><p>Hi Guys, here's an update on my settings and it seems to run (so far) without any problems.</p><p>php_value max_execution_time 30 (httpd.conf)</p><p>max_execution_time = 30 (php.ini)</p><p>set_time_limit(360); (parser.inc)</p><p>Thanks again!</p>

Dark_Grue
07-27-2007, 06:18 PM
Lantis@Antonia Bayle wrote: <blockquote>Hi Grue, I decided to test RMSA with PostgreSQL for the very first time.  Looks like... it probably never worked since day 1. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> At least one of the issues probably also affects RM4DF: PostgreSQL doesn't support the TINYINT datatype that we both use in the schemas, for Adv/Art levels.  This must be changed to either SMALLINT or INT to accommodate PostgreSQL.  You might want to do that if you want to support the same databases as supported by DF I suppose.  Good news is, you only need to do so for new installations. </blockquote><p>The bad news is the way Postgres forces column names to lowercase. <img src="/smilies/1cfd6e2a9a2c0cf8e74b49b35e2e46c7.gif" border="0" alt="SMILEY" /> Remind me again why Postgres is so awesome? [Yeah, I know that MySQL isnt' the top performer, and tends to throw out ANSI standards for odd reasons, but it <i>is</i> pretty easy to work with.]</p><p>It wouldn't be so bad, except that I use mixed-case column names all over the place - especially in the heritage and key trackers. Re-doing all those would be an absolute mess. Not such much the code changes, as having to write a huge section for the upgrader to rename all the columns. I dunno, my executive decision maker's saying "bah!" I did go ahead and change all the INT's to INTEGER and the TINYINT's to SMALLINT. I'm hoping that maybe, just maybe, the Dragonfly DB abstraction layer is taking care of the column quoting, but I need to actually research that. It's at least partway solved, thank for pointing those issues out! </p>

Lantis
07-27-2007, 08:18 PM
<cite>Dark_Grue wrote:</cite><blockquote>The bad news is the way Postgres forces column names to lowercase. <img src="/smilies/1cfd6e2a9a2c0cf8e74b49b35e2e46c7.gif" border="0" alt="SMILEY" /> Remind me again why Postgres is so awesome? [Yeah, I know that MySQL isnt' the top performer, and tends to throw out ANSI standards for odd reasons, but it <i>is</i> pretty easy to work with.]<p>It wouldn't be so bad, except that I use mixed-case column names all over the place - especially in the heritage and key trackers. Re-doing all those would be an absolute mess. Not such much the code changes, as having to write a huge section for the upgrader to rename all the columns. I dunno, my executive decision maker's saying "bah!" I did go ahead and change all the INT's to INTEGER and the TINYINT's to SMALLINT. I'm hoping that maybe, just maybe, the Dragonfly DB abstraction layer is taking care of the column quoting, but I need to actually research that. It's at least partway solved, thank for pointing those issues out! </p></blockquote>I lost the coin toss, so ended up changing the code all over the place to switch to lowercase names in RMSA. <img src="/smilies/1cfd6e2a9a2c0cf8e74b49b35e2e46c7.gif" border="0" alt="SMILEY" /> Wasn't as bad as I feared however, search & replace caught pretty much everything with no problem.  RMSA worked fine against PostgreSQL 8.x.  I ended up renaming columns and array indices to lowercase, as quoting was too problematic, and a bad hack (IMHO).  Fortunately for me, only the main table had mixed cases.  All newer tables (log, claims, guild summary) all used lowercased names.  With all the changes to the main table I'll simply have the upgrade code drop it and recreate it - all rows would require updating anyway due to the addition of new columns. There's a few other things that required changing, like 'IF EXISTS' doesn't exists (...) in PostgreSQL.  Here's a reference site I used during my work on this: <a href="http://en.wikibooks.org/wiki/Programming:Converting_MySQL_to_PostgreSQL" target="_blank" rel="nofollow">http://en.wikibooks.org/wiki/Progra...L_to_PostgreSQL</a> Helped me quickly pinpoint potential issues and resolve them. First UTF8, now this...  Feel free to hate me. <img src="/smilies/97ada74b88049a6d50a6ed40898a03d7.gif" border="0" alt="SMILEY" />

Dark_Grue
07-28-2007, 01:49 AM
Lantis@Antonia Bayle wrote: <blockquote>There's a few other things that required changing, like 'IF EXISTS' doesn't exists (...) in PostgreSQL.  Here's a reference site I used during my work on this: <a href="http://en.wikibooks.org/wiki/Programming:Converting_MySQL_to_PostgreSQL" target="_blank" rel="nofollow">http://en.wikibooks.org/wiki/Progra...L_to_PostgreSQL</a> Helped me quickly pinpoint potential issues and resolve them. </blockquote><p>Oddly enough, I found that exact same site, and yes, it's very helpful.</p><p>I don't know I'm going to jump feet-first into make the same changes... yet. I want to see if maybe the API will handle the case issues. Small tweaks to the schema I can handle, changing all the columns woud be a mess.</p><p>I fear I'll end up going through something similiar to what you did though. <img src="/smilies/136dd33cba83140c7ce38db096d05aed.gif" border="0" alt="SMILEY" /></p><p>Lantis@Antonia Bayle wrote: </p><blockquote>First UTF8, now this...  Feel free to hate me. <img src="/smilies/97ada74b88049a6d50a6ed40898a03d7.gif" border="0" alt="SMILEY" /> </blockquote><p>My Two Minutes' Hate is reserved for Emmanuel Goldstein.</p><p>We've always been at war with Eastasia... </p>

Lantis
07-28-2007, 04:17 AM
Vacations are almost over...  Just in time for a first beta release <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> <span style="font-size: small"><span style="color: #ffff00">RosterMaster Stand Alone 3.0.0 Beta 1</span></span> The biggest change in this version is RMSA is now multilingual (English, French and German supported).  The rest are a bunch of bugfixes, and various minor improvements. <u>Changes in 3.0.0 Beta 1</u>: <b>*** Database and config file changes - important upgrade procedure:</b>     1) Backup your existing installation (especially any customized file)     2) Install the RMSA 3.0.0 files on top of your old installation.     3) Enter the Configuration module.     4) Edit your settings, set any new option as desired, then Save it.     5) If using a database, select the appropriate "Upgrade Database" option.     6) Click on 'Force Refresh'. <ul><li>NEW: RMSA is now multilingual (aside from the Configuration interface). Included languages are English, French and German. Thanks Robbi for the German translation (and other bug reports) <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> I'm still looking for a Japanese translator...</li><li>NEW: Added 'Unique Members' count to the Guild Summary.</li><li>NEW: Default secondary sort type and direction is now configurable.</li><li>NEW: Now retrieves character titles. Can be displayed using either the new "title" template keyword, or using the new "Merge Title With Name" option (which will display it in the same column as the character's name).</li><li>NEW: Configurable time limit for the data fetching/processing to complete. Curl will now also use this value instead of its former 30s default.</li><li>IMPROVED: Reordered entries in the Guild Summary.</li><li>IMPROVED: All data sorting is now done by the database server (unless using a flatfile)</li><li>IMPROVED: More PHP5-related improvements around the flatfile storage handling.</li><li>IMPROVED: Improvements to the Configuration page (tabbing navigation, Guild Search link, etc...)</li><li>IMPROVED: Better error handling if errors occured during the fetch/parse stage.</li><li>FIXED: PostgreSQL (and probably all non-MySQL databases) haven't worked since day 1. Modified SQL queries, database schemas and index names to be PostgresQL compatible, From now on, only flatfiles, MySQL 4.x (and higher) and PostgreSQL 7.x (and higher) will be supported - dropped all other databases.</li><li>FIXED: RMSA was unable to have two different characters whose names would only differ by their accents (database-only issue).</li><li>FIXED: Character claiming was broken in 2.3.0.</li><li>FIXED: Grouping by Character Type didn't work properly.</li><li>FIXED: Fields in the guild summary that contained commas were truncated when using a flatfile.</li><li>FIXED: Log viewer wasn't correctly calculating pages.</li><li>FIXED: Typos in CSS files</li><li>FIXED: Misnamed variable in the config - CSV != CVS.</li></ul>Again, make SURE you read the upgrade procedure posted at the begining of this Changelog.  The upgrade is fairly simple, but if you fail to follow it, it simply Won't Work.  Also, please report any issue you encounter, either in this thread or through PM. View it <a href="http://www.lostrealm.ca/tower/content/view/13/31/" target="_blank" rel="nofollow">here</a>. Download it <a href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,2/" target="_blank" rel="nofollow">here</a>. Discuss it here. <i> </i>

Lantis
07-31-2007, 11:58 AM
Another beta...  This one will become 3.0.0 if no issue comes up in the next couple of days. <p><u> Changes in 3.0.0 Beta 2 (31-Jul-2007)</u></p> <ul><li>NEW: You can now do an 'offline' scheduled update.  First, disable automated updates by setting "Hours between refreshes" to "0" (under General Setup).  Next, create a cron task that will launch the update like this (adjust the URL accordingly): wget --bind-address='127.0.0.1' "http://www.yoursite.com/rm/rostermaster.php?force_update=1" -O /dev/null -q   This way, if you have a large guild that takes a lot of time to update, you can do it automatically at scheduled intervals.</li><li>FIXED: Security hole that could lead to a potential DoS.</li><li>FIXED: Localized classes weren't correctly sorted.  Now stores the localized names in the database - make sure you force a roster update after installing Beta 2 if you are usning a non-English language.  Also language changes will generate a LOT of log spam, so don't switch languages too often <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> </li></ul> View it <a href="http://www.lostrealm.ca/tower/content/view/13/31/" target="_blank" rel="nofollow">here</a>. Download it <a href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,2/" target="_blank" rel="nofollow">here</a>. Discuss it here.

Dark_Grue
08-01-2007, 01:41 AM
<i>My evil genius Procrastination has whispered me to tarry 'til a more convenient season.</i> <p><b>           Mary Todd Lincoln (1818 - 1882)</b></p><hr /><p><b><span style="font-size: small"><span style="color: #009900">Roster Master for Dragonfly 6.0.7</span></span></b> Download from the RM4DF project page at <a href="http://www.theclenchedfist.com/projects/rm4df/index.html" target="_blank" rel="nofollow">http://www.theclenchedfist.com/proj...m4df/index.html</a></p><p>Changes for Version 6.0.7: </p><ul><li>Changed primary key in roster_master table from Name to Character_ID, existing implementation caused uniqueness problems with some character sets and collations (unable to have two different characters whose names would only differ by their accents). Bug reported by Lantis. </li><li>Changed installer to alter the blocks table on new install as well. Bug reported by CammanCMC. </li><li>Added Unique Members statistic. </li><li>Increased max_execution time in the HTML roster retreval loop to start at five minutes. NOTE: This function has no effect when PHP is running in safe mode. There is no workaround other than turning off safe mode or changing the time limit in the php.ini file. The current effective setting of safe mode and the PHP max_execution_time directive can be viewed in the Dragonfly administration panel at "Administration Menu > > System Info > > PHP Core". The Apache TimeOut directive (default of 300 seconds) is another limiting factor, the shorter of the two durations will be effective. </li><li>Changed link references from www.eq2i.com to the eq2.wikia.com site. </li><li>Roster updates through externally-managed processes (such as cron) are now available. First, disable automated updates by setting $config['cache_update_time'] = 0 in the config.inc file. Next, create a cron task that will launch the update like this (edit the URL appropriately): 0 0,6,12,18 * * * wget --bind-address=127.0.0.1 --output-document=/dev/null --quiet 'http:///index.php?name=Roster_Master&force_update=1' [This example requires that wget be installed on your system and will update the roster every six hours. You may use any HTTP client that allows binding to the 127.0.0.1 (localhost) address.] If you have a large guild that takes a lot of time to update, you can do it automatically at scheduled intervals. </li><li>DATABASE SCHEMA CHANGE: Changed schema to use INTEGER instead of INT, and SMALLINT instead of TINYINT in order to resolve PostgresSQL compatability issues. Bug reported by Lantis. </li><li>CONFIG CHANGE: Added new bitflag to logfile parameter to log parser statistics and to suppress logging of guild status changes. Also reordered some of the lesser-used log bitflags. </li><li>CONFIG CHANGE: Added $config['block_autoupdate'] to control whether Guild Wall of Fame block will now force a roster refresh if the roster data is stale when it goes to updates its cache. This can impace page load times if the update takes long (page won't load until update is complete). Default is off. </li><li>REQUIREMENTS CHANGE: Use of internal Dragonfly multibyte wrappers has been implemented. Requires versions of Dragonfly after the 9.0.6.1 version.</li></ul><hr /><p> <b><span style="font-size: small"><span style="color: #009900">SoE Update Notes Block </span></span></b></p><p>Download from the Clenched Fist website at <a href="http://www.theclenchedfist.com/Downloads/details/id=9.html.html" target="_blank" rel="nofollow">http://www.theclenchedfist.com/Down....html.html </a> Block to display EverQuest II and Vanguard Update Notes from the Sony website. Intended as a center block or module. The included blocks will retrieve the Everquest II Update Notes or the Vanguard Update<a href="http://patch.vanguardsoh.net:7000/p...ates_live.html," target="_blank" rel="nofollow">,</a> parse the server status and latest headlines out, and cache them for 1800 seconds (half-hour) in the {prefix}_blocks table. This block is a good example of a method of retrieving content from an external site and caching it. Also included are EQ2 and Vanguard modules to display the block data as a module. NOTE: This feature requires that the respective block be installed (but not necessarily marked as active). Changes for Version 1.1:</p><ul><li>Fixed undefinied variables when parser fails and replaced them with "normal" block errors.</li><li>EQ2 parser fixed and tested against Game Update #37 July ‎/ 31 ‎/ 2007 Update Notes.</li></ul>

Lantis
08-04-2007, 01:57 PM
<span style="font-size: small"><span style="color: #ffff00"><u>RosterMaster StandAlone Update #3.0.0 <i>August / 04 / 2007</i> </u></span></span> <b> Highlights:</b>  * Display your roster in plusieurs sprachen!  * SQL fans rejoice - PostgreSQL now works as intended!  * Owners of large guilds can now do offline scheduled updates!  * Many UI fixes and improvements!  * No Paladin ability was nerfed during this update.  We'll fix that in a future hotfix. Expect a 1-5 minutes server downtime while you patch your installation to this new version. <b> The RosterMaster StandAlone team.</b> <p>*** Database and config file changes - important upgrade procedure:</p><ol><li>Backup your existing installation (especially any customized file)</li><li>Install the RMSA 3.0.0 files on top of your old installation.</li><li>Enter the Configuration module.</li><li>Edit your settings, set any new option as desired, then Save it.</li><li>If using a database, select the appropriate "Upgrade Database" option.</li><li>Click on 'Force Refresh'. </li></ol><b><u> Changes since 2.3.0:</u></b> <ul><li>NEW: RMSA is now multilingual (aside from the Configuration interface). Included languages are English, French and German. Thanks Robbi for the German translation (and other bug reports) <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> I'm still looking for a Japanese translator...</li><li>NEW: Added 'Unique Members' count to the Guild Summary.</li><li>NEW: Default secondary sort type and direction is now configurable.</li><li>NEW: Now retrieves character titles. Can be displayed using either the new "title" template keyword, or using the new "Merge Title With Name" option (which will display it in the same column as the character's name).</li><li>NEW: Configurable time limit for the data fetching/processing to complete. Curl will now also use this value instead of its former 30s default.</li><li>NEW: You can now do an 'offline' scheduled update. Usefull if you have a large guild that takes a few minutes to retrieve its updates from EQ2Players. See documentation for details.</li><li>IMPROVED: Reordered entries in the Guild Summary.</li><li>IMPROVED: All data sorting is now done by the database server (unless using a flatfile)</li><li>IMPROVED: More PHP5-related improvements around the flatfile storage handling.</li><li>IMPROVED: Improvements to the Configuration page (tab key navigation, Guild Search link, etc...)</li><li>IMPROVED: Better error handling if errors occured during the fetch/parse stage.</li><li>FIXED: PostgreSQL (and probably all non-MySQL databases) haven't worked since day 1. Modified SQL queries, database schemas and index names to be PostgresQL compatible. From now on, only flatfiles, MySQL 4.x (and higher) and PostgreSQL 7.x (and higher) will be supported - dropped all other databases.</li><li>FIXED: RMSA was unable to have two different characters whose names would only differ by their accents (database-only issue).</li><li>FIXED: Character claiming was broken in 2.3.0.</li><li>FIXED: Grouping by Character Type didn't work properly.</li><li>FIXED: Fields in the guild summary that contained commas were truncated when using a flatfile.</li><li>FIXED: Log viewer wasn't correctly calculating pages.</li><li>FIXED: Typos in CSS files</li><li>FIXED: Misnamed variable in the config - CSV != CVS.</li><li>FIXED: Security hole that could lead to a potential DoS. </li></ul> View it <a href="http://www.lostrealm.ca/tower/content/view/13/31/" target="_blank" rel="nofollow">here</a>. Download it <a href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,2/" target="_blank" rel="nofollow">here</a>. Discuss it here.

jey10
08-06-2007, 10:30 AM
Howdy all, Been away on vacation so I have just started to read the replies and replies from my hosting service... They suggested that I add <blockquote>set session wait_timeout=300;</blockquote> into the Roster Master program but I am not sure where to put it...  Also do I need to have Root access to be able to make changes to my PHP.ini file? Regards,

Dark_Grue
08-06-2007, 11:52 AM
<cite>jey10 wrote:</cite><blockquote>Howdy all, Been away on vacation so I have just started to read the replies and replies from my hosting service... They suggested that I add <blockquote>set session wait_timeout=300;</blockquote>into the Roster Master program but I am not sure where to put it...  Also do I need to have Root access to be able to make changes to my PHP.ini file? Regards, </blockquote><p>The "SET SESSION <a href="http://dev.mysql.com/doc/refman/4.1/en/server-system-variables.html#option_mysqld_wait_timeout" target="_blank" rel="nofollow">wait_timeout</a>" is a MySQL command. I suspect in order to use it, you'd either have to change the database default, or you'd have to send that command before every SQL command (which would probably require modifying Dragonfly's DB API code).</p><p>Without knowing all the details of your hosting arrangement, I can't really tell you how, or if, you can modify the php.ini file. (I own my own boxes, so I don't use any hosting services at all.) The long and short of it is, you're getting into the configuration details specific to the server you're on, and your hosting provider's being pretty unhelpful - yes, these settings may be the right ones to change, but this isn't necessarily the best solution, nor are they telling you how to implement these changes. There are a lot of people running Dragonfly successfully on hosted services that don't have to tinker with the underpinnings of the server.</p><p>These problems are well outside the scope of Roster Master, I think you might want to consider either seeking help on the Dragonfly support forums (make sure you give a good statement of the problem, the errors you're getting, and what you've done to try and resolve the issue), and/or another hosting service. </p>

jey10
08-06-2007, 03:58 PM
Howdy, Totally understand Grue... I greatly appreciate all the help that you have given me as well as all the others....  Not sure what the heck happened but with a guild as large as ours something was going to happen sooner -v- later ...  Too bad it happened sooner... I will see if I can get help on Dragonfly forums (I will take my time to put my post together).  I will also ask for more assistance from my host if they don't help more I will be looking for a new provider... Speaking of that if you know of a good provider I am open... Regards,

Lorcer
08-10-2007, 02:07 AM
With the latest version 6.0.7 all of the links to eq2.wikia.com are off. The link is pointing to eq2.wikia.com/articles/name_of_quest. The link should be pointing to eq2.wikia.com/wiki/name_of_quest. I ran a simple replace /articles with /wiki on the keymaster.inc and heritagemaster.inc to resolve the issue. Just thought you would want to know and thank you for such an great module.

alterEgosego
08-10-2007, 08:05 AM
<p>Having problems with RMSA 3.0.0!</p><p>I get this when I try to install. (Going to rmadmin.php on website.)</p>totalResults = $totalResults; $this->resultsPerPage = $totalResults; $this->page = $page; $this->pages = ceil($totalResults / $resultsPerPage); // Example of $startHTML: "Showing Page {page} of {pages}: Go to Page:" $this->product = $startHTML; $this->appendSearch = $appendSearch; $this->range = $range; $this->link_on = $link_on; $this->link_off = $link_off; $this->back = $back; $this->forward = $forward; } /**************************************** * * * Replace Alias * * * *****************************************/ function rmp_replace_alias() { // {page} = $page //global var // {pages} = $pages //global var // {appendSearch} = $appendSearch //global var $this->product = str_replace("{page}", $this->page, $this->product); $this->product = str_replace("{pages}", $this->pages, $this->product); $this->product = str_replace("{appendSearch}", $this->appendSearch, $this->product); } /**************************************** * * * GET HTML * * * *****************************************/ function rmp_getHTML() { //array of html links for each number $pageLinks = array(); //loop array of needed pages for ($i=0;$i<$this->pages;$i++) { //This is the current number we are on $num = $i+1; //Is this page within our 'range' $showNum = false; if ($this->page >= $num && $this->page - $this->range <= $num) $showNum = true; if ($this->page <= $num && $this->page + $this->range >= $num) $showNum = true; if ($showNum == true) { if (($num) == $this->page) { array_push($pageLinks, str_replace("{num}", $num, $this->link_on)); } else { array_push($pageLinks, str_replace("{num}", $num, $this->link_off)); } } } //Determine if we need BACK link if (($this->page - $this->range) > 1) $this->product .= $this->back; //Turn array of html numbre-links into one string $this->product .= implode(" | ",$pageLinks); //Determine if we need FORWARD link if (($this->page + $this->range) < $this->pages) $this->product .= $this->forward; //Do Replacements $this->rmp_replace_alias(); //Return Final Product return $this->product; } /**************************************** * * * END CLASS * * * *****************************************/ } // Function: rm_log() // Add a new entry to the database log if within specified verbosity limit. // Arguments: $type = the prefix // $message = the actual entry // $level = related verbosity level (default = 1) // Returns: None. function rm_log($type, $message, $level=1) { global $db, $config; if (($config['use_database']) AND ($config['logging']['logfile']) AND ($level <= $config['logging']['verbosity'])) { $query = "INSERT INTO {$config['prefix']}roster_master_log " ."(date, type, message, level) " ."VALUES (" .time().",'$type','".addSlashes($message)."', $level)"; /* if(!($result = $db->sql_query($query))) { error_message("Unable to add log entry!",$query); } */ // Ignoring any SQL error, in case we're logging a log event before // the database gets set up. $db->sql_query($query); } } // FUNCTION: rm_prune_log() // Delete log entries older than specified number of days. // Arguments: $days - Maximum age (in days) to keep // Returns: None. function rm_prune_log($days) { global $db, $config; if (($config['use_database']) AND ($config['logging']['logfile'])) { $cutoff = (time() - ($days * 60 * 60 * 24)); $db->sql_query($query = "DELETE FROM {$config['prefix']}roster_master_log WHERE date < $cutoff&quot<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />; $numpurged = $db->sql_affectedrows(); if ($numpurged) { rm_log("Database",sprintf(_RML_LOG_PURGED,$numpurged)); } } } // FUNCTION rm_show_log() // Displays the log in a paged format, starting at page number $page. // Arguments: $page - Number of the page to display // Returns: None. function rm_show_log($page) { global $db, $config, $auth; if (($config['use_database']) AND ($config['logging']['logfile'])) { // If we're not an admin then only display relevant data. if ($auth->is_admin()) { $displaytypes = ""; } else { $displaytypes = "WHERE type IN ('Update','Guild','Database','Added','Removed','Me mber','Claim'<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />"; } // Count how many items in the table $query = "SELECT * FROM {$config['prefix']}roster_master_log $displaytypes "; if(!($result = $db->sql_query($query))) { error_message(_RML_ERR_EVENTLOG,$query); } $totalResults = $db->sql_numrows($result); // Initialize the pager $resultsPerPage = $config['logging']['results_per_page']; if (!$page) $page = 1; $startHTML = _RML_LOG_PAGER; $appendSearch = ""; $range = 5; $link_on = "<a href="http://localhost/chosen/master/%22.$config[" target="_blank" rel="nofollow"><b>{num}</b></a>"; $link_off = "<a href="http://localhost/chosen/master/%22.$config[" target="_blank" rel="nofollow">{num}</a>"; $back = " <a href="http://localhost/chosen/master/%22.$config[" target="_blank" rel="nofollow"><<</a> "; $forward = " <a href="http://localhost/chosen/master/%22.$config[" target="_blank" rel="nofollow">>></a> "; $myNavigation = New rmp_PageNavigation($totalResults, $resultsPerPage, $page, $startHTML, $appendSearch, $range, $link_on, $link_off, $back, $forward); $startrow = ($page - 1) * $resultsPerPage; // Retrieve data. $query = "SELECT * " ."FROM {$config['prefix']}roster_master_log " ."$displaytypes " ."ORDER BY date DESC, type DESC " ."LIMIT $startrow, $resultsPerPage"; if(!($result = $db->sql_query($query))) { error_message(_RML_ERR_EVENTLOG,$query); } // Read the data into an array $linecount = 1; while($line = $db->sql_fetchrow($result)) { $data_array[$linecount++] = $line; } // display the commands do_commands(); // Rendering the page echo "<b>"._RML_EVENTLOG."</b> "; // Display the pager. echo $myNavigation->rmp_getHTML(); echo " "; echo " n"; $i = 0; // Lookup table for translating event types $locale_types = array( 'Database' => _RML_LOGEVT_DATABASE, 'Guild' => _RML_LOGEVT_GUILD, 'Added' => _RML_LOGEVT_ADDED, 'Removed' => _RML_LOGEVT_REMOVED, 'Error' => _RML_LOGEVT_ERROR, 'Member' => _RML_LOGEVT_MEMBER, 'Default' => _RML_LOGEVT_DEFAULT, 'Claim' => _RML_LOGEVT_CLAIM, 'Admin' => _RML_LOGEVT_ADMIN); foreach($data_array as $line) { echo " "; // We rely on the CSS to define the colours, using classes such as rm_log_Error, rm_log_Guild, etc... echo " ".date("Y-m-d, G:i",$line['date'])."" ." {$locale_types[$line['type']]}" ." {$line['message']}" ."n"; } echo " "; // Re-Display the pager. echo $myNavigation->product; echo " <i>"._RML_FOOTER." <a href="http://localhost/%22http://www.lostrealm.ca/tower/content/view/13/31//%22" target="_blank" rel="nofollow">RosterMaster Stand Alone {$config['version']}</a>.</i> "; } } <div align="center">RosterMaster Stand Alone 3.0.0 Configuration <p><b>Written by Eric Sauvageau Code based on Roster Master by Rex "SaintPeter" Schrader</b></p><p><b>Visit the <a href="http://eqiiforums.station.sony.com/eq2?no_redir=true" target="_blank" rel="nofollow">Official Sony Forums</a> for support.</b></p><p>Please enter the admin password:</p>Password:   </div>

Seagoat
08-13-2007, 07:40 PM
<p>Per <a href="http://forums.station.sony.com/eq2/posts/list.m?start=0&topic_id=376393#4266487" target="_blank" rel="nofollow">Gninja's request</a>, I'm starting a temporary "Roster Master" thread that will be merged with the existing thread once some code issues have been ironed out that are affecting the last page of the <a href="http://forums.station.sony.com/eq2/posts/list.m?topic_id=346728" target="_blank" rel="nofollow">original thread</a>.</p><p>Please continue the "Roster Master" discussion here!  I'm able to edit the OP in that thread, and it's still accessible, so please utilize <a href="http://forums.station.sony.com/eq2/posts/list.m?start=0&topic_id=346728#3933162" target="_blank" rel="nofollow">the information there</a> as if this were a part of the same thread (since it will be soon!).  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p>

Dark_Grue
08-13-2007, 08:10 PM
<p>FYI to RM4DF users: I apparently introduced in RM4DF 6.0.7 a bug in all the quest links when I repointed them to the new eq2i site. So, if you noticed none of the links out of RM4DF work after upgrading to 6.0.7, that's why.</p><p>Changing /articles/ to /wiki/ in heritagemaster.inc and keymaster.inc should fix it right up, if I recall correctly.</p><p>I'm slowly starting work on a unified quest tracker (which I've already gone through and fully reverified all the quest links and data in), but there's a number of design issues I'm struggling with because I'm pretty sure I'm going to make the <i>wrong</i> decision now that I'll end up regretting later... <img src="/smilies/136dd33cba83140c7ce38db096d05aed.gif" border="0" alt="SMILEY" /></p>

Seagoat
08-13-2007, 11:01 PM
<p>I've been naughty; I haven't been upgrading like I should because of these pesky design projects that are actually starting to bring in money.  That real-life stuff, always getting in the way of my virtual entertainment!</p><p>That being said, I'm in a lull at the moment (one project is just about wrapped up, and I haven't gotten the go ahead to start on the next one), so I have a lot of my "I really need to work on this while I have a chance" list.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />  Sigs and wallpapers and contests, oh my!</p><p>If you need a hand with anything Grue, you know where to find me!</p>

Kelfly
08-20-2007, 12:07 PM
<i><b>NOTE1:</b> This module requires outbound HTTP connectivity to the eq2players.com Website. Make sure your server can connect outbound, or the module will be unable to function (characterized by "FATAL: Gave up trying to contact the guild summary page." and "FATAL Gave up trying to contact the roster page." messages in the logfile).</i> I am one of those people that has HTTP connectivity issues. I sent a request to my web provider asking them to open "outbound HTTP connectivity to the <a href="http://eq2players.station.sony.com/" target="_blank" rel="nofollow">eq2players.station.sony.com </a> website on TCP Port 80" and they asked for a specific IP address. Does anyone know what that address might be?

Lantis
08-20-2007, 02:30 PM
I just saw someone post in the official(ly broken) RosterMaster thread.  Please remember folks to post in this thread, as the regular one is currently unaccessible for reading.  SOE is aware of the issue and working on it. Seagoat: Not sure if it's possible or if only a Mod can do it, but if you can, could you change the title of the regular thread so people who are missing this thread will know that they shouldn't be posting to the broken thread until further notice?  Thanks <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Lantis
08-20-2007, 02:44 PM
(Managed to read Kelfly's post by going through his profile, and clicking on the link to see his forum posts) <blockquote> <i><b>NOTE1:</b> This module requires outbound HTTP connectivity to the eq2players.com Website. Make sure your server can connect outbound, or the module will be unable to function (characterized by "FATAL: Gave up trying to contact the guild summary page." and "FATAL Gave up trying to contact the roster page." messages in the logfile).</i> I am one of those people that has HTTP connectivity issues. I sent a request to my web provider asking them to open "outbound HTTP connectivity to the <a href="http://eq2players.station.sony.com/" target="_blank" rel="nofollow">eq2players.station.sony.com </a> website on TCP Port 80" and they asked for a specific IP address. Does anyone know what that address might be? </blockquote> Here's the IP (taken from nslookup):  64.37.156.38 There doesn't seem to be multiple IPs for the site, Gninja or one of the other web devs might want to confirm this before you send the info to your provider)

Dark_Grue
08-21-2007, 02:40 PM
Lantis@Antonia Bayle wrote: <blockquote>(Managed to read Kelfly's post by going through his profile, and clicking on the link to see his forum posts) </blockquote><p>I already hooked Kelfly up with the 411 in PMs yesterday. Guess I wasn't the only one who could be clever extracting posts from that thread! <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /></p><p>Here's the entire reply for posterity's sake. I did intend to post it here, but then I got distracted by some shiny object or something... </p><hr /><p><span style="color: #0000ff"><i><b>NOTE1:</b> This module requires outbound HTTP connectivity to the eq2players.com Website. Make sure your server can connect outbound, or the module will be unable to function (characterized by "FATAL: Gave up trying to contact the guild summary page." and "FATAL Gave up trying to contact the roster page." messages in the logfile).</i> I am one of those people that has HTTP connectivity issues. I sent a request to my web provider asking them to open "outbound HTTP connectivity to the </span><a href="http://eq2players.station.sony.com/" target="_blank" rel="nofollow"><span style="color: #0000ff">eq2players.station.sony.com </span></a><span style="color: #0000ff">website on TCP Port 80" and they asked for a specific IP address. Does anyone know what that address might be? </span></p><p>The Current Roster Master Thread is broken - <a href="http://forums.station.sony.com/eq2/posts/list.m?topic_id=376408" target="_blank" rel="nofollow">there's a problem with the forum</a>, and it won't be fixed until after the EQ2Players.com site itself is updated next service cycle. You need to post in the <a href="http://forums.station.sony.com/eq2/posts/list.m?topic_id=376926" target="_blank" rel="nofollow">Temporary "Roster Master" thread</a> until that's resolved. The only reason I could even read your question is that I'm somewhat clever and was able to coax it out by coming at the message from a different angle. <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /></p><p>To answer your question, the way you find an IP address from a name is by using nslookup. Be aware that there can be multiple IPs for sites in order to do load-balancing. If your provider is forcing you to access them on a per-IP address basis, you'll need to pick one and then edit config.inc and replace the DNS name in the URLs with the IP address you've allowed through.</p><p><span style="font-family: courier new,courier">> nslookup eq2players.station.sony.com</span></p><p><span style="font-family: courier new,courier">Server:  *********** Address:  ***********</span></p><p><span style="font-family: courier new,courier">Non-authoritative answer: Name:    eq2players.station.sony.com Address:  64.37.156.38</span></p><p>So the IP addres you need to get access to is 64.37.156.38. You then need to edit the config.inc file thusly:</p><p><span style="font-family: courier new,courier">$config['server_url'] = 'http://64.37.156.38/servers/server_profile.vm?serverId='.substr($config['guild_id'], -3, 3); $config['guild_url'] = 'http://64.37.156.38/guilds/guild_profile.vm?guildId='.$config['guild_id']; $config['csv_roster_url'] = 'http://64.37.156.38/guilds/guild_roster_csv.vm?guildId='.$config['guild_id'];</span></p><p>If there's VHOSTing going on, then you'd be SOL, since we're not sending a HTTP/1.1 Host: header to differentiate the request (implementing chunked transfers so we can use HTTP/1.1 requests would be a PITA). Since RM4DF has always been using HTTP/1.0 transfers (because they're simple and reliable), and it works fine, I doubt that's the case.</p><p>If SoE changes the IP address of the server, you'd need to change the access and re-edit the config.inc file, of course.</p><p>Lantis@Antonia Bayle wrote: </p><blockquote>There doesn't seem to be multiple IPs for the site, Gninja or one of the other web devs might want to confirm this before you send the info to your provider) </blockquote><p>Based upon a little digging, it doesn't appear that EQ2Players.com is using round-robin DNS. There still might be load-balancing going on (I'd be kinda surprised if there wasn't); but if it is, it's happening behind a load-balancer, and will be totally transparent to use as end-users since there (should) be only 1 IP address fronting the whole arrangement. There's the possibility for more sophisticated setups (it's technically possible to have some sort of DNS response based upon region, but I'd be really surprised to see that if you weren't, say, Akami).</p><p>I'm pretty confident that the process/solution above should suffice for the few folks who are affected by this. The big downside to doing it IP rather than DNS is really that if EQ2Players.com changes IPs you need to recognize that your roster isn't updating anymore (should be relatively obvious) and edit the config.inc again.</p>

Dark_Grue
08-23-2007, 01:56 AM
<p>Yay! Our thread's back, and merged too (a very thoughtful detail)! <img src="http://forums.station.sony.com/eq2/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" width="15" height="15" /></p>

alterEgosego
08-23-2007, 02:01 PM
<p>having problems with sig master. I have all 24 class images in Roster_Masterimagesavatars and have the config file to use class but i only get arch type showing on sig file any help?</p><p>Ocala</p>

Seagoat
08-23-2007, 03:26 PM
<cite>alterEgosego wrote:</cite><blockquote><p>having problems with sig master. I have all 24 class images in Roster_Masterimagesavatars and have the config file to use class but i only get arch type showing on sig file any help?</p></blockquote><p>Can you post the contents of your sig template file?  :)</p><p>The lines in that file where the avatar type is set looks like this:</p><p><b>// Avatar placement. Placement is relative.// (TOP|MIDDLE|BOTTOM) y, (LEFT|RIGHT) xAVATAR ARCH MIDDLE RIGHT</b></p><p>EDIT:  PS, if you'd like more in-depth instructions on configuring SigMaster, I've written <a href="http://eq2.lunaclick.net/reference/rm4dfsig1.php" rel="nofollow" target="_blank">a detailed guide</a>.</p>

alterEgosego
08-23-2007, 06:44 PM
<p>That part is as such </p><p>// Avatar type and placement. Placement is relative.// (DEFAULT|ARCH|EQ2|RANK) (TOP|MIDDLE|BOTTOM) y, (LEFT|RIGHT) xAVATAR ARCH MIDDLE RIGHT</p><p>If I change ARCH to CLASS I get nothing on sig.</p><p>Ocala</p>

Seagoat
08-23-2007, 07:17 PM
<cite>alterEgosego wrote:</cite><blockquote><p>That part is as such </p><p>// Avatar type and placement. Placement is relative.// (DEFAULT|ARCH|EQ2|RANK) (TOP|MIDDLE|BOTTOM) y, (LEFT|RIGHT) xAVATAR ARCH MIDDLE RIGHT</p><p>If I change ARCH to CLASS I get nothing on sig.</p></blockquote><p>Do any other the other options work ("EQ2" or "RANK")?  Is there a tab between "AVATAR" and "ARCH" instead of a space?</p><p>Following the <a href="http://eq2.lunaclick.net/reference/rm4dfsig6.php" rel="nofollow" target="_blank">troubleshooting steps in my guide</a> may result in an actual error message that will be much easier to troubleshoot, as well.</p>

alterEgosego
08-23-2007, 07:25 PM
Others work fine. I just want Art Class (Wizard icon, Warden icon, Necro ico....) theres no class option.

Dark_Grue
08-23-2007, 08:04 PM
<cite><cite><cite>Seagoat wrote:</cite></cite></cite><cite><cite> <blockquote>Do any other the other options work ("EQ2" or "RANK")?  Is there a tab between "AVATAR" and "ARCH" instead of a space?</blockquote></cite></cite><p>The parser matches whitespace: spaces (one or many) or tabs, or any combination (using the s character class), so it doesn't matter. The formatting convention I use in the sample is just a sylistic choice for readbility and options grouping I made.</p><p><cite><cite>Seagoat wrote:</cite></cite></p><cite><blockquote><cite>alterEgosego wrote:</cite><blockquote><p>That part is as such </p><p>// Avatar type and placement. Placement is relative.// (DEFAULT|ARCH|EQ2|RANK) (TOP|MIDDLE|BOTTOM) y, (LEFT|RIGHT) xAVATAR ARCH MIDDLE RIGHT</p><p>If I change ARCH to CLASS I get nothing on sig.</p></blockquote><p>Do any other the other options work ("EQ2" or "RANK")?  Is there a tab between "AVATAR" and "ARCH" instead of a space?</p><p>Following the <a rel="nofollow" href="http://eq2.lunaclick.net/reference/rm4dfsig6.php" target="_blank">troubleshooting steps in my guide</a> may result in an actual error message that will be much easier to troubleshoot, as well.</p></blockquote></cite><p><cite>alterEgosego wrote:</cite></p><blockquote>Others work fine. I just want Art Class (Wizard icon, Warden icon, Necro ico....) theres no class option.</blockquote><p>This is, in fact, <i>the entire reason</i> it doesn't work. <b>There is no CLASS option for that directive.</b> The options are written in a shorthand of <a href="http://en.wikipedia.org/wiki/Backus-Naur_form" rel="nofollow" target="_blank">BNF form</a>. You have the choice of the DEFAULT, ARCHetype, the EQ2 logo icons, or RANK icons for avatar choices.</p><p>There is only a CLASS option for the $config['sigblock_type'] setting in the config.inc file, and allows you to use a per-class base sigblock image (as the file comments mention).</p><p>If you really want it, I can put it on the list to implement in the next release. I think it'll involve all of maybe five lines of code (mostly copy and paste). But, no one has ever asked for the feature, and since I didn't want it, nothing like that was ever implemented. What people did want was per-classs backgrounds AND custom avatars, and that's what the current options set allows you to implement (plus some other things as well).</p><p>Just working off the top of my head, the parser needs to be changed to read:</p><p><span style="font-family: courier new,courier;">} else if (preg_match('/^s*AVATARs+(DEFAULT|ARCH|CLASS|RANK|EQ2)s+(TOP|MID DLE|BOTTOM)s+(LEFT|RIGHT)/i', $line, $matches)) {</span> </p><p>You'd need this extra case clause:</p><p><span style="font-family: courier new,courier;">case 'CLASS':     if ($class = MB::tolower($char_info['Adv_Class'])) {      if (in_array($char_info['guildRank'], $config['officers']) && file_exists("modules/{$mod_dirname}/images/avatars/officer_".str_replace(' ', '_', $class).'.png')) {       $block_file = "modules/{$mod_dirname}/images/avatars/officer_".str_replace(' ', '_', $class).'.png';      } else if (file_exists("modules/{$mod_dirname}/images/avatars/".str_replace(' ', '_', $class).'.png')) {       $block_file = "modules/{$mod_dirname}/images/avatars/".str_replace(' ', '_', $class).'.png';      }     }    break;</span></p><p>So, it's not really much of a change to add the feature.<span style="font-family: Courier New;"></span></p>

alterEgosego
08-23-2007, 08:26 PM
<p>would love to have it. didn't realize i cloud have different per-class base sigblock images. thank for all the help!</p><p>But how do I get per-class sigblocks? (do I use sigblockname_[class type])?</p><p>Ocala</p>

Seagoat
08-23-2007, 10:22 PM
<cite>alterEgosego wrote:</cite><blockquote><p>But how do I get per-class sigblocks? (do I use sigblockname_[class type])?</p></blockquote>I outline (in excruciating detail, LOL) exactly how to do this in <a href="http://eq2.lunaclick.net/reference/rm4dfsig2.php" rel="nofollow" target="_blank">my SigMaster guide</a>.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

Berzerker_03
08-26-2007, 01:55 PM
<p>I just installed Roster master for PHP nuke, the only version i could find was 1.2.2 from a few years ago.  I am currently getting the following error when I try to view the module</p><b>Roster Master Error</b> <p><b>Error:</b>Unable to find guild name "Blade Dance" on the Sony website.There are 2 probable reasons for this:1) Your $config['guild_name'] is set incorrectly in rm_config.php2) Your $config['guild_id'] is set incorrectly in rm_config.phpCheck these values and try again.</p><p> I know the Name and ID are correct.</p><p> We are also using PHP nuke ver 7.8 or 7.9 (not sure which on the admin installed on this box.)</p><p> Anyone know what might be causeing this error?</p>

Lantis
08-26-2007, 02:18 PM
<cite>Berzerker_03 wrote:</cite><blockquote><p>I just installed Roster master for PHP nuke, the only version i could find was 1.2.2 from a few years ago.  I am currently getting the following error when I try to view the module</p></blockquote> Anything that goes back 'a few years ago' will not work.  The whole EQ2Players website was changed when EoF was launched, so you need a more recent version that will be able to accommodate the current EQ2Players website.  The only versions known to work with the current EQ2players website are the ones listed in the first post in this thread.

Berzerker_03
08-26-2007, 03:29 PM
<p>Yeah i figured as much... I was looking through the code and noticed that there were a few url variables that were different than how the site is set up now...  Thanks <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p>

Lantis
08-31-2007, 10:48 PM
Bah, EH raid cancelled due to the servers being down.  Browsed forums for two hours, and servers still not back up.I'm bored, someone find me a bug to fix or something. <img src="/eq2/images/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" width="15" height="15" />[EDITED: funny how some words that seem pretty tame to me are nonetheless on the forum's blacklist]

alterEgosego
09-01-2007, 05:04 PM
<p>Im setting up rmsa 3 for the (who knows) time. LOL</p><p>I get this error in adimin config menu (were you setup guild, mysql ect ect)</p><p><b>Notice</b>: Undefined index: french in <b>C:Program FilesApache Software FoundationApache2.2htdocschosenrostermasterrmadmin .php</b> on line <b>748</b><b>Notice</b>: Undefined index: german in <b>C:Program FilesApache Software FoundationApache2.2htdocschosenrostermasterrmadmin .php</b> on line <b>749</b></p><p><b>Any ideas?</b></p>

Lantis
09-01-2007, 05:38 PM
<cite>alterEgosego wrote:</cite><blockquote><p>Im setting up rmsa 3 for the (who knows) time. LOL</p><p>I get this error in adimin config menu (were you setup guild, mysql ect ect)</p><p><b>Notice</b>: Undefined index: french in <b>C:Program FilesApache Software FoundationApache2.2htdocschosenrostermasterrmadmin .php</b> on line <b>748</b></p><b>Any ideas?</b></blockquote>The Windows build of PHP has notices enabled for some reason.  These are just that - notices, not errors nor even warnings.  You can safely ignore them.To hide them, please edit your php.ini file.  Look for the error_reporting line, and change it for this:<pre>error_reporting = E_ALL & ~E_NOTICE</pre>I changed the code with 3.0.0 to avoid generating most notices, except for the few related to the configuration module, as they would make the code unnecessarily complex.  This default behaviour only happens with Win32.

alterEgosego
09-01-2007, 11:13 PM
<p>ok that's fine for that error.</p><p>how about this one.</p><p><b>Notice</b>: Use of undefined constant index - assumed 'index' in <b>C:Program FilesApache Software FoundationApache2.2htdocschosenrostermasterinclude sclaim.php</b> on line <b>61</b></p><p>this is at Character claim.</p><p> and i get this if i try to claim</p><p><b>Error:</b>Unable to write to database!<b>SQL Error:</b>Incorrect integer value: '' for column 'serial_id' at row 1<b>Query:</b>INSERT INTO roster_master_users VALUES('','ocala','Demonesstic','Primary');</p><p>Thanks</p><p>ocala</p>

Lantis
09-02-2007, 02:41 AM
<cite>alterEgosego wrote:</cite><blockquote><p>ok that's fine for that error.</p><p>how about this one.</p><p><b>Notice</b>: Use of undefined constant index - assumed 'index' in <b>C:Program FilesApache Software FoundationApache2.2htdocschosenrostermasterinclude sclaim.php</b> on line <b>61</b></p><p>this is at Character claim.</p></blockquote>Once again if you read it, it says it's a notice, and so it can be safely ignored.  I will however change that section of the code for the next release as it's a leftover from the original Claim code.<cite>alterEgosego wrote:</cite><blockquote><p><b>Error:</b>Unable to write to database!<b>SQL Error:</b>Incorrect integer value: '' for column 'serial_id' at row 1<b>Query:</b>INSERT INTO roster_master_users VALUES('','ocala','Demonesstic','Primary'<img src="/eq2/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY<img mce_tsrc=" />" />;</p></blockquote>I just tested it here, and it works correctly.  What SQL server are you using?  It looks as if either your database structure is incorrect (that first field should be an auto-incrementing field, and therefore shouldn't return that error), or for some reason your server isn't auto-incrementing that first value as it's supposed to.You can also try to edit includes/claim.php, and change line 171 to this:<span style="font-family: courier new,courier;">$query = "INSERT INTO {$config['prefix']}roster_master_users (username, char_name, char_type) VALUES('$username', '$char_name', '$char_type');";</span>(all on one single line)See if that helps with your specific configuration.

Dark_Grue
09-02-2007, 03:41 AM
<cite>Lantis@Antonia Bayle wrote:</cite><blockquote>Bah, EH raid cancelled due to the servers being down.  Browsed forums for two hours, and servers still not back up.I'm bored, someone find me a bug to fix or something. <img src="/eq2/images/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" width="15" height="15" /></blockquote><p>You're <b><i>bored</i></b>? I've been busy. <img src="http://forums.station.sony.com/eq2/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p>Just finished the alpha build of RM4DF 6.1.0, it's feature-complete, and appears to be working properly. Just have some clean-up work left to do before test. Here's a preview:</p><ul><li>Repaired broken links to the EQ2i wiki that were introduced in the version 6.0.7 update to the quest data.</li><li>Significant updates to quest information and links. Quest data structure has been reorganized.</li><li>Quest trackers now highlight column sorts.</li><li>DATABASE SCHEMA CHANGE: Removed access quests that are no longer required by the game.</li><li>DATABASE SCHEMA CHANGE: Added roster_master_timeline table to support the new timeline quests.</li><li>CONFIG CHANGE: There is now only one configuration section for Quest Master, rather than one for Heritage Master and Key Master.</li><li>STRUCTURE CHANGE: Changed name of "icon_hm.png" to "icon_heritage.png" and added "icon_timeline.png". Added "key.jpg" icon for the Key Master roster.</li><li>NEW FEATURE: Heritage Master and Key Master are now no more, and have been incorporated into Quest Master which now handles Heritage, Access, <b><span style="color: #009900;">and (the oft-requested) Timeline quests</span></b>. This change comes bundled with major changes and improvements to the quest tracker code.</li><li>Fixed some sigblock template keyword case-sensitivity issues. The intent is for keywords to be cAsE-iNsEnSiTiVe.</li><li>Added CLASS keyword to the AVATAR sigblock directive. Feature requested by alterEgosego.</li></ul><p>I'm pretty happy with the improvements to the quest tracker, forced me to make a ton of improvements to the underlying code. <img src="http://forums.station.sony.com/eq2/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" width="15" height="15" /> I'm also pretty glad I finally was able to get around to actually working on it. I've barely had any time to work on it all year. <img src="http://forums.station.sony.com/eq2/images/smilies/136dd33cba83140c7ce38db096d05aed.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p>Oh, BTW, the currently supported Timeline quests are Prismatic, Peacock, Qeynos Claymore, and Swords of Destiny.</p>

alterEgosego
09-02-2007, 08:44 AM
<p>All is good. thank you for the help Lantis!</p><p>Dark_Grue, cant wait for the release for my other site, and thanks for the Added CLASS keyword to the AVATAR sigblock directive.</p><p>that will make thhings easier for me.</p><p>later,</p><p>ocala</p>

crazc28
09-10-2007, 04:25 PM
I dont know if i'm doing something wrong or no. =  I downloaded the Stand Alone 3.0 uploaded it to my server. I followed the New install direction in the Doc folder, but when i get to rmadmin.php it asks for a password. I saw somewhere that the default password is admin, but that did not work. I tried not entering a password but that didnt work either. Am i missing something, am i doing something wrong? Any help would be much appreciated =)

jey10
09-10-2007, 04:26 PM
<p>Greetings all,</p><p> Just checking in to see if SOE has made any headway on fixing how they store their Guild info so we can extract it in a timely manner?</p><p>As you might recall I have a rather large guild (900+) characters/users and we keep timing out on the extraction of the info from SOE to my MYSql database...  </p><p> I was wondering if there was some way of extracting the information from SOE storing it on my local PC and then uploading it to Roster Master from there?</p><p>It sucks not having the use of RM ...</p><p> Hope all is well with you all.</p><p>Peace,</p>

Dark_Grue
09-10-2007, 05:21 PM
<p><cite>jey10 wrote:</cite></p><blockquote><p>Greetings all,</p><p> Just checking in to see if SOE has made any headway on fixing how they store their Guild info so we can extract it in a timely manner?</p><p>As you might recall I have a rather large guild (900+) characters/users and we keep timing out on the extraction of the info from SOE to my MYSql database...</p></blockquote><p>I've heard nothing more since the initial discussion we all had with Gninja - haven't seen him posting much lately, actually. Rumors abound.</p><p>Nothing really any of us consumers can do about it until they fix it, other than what we've already done.</p><p><cite>jey10 wrote:</cite></p><blockquote>I was wondering if there was some way of extracting the information from SOE storing it on my local PC and then uploading it to Roster Master from there?</blockquote><p>Uh yeah, there is. <img src="http://forums.station.sony.com/eq2/images/smilies/136dd33cba83140c7ce38db096d05aed.gif" border="0" alt="SMILEY" width="15" height="15" /> Both Lantis and I implemented features to allow Roster Master to update from an external process. I thought you were around for that part of the conversation?</p><p>From two pages back:</p><p>RMSA:</p><p><a rel="nofollow" href="http://forums.station.sony.com/eq2/posts/list.m?start=390&topic_id=346728#4239635" target="_blank">http://forums.station.sony.com/eq2/...=346728#4239635</a></p><p>RM4DF: </p><p><a rel="nofollow" href="http://forums.station.sony.com/eq2/posts/list.m?start=390&topic_id=346728#4241517" target="_blank">http://forums.station.sony.com/eq2/...=346728#4241517</a></p><p>Basically, you can set up a cron job to pull the page (slowly), and have Roster Master ingest it. It's not really an option that comes with a lot of support (I don't know that anyone is actually <i>using</i> it), and it isn't intended to solve every problem in every concievable circumstance, but it may resolve your problem to the best extent we have available.</p><p>The current option has the update run through PHP. With RM4DF (not sure about RMSA), you could further abstract this by using the <b>completely unsupported</b> file hack in combination with a little shell script. First, you download the roster CSV and save it to disk, then the HTML roster ('cause it's way slow), save that. Last, you run the line to trigger the update. If PHP/Apache is just completely timing out because the response is so slow, this is probably the way you'd have to go with.</p><p>Script would look something like this (completely untested, I'm writing this totally off the top of my head), call it "rm4df_update.sh", say:</p><p><span style="font-size: xx-small;font-family: courier new,courier;">#!/bin/sh#*********************************************** ************************# Roster Master for Dragonfly(TM) CMS# ************************************************** ********************# Copyright (C) 2007 by Dark Grue## Shell script to update the roster using an external process.# Requires the following settings in config.inc file:#   $config['cache_update_time'] = 0#   $config['read_file_hack'] = TRUE;# Requires sed and wget.# Invoke via crontab using something of the form (example runs every six# hours):# 0 0,6,12,18 * * * /complete-path-to/rm4df_update.sh## Homepage: <a href="http://www.theclenchedfist.com/projects/rm4df/" target="_blank" rel="nofollow">http://www.theclenchedfist.com/projects/rm4df/</a>## $Source: modules/Roster_Master/rm4df_update.sh $# $Revision: 6.1.0 $# $Author: darkgrue (darkgrue @ iname.com) $# $Date: 2007-09-02 $## License:# This program is free software; you can redistribute it and/or modify# it under the terms of the GNU General Public License as published by# the Free Software Foundation; either version 2 of the License, or (at# your option) any later version.## This program is distributed in the hope that it will be useful, but# WITHOUT ANY WARRANTY; without even the implied warranty of# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU# General Public License for more details.## You should have received a copy of the GNU General Public License# along with this program; if not, write to the Free Software# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA# 02111-1307 USA#********************************************** ************************/</span></p><p><span style="font-size: xx-small;font-family: courier new,courier;"># Location of program binaries. Edit as appropriate.SED=/usr/bin/sedWGET=/usr/local/bin/wget</span></p><p><span style="font-size: xx-small;font-family: courier new,courier;"># Parse Guild ID from config.inc file in this directory.GUILD_ID=`$SED -n 's/^$config['''guild_id'''] = ([0-9][0-9]*);.*/1/p' config.inc`</span></p><p><span style="font-size: xx-small;font-family: courier new,courier;"># Get CSV roster file (relatively fast).wget --output-document=./roster.csv --quiet 'http://eq2players.station.sony.com/guilds/guild_roster_csv.vm?guildId='$GUILD_ID# Get HTML summary page (performance-limited).wget --output-document=./guild.html --quiet 'http://eq2players.station.sony.com/guilds/guild_profile.vm?guildId='$GUILD_ID</span></p><p><span style="font-size: xx-small;font-family: courier new,courier;"># Trigger Roster Master update (requires client be bound to localhost).wget --bind-address=127.0.0.1 --output-document=/dev/null --quiet 'http://<yoursitename>/index.php?name=Roster_Master&force_update=1'</span></p><p>And you'd invoke it in your crontab something like:</p><p><span style="font-family: courier new,courier;">0 0,6,12,18 * * *               /complete-path-to/rm4df_update.sh</span></p><p>Of course, if you can't fetch the page <i>at all</i>, there's nothing at all that can be done. Can't process what we can't get.</p><p>[<b>EDIT:</b> Fixed truncated URLs in the wget lines. Also replaced with newer version of the script that has more automation (the one I plan to ship in next version).]</p>

Lantis
09-10-2007, 07:39 PM
<cite>crazc28 wrote:</cite><blockquote>I dont know if i'm doing something wrong or no. =  I downloaded the Stand Alone 3.0 uploaded it to my server. I followed the New install direction in the Doc folder, but when i get to rmadmin.php it asks for a password. I saw somewhere that the default password is admin, but that did not work. I tried not entering a password but that didnt work either. Am i missing something, am i doing something wrong? Any help would be much appreciated =)</blockquote>If you used the supplied config.php.dist as a starting point (renaming it to config.php) instead of letting rmadmin.php generate it, then use 'rmtest' as password.  That example file didn't have the correct default password in it, this has already been corrected for the next update.However if you started without any config.php file, then make sure your browser doesn't block cookies.

jey10
09-11-2007, 06:09 PM
Thank Dark I will give it a go...Who knows maybe I can get it to work for the time being..Peace,

Dark_Grue
09-12-2007, 11:47 AM
<cite>jey10 wrote:</cite><blockquote>Thank Dark I will give it a go...Who knows maybe I can get it to work for the time being..Peace,</blockquote><p>Next version of RM4DF will include a slightly modified version (better commenting of the code, and uses sed to pull the Guild ID out of config.inc) of the script I provided to make the process easier for other folks looking to do this.</p><p>[<b>EDIT:</b> The "improved" script is now the script (above) here in the thread, thanks to the magic of retroactive editing that needed to be done anyway since the Forum had truncated the URLs in the wget lines which kept the script from working as presented...]</p>

KaoS
09-18-2007, 03:50 PM
<p>nm fixed</p>

jey10
09-19-2007, 05:31 PM
<p>Howdy all,</p><p> Just to let you know I have ran the Cron job a couple of times but it does not seem to be pulling in the information.  I have asked my host to check out how I am setting up my cron job to be sure it is pointing to the right location...</p><p> From what they have said everything looks good to them..</p><p><b><span style="color: #cc3300;">Command String:  /bin/sh grenricks.com/modules/Roster_Master/rm4df_update.sh.  Cron Settings:  Min = 45, Hour = 16, Day of Month = 19, Month = 9, Day of week = 4</span></b></p><p>Oh well..</p><p>Hope all is well with you guys...</p><p>Peace,</p>

Dark_Grue
09-19-2007, 06:38 PM
<cite>jey10 wrote:</cite><blockquote><p>Howdy all,</p><p> Just to let you know I have ran the Cron job a couple of times but it does not seem to be pulling in the information.  I have asked my host to check out how I am setting up my cron job to be sure it is pointing to the right location...</p></blockquote><p>Can't help you with that. Those aspects of things are system administration tasks, and require some specific understanding of your particular system/host. There are a number of setting that have to be set correctly, and trouble that needs to be troubleshot. For that reason alone, this will likely remain an unsupported function. <img src="/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" /></p><p><cite>jey10 wrote:</cite></p><blockquote><p><b>Command String:  /bin/sh grenricks.com/modules/Roster_Master/rm4df_update.sh.  Cron Settings:  Min = 45, Hour = 16, Day of Month = 19, Month = 9, Day of week = 4</b></p></blockquote><p>That's not a standard crontab entry format, and I'm not even sure what that means! The path looks wrong (since it's a relative path - there's no starting slash - it may work and/or be correct, but figuring out what the relative path is from cron can be very frustrating and absolute paths make sure things happen the wya they're supposed to). Then there's the time. What does that format even mean?!? If you somehow mangled that into crontab format, that would mean it would only execute at 16:45 on September 19th when that day is a Thursday. Which if that's what that means, it would execute, what, once every seven years?</p><p>Unless that's the log line from when it executed last. I have no idea. If it executed with no errors, it should have created the files in the directory, and then read them.</p><p>I don't know what to make of this information, other than to say: sorry, it's specific to your situation and site. Can't really offer any help. It's outside of the scope of Roster Master, and really, we just don't have the capability to provide answers.</p>

Belin
09-19-2007, 11:15 PM
Was hoping Seagoat to add this to the OP <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />I'm one of the co-developers of Raidninja, and we have recently released final version 2.0 under the GPL v3.Raidninja is designed for guilds that would like to organize their raid force offline by using a signup system.It supports bridges to several CMS/Systems including Dragonfly, Joomla!, phpBB, EQDKP, SMF, postnuke, and phpnuke.Also, it supports pulling roster info from RM4DF and from EQDKP.Currently my guild uses it with a Dragonfly CMS, and of course Roster Master for Dragonfly, and it integrates very nicely.Really, the only thing you need to do is copy the default css file and change the colors/logo to match your site.Full information and support for the program can be found at:  <a href="http://www.raidninja.com" target="_blank" rel="nofollow">www.raidninja.com</a>Hope you enjoy the program!

jey10
09-21-2007, 04:45 PM
<p>Hey DG,</p><p> Yeah that is the way my host has us run Cron jobs very odd...  I found out why it was not running.. They don't allow Wget commands : (</p><p>I apprecaite all your help.</p><p> Rock On!</p>

Lantis
09-21-2007, 06:56 PM
<cite>jey10 wrote:</cite><blockquote><p>Hey DG,</p><p> Yeah that is the way my host has us run Cron jobs very odd...  I found out why it was not running.. They don't allow Wget commands : (</p><p>I apprecaite all your help.</p><p> Rock On!</p></blockquote>Can you see if they allow you to use curl instead of wget?  Doubtfull, but who knows.

Dark_Grue
09-21-2007, 10:50 PM
<p><cite>jey10 wrote:</cite></p><blockquote><p>Hey DG,</p><p> Yeah that is the way my host has us run Cron jobs very odd...  I found out why it was not running.. They don't allow Wget commands : (</p></blockquote><p>Huh, it should have also given you some output then, like "wget: not found", that'd made troubleshooting a lot easier. Mystery solved though.</p><p>Unfortunately, these sorts of solutions tend to get constrained very quickly, as there's no good way to ensure that everyone in every possible configuration can actually accomplish this. If the host removes, or never had the sorts of supporting features we need, at some point... meh. <img src="http://forums.station.sony.com/eq2/images/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p><cite>Lantis@Antonia Bayle wrote:</cite></p><blockquote>Can you see if they allow you to use curl instead of wget?  Doubtfull, but who knows.</blockquote><p>Lynx is another option as well (cURL and Lynx and wget all have different command-line syntax though, so you'd have to rewrite the script). Also, RM4DF authenticated the refresh force by checking that the request came from 127.0.0.1 (localhost). I don't believe Lynx allows you to choose the source address, but cURL does (through the --interface option). If you only have Lynx, you'd have to edit parser.inc to remove that check.</p><p>It'd expose you to DoS attacks against the parser though... Not necessarily a big problem, as if you're using a local file hack it just forces it to re-read the local files. You might decide the risk is acceptable.</p>

Dark_Grue
09-23-2007, 03:06 PM
<p><i>You need only reflect that one of the best ways to get yourself a reputation as a dangerous citizen these days is to go about repeating the very phrases which our founding fathers used in the struggle for independence.</i></p><p>          <b>- Charles Austin Beard (1874 - 1948)</b></p><hr /><p>Just in time for you to ignore it in favor of playing Halo 3, it's... </p><p><b><span style="font-size: large;"><span style="color: #33cc00;">Roster Master for Dragonfly 6.1.0</span></span></b><span style="font-size: small;">Download from the RM4DF project page at </span><a rel="nofollow" href="http://www.theclenchedfist.com/projects/rm4df/index.html" target="_blank">http://www.theclenchedfist.com/proj...m4df/index.html</a></p><p>Changes for Version 6.1.0:</p><ul><li>Repaired broken links to the EQ2i wiki that were introduced in the version 6.0.7 update to the quest data. </li><li>Significant updates to quest information and links. Quest data structure has been reorganized. </li><li>Quest trackers now highlight column sorts. </li><li>DATABASE SCHEMA CHANGE: Removed access quests that are no longer required by the game. </li><li>DATABASE SCHEMA CHANGE: Added roster_master_timeline table to support the new timeline quests. </li><li>CONFIG CHANGE: There is now only one configuration section for Quest Master, rather than one for Heritage Master and Key Master. </li><li>STRUCTURE CHANGE: Changed name of "icon_hm.png" to "icon_heritage.png" and added "icon_timeline.png". Added "key.jpg" icon for the Key Master roster. </li><li><b>NEW FEATURE: Heritage Master and Key Master are now no more, and have been incorporated into Quest Master which now handles Heritage, Access, and (the oft-requested) Timeline quests. This change comes bundled with major changes and improvements to the quest tracker code.</b> </li><li>Fixed some sigblock template keyword case-sensitivity issues. The intent is for keywords to be cAsE-iNsEnSiTiVe. </li><li>Added CLASS keyword to the AVATAR sigblock directive. Feature requested by alterEgosego. </li><li>Added Dragonfly 9.1.2.8 compatibility (new blocks class). </li><li>Quest claim forms now group and sort like the in-game Quest Journal, to make entering quests easier. </li><li>Added rm4df_update script file to aid in updating the roster from an external process. This is an UNSUPPORTED feature. </li><li>Fixed Force Update link not working/not returning correctly. Force Update now always returns to the roster page. Bug reported by Beldak. </li><li>Fixed JavaScript table displaying horizontal scroll bar in Firefox. Bug reported by Beldak. </li></ul>

Lantis
09-23-2007, 04:06 PM
Figured I had been holding back this minor maintenance release long enough...  Here's<u><span style="font-size: medium;color: #ffff00;">RosterMaster StandAlone 3.0.1</span></u>Nothing major in this version, still recovering from the 3.0.0 development <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /><p>  <u>Changes since 3.0.0:</u></p><ul><li>IMPROVED: Do not log rank_value changes.</li><li>IMPROVED: Only log rank name changes if the rank value was also changed. Else, it probably means the rank was simply renamed, and the user wasn't actually promoted/demoted.</li><li>IMPROVED: The 'verbose_error' config option will now also enable displaying PHP errors inside your browser, in addition to its former behaviour of displaying SQL queries on SQL errors.</li><li>IMPROVED: Logged modified Joined dates are now converted into human-readable format.</li><li>FIXED: Eliminated a few harmless notices in the Claim module.</li><li>FIXED: The "Verify PHP Features" page wasn't correctly testing the PHP version.</li><li>FIXED: The example config.php.dist file had the wrong default password (and a few other default values were also incorrect).</li></ul><span class="postbody"> View it <a rel="nofollow" href="http://www.lostrealm.ca/tower/content/view/13/31/" target="_blank">here</a>. Download it <a rel="nofollow" href="http://www.lostrealm.ca/tower/component/option,com_remository/Itemid,37/func,select/id,2/" target="_blank">here</a>. Discuss it here.</span>

Seagoat
09-23-2007, 07:01 PM
<p>Done, done, and done!</p><p>Beldak, I added your info to the OP...cool stuff!</p><p>Grue and Lantis, your respective module info is all up to date.  <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /></p>

Nomandis
09-26-2007, 11:46 AM
<p>For some reason when sorting by rank recruits are coming after Guild Recruiter and before Guild Bank. </p><p>Using latest RM4DF and the following settings was also happening in 6.0.7 </p><p>$config['lookup_rank'] = array( 'Leader' => 1, 'Guild Recruiter' => 2, 'Guild Bank' => 3, 'Officer' => 4, 'Quartermaster' => 5, 'Senior Member' => 6, 'Member' => 7, 'Recruit' => 8; </p><p>Any help would be appreciated</p><p><a href="http://cohort.nemisiis.net" rel="nofollow" target="_blank">Cohort Chalybeius</a></p>

Seagoat
09-26-2007, 12:21 PM
<cite>Xenithia@Crushbone wrote:</cite><blockquote><p>For some reason when sorting by rank recruits are coming after Guild Recruiter and before Guild Bank. </p><p>Using latest RM4DF and the following settings was also happening in 6.0.7 </p><p>$config['lookup_rank'] = array( 'Leader' => 1, 'Guild Recruiter' => 2, 'Guild Bank' => 3, 'Officer' => 4, 'Quartermaster' => 5, 'Senior Member' => 6, 'Member' => 7, 'Recruit' => 8; </p><p>Any help would be appreciated</p><p><a rel="nofollow" href="http://cohort.nemisiis.net" target="_blank">Cohort Chalybeius</a></p></blockquote>This should be an easy fix...you're missing a closing parentheses.  :)  It should be between the "8" and the ";".

Nomandis
09-26-2007, 06:25 PM
<p>The ) is there on the file dunno why its not there on the boards, I'll post it again$config['lookup_rank'] = array('Leader' => 1,'Guild Recruiter' => 2,'Guild Bank' => 3,'Officer' => 4,'Quartermaster' => 5,'Senior Member' => 6,'Member' => 7,'Recruit' => 8);</p><p>Not a bad glitch but still annoying heh</p>

Dark_Grue
09-26-2007, 07:00 PM
<cite>Xenithia@Crushbone wrote:</cite><blockquote>The ) is there on the file dunno why its not there on the boards, I'll post it again$config['lookup_rank'] = array('Leader' => 1,'Guild Recruiter' => 2,'Guild Bank' => 3,'Officer' => 4,'Quartermaster' => 5,'Senior Member' => 6,'Member' => 7,'Recruit' => <img src="/smilies/b2eb59423fbf5fa39342041237025880.gif" border="0" alt="SMILEY" />;</blockquote><p>When posting code, it's best to check the box at the bottom of your post that says "Disable smilies in this message", since constructs like <img src="/smilies/b2eb59423fbf5fa39342041237025880.gif" border="0" alt="SMILEY" /> are smiley shortcuts.</p><p><cite><a href="mailto:Xenithia@Crushbone" rel="nofollow" target="_blank">Xenithia@Crushbone</a> wrote:</cite></p><blockquote>Not a bad glitch but still annoying heh</blockquote><p>There haven't been any sort code changes for a long time, so if it's a bug it's managed to go unreported for quite a while, which seems unlikely... Other than Recruit being misplaced in the sort order, it <i>is</i> sorting things correctly, since it's going R, O, Q, S, M - which isn't natural sort order.</p><p>I'll see if I can reproduce the problem when I get home.</p>

Nomandis
09-26-2007, 07:45 PM
<p>Forgot to post the mysql and php version</p><p>PHP version 4.4.6 </p><p>MySQL version 4.1.22-standard-log </p>

Dark_Grue
09-26-2007, 11:24 PM
<cite>Xenithia@Crushbone wrote:</cite><blockquote>Forgot to post the mysql and php version</blockquote><p>Don't worry about it, turns out it's not relevant in this case. I was able to replicate the problem, and figured out the cause.</p><p>When I switched from a php usort() to a SQL sort of the data, I had to make a special sort case for guild ranks (since they can be sorted in an arbitrary order that $config['lookup_rank'] specifies). The way I did that was by concatinating all the possible values into the string and having the sort order be by where the row guild rank value appeared (by distance) in the long comparison string.</p><p>My error was in not properly accounting for cases where a string was a substring of another. "Recruit" comes third because it matches the string "Leader,Guild Recruiter,Guild Bank,Officer,Quartermaster,Senior Member,Member,Recruit" at position 14, which ranks it ahead of "Guild Bank".</p><p>In the modules/Roster_Master/functions/rostermaster.inc file, change Lines 258-272 to:</p><p><span style="font-family: courier new,courier;">$data_array = read_db($exclude_alts, ' ORDER BY '  .(($s1 == 'r') ? "FIELD(guildRank, '".implode('', '', array_keys($config['lookup_rank']))."')" : $sort_options[$s1]['field'])  .(($s1d == 'd') ? ' DESC' : ' ASC').', '  .(($s2 == 'r') ? "FIELD(guildRank, '".implode('', '', array_keys($config['lookup_rank']))."')" : $sort_options[$s2]['field'])  .(($s2d == 'd') ? ' DESC' : ' ASC'));</span></p><p>There's a problem though - as far as I can tell, there is no equivalent function in Postgres (which I'm not sure is a huge problem because neither was LOCATE() - although POSITION() is the supported equivalent).</p><p>Is there a Postgres doctor in the house? <img src="http://forums.station.sony.com/eq2/images/smilies/136dd33cba83140c7ce38db096d05aed.gif" border="0" alt="SMILEY" width="15" height="15" /></p>

Lindar Phamoncry
09-27-2007, 03:41 PM
<p>Just installed the standalone version on my test site... gotta say very easy for something so dynamic to what you want it to show!</p><p>Curious though, why none of the spiffy bells and whistles that the Dragonfly version has like the quest tracker?</p><p>I'm using SMF/TP and would love to see some of these things since it would easily be displayed in such a site</p><p>As such... would it be possible to reference a standalone database with the wall of fame script? I could probably work through it but if something like this has been done before or as the author of the code you know some reason why this wouldnt work I'd sure appreciate it</p>

Lantis
09-27-2007, 04:53 PM
<cite>Lindar@Antonia Bayle wrote:</cite><blockquote><p>Just installed the standalone version on my test site... gotta say very easy for something so dynamic to what you want it to show!</p><p>Curious though, why none of the spiffy bells and whistles that the Dragonfly version has like the quest tracker?</p><p>I'm using SMF/TP and would love to see some of these things since it would easily be displayed in such a site</p></blockquote>Glad you like it <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />There are a few reasons why RMSA lacks the advanced features of RM4DF:1) To keep it as simple to setup as possible <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />2) For about a whole year there was no one developing RMSA.  I only took over development last winter and had to slowly get familiar with the code, while Grue has been developing RM4DF continuously for a few years now.3) A lot of those advanced features require some authentication bridge with your portal or forum software.  RMSA only supports Invision and phpBB 2.x, and I lack both the time and interest to develop additional support for other portals and forum software.  Doing such a thing involves first installing a test environment, then studying the SDK, and seeing if it can be adapted without having to include various parts of the SDK.  I had a look at SMF for instance (as we use it on our own guild portal), and it didn't seemed really trivial to adapt to RMSA without having to change a lot of things around.4) RMSA is meant to also work with very basic websites which lack such things as an SQL server.5) I am a lazy person <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />Ideally, I think such trackers should be developped in parallel with RMSA itself, as the only thing these modules  need from the roster is a link to the database entries, where characters are matched to forum/portal names.  I lack the time to do such a thing, but if anyone wants to, I'll gladly provide whatever support they would need to ensure that the two can interface as seemingly as possible.  With 3.0.0 I don't expect the database to go in any further major changes, so it provides a stable platform to develop third party addons on top of.<cite>Lindar@Antonia Bayle wrote:</cite><blockquote><p>As such... would it be possible to reference a standalone database with the wall of fame script? I could probably work through it but if something like this has been done before or as the author of the code you know some reason why this wouldnt work I'd sure appreciate it</p></blockquote>What is that "wall of fame" script?  If it's something in RM4DF I guess it should be possible to adapt it to RMSA, our database structures are even quite similar.  I know Grue usually employs some form of caching to avoid having to recreate the block's HTML on every page refresh, I could just remove this part if it's too tightly related to Dragonfly.I did start writing a few very basic blocks that could be inserted into a portal to retrieve and display specific info pulled from the RMSA database to provide some simple "Hall of Fame" displays.  I just never really finished them for various reasons.  What type of blocks would you like to see?  So far I had these noted down / partly developed:- Random "Featured Player"- Top status, quests...

Dark_Grue
09-27-2007, 05:29 PM
<cite>Lantis@Antonia Bayle wrote:</cite><blockquote><cite><a href="mailto:Lindar@Antonia" rel="nofollow" target="_blank">Lindar@Antonia</a> Bayle wrote:</cite><blockquote><p>As such... would it be possible to reference a standalone database with the wall of fame script? I could probably work through it but if something like this has been done before or as the author of the code you know some reason why this wouldnt work I'd sure appreciate it</p></blockquote>What is that "wall of fame" script?  If it's something in RM4DF I guess it should be possible to adapt it to RMSA, our database structures are even quite similar.  I know Grue usually employs some form of caching to avoid having to recreate the block's HTML on every page refresh, I could just remove this part if it's too tightly related to Dragonfly.</blockquote><p>Yeah, he's talking about the guild summary/statistics block in RM4DF (so named because there was a similiar section in EQ2Players.com that it replicates/expands upon). Not all the data displayed in the HoF is generated from the roster, however. There's a goodly amount that's taken from the HTML summary page, since a number of the data items can't be calculated from the roster data. Calcuating stats off of the roster data's trivial though.</p><p>The caching, automatic instantation, and langugage file support are all Dragonfly-specific, although you could certainly implement those same functions differently without have to gett too exotic. There's nothing particularly complicated about the block - provided you have a relational database to query.</p><p>However, what you <i>really</i> want to do is just switch to Dragonfly. A lot of folks have for this reason alone. I've heard no complaints... <img src="http://forums.station.sony.com/eq2/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" width="15" height="15" /></p>

Lindar Phamoncry
09-27-2007, 06:09 PM
<p>Wow such in depth responses I really appreciate it the both of you!</p><p>I'll try to play around with it a bit and see what I can come up with, I'm a bit novice but have pulled of feats like this before <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /></p><p>As far as switching to dragonfly... I just dont see that happening, I've been an admin on both types of forums and have found SMF/TP to be insanely easier to deal with and customize, and on top of that the themes tend to appear much more modern... thats just the opinion from a novice like I said before... but things like mods that merge SMF/Mediawiki users I just cant live without.</p><p>I'll let you guys know what I come up with <img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" /> again many thanks</p>

Lantis
09-27-2007, 08:14 PM
<cite>Dark_Grue wrote:</cite><blockquote><cite></cite><p>However, what you <i>really</i> want to do is just switch to Dragonfly. A lot of folks have for this reason alone. I've heard no complaints... <img src="http://forums.station.sony.com/eq2/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" width="15" height="15" /></p></blockquote>It's like if I asked you to switch from EQ2 to WoW because their website would have more statistics for you to pull <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />

MDKUK
09-28-2007, 08:00 AM
<p>Hi guys, </p><p>Nice stuff btw <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /> </p><p>OK, I am having a problem, I have installed the Standalone once before, and until recently it worked ok, now I have installed it for a different guild but it fails to connect to EQ2players, I have double checked the config file and I have taken the neccessary stuff from the EQ2players site but it still fails to connect, I then went back to the original one I put up a year ago and this one also fails to connect back to Eq2players... any ideas? </p>

Thunderthyze
09-28-2007, 08:03 AM
<cite>MDKUK wrote:</cite><blockquote><p>Hi guys, </p><p>Nice stuff btw <img src="/eq2/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY<img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />" width="15" height="15" /> </p><p>OK, I am having a problem, I have installed the Standalone once before, and until recently it worked ok, now I have installed it for a different guild but it fails to connect to EQ2players, I have double checked the config file and I have taken the neccessary stuff from the EQ2players site but it still fails to connect, I then went back to the original one I put up a year ago and this one also fails to connect back to Eq2players... any ideas? </p></blockquote><p>Just to specify.....the error message returned is:</p><p>Unable to find guild name "xxxxxxx" on the Sony website.There are 2 probable reasons for this:1) Your $config['guild_name'] is set incorrectly in rm_config.php2) Your $config['guild_id'] is set incorrectly in rm_config.phpCheck these values and try again</p>

MDKUK
09-28-2007, 08:07 AM
of which I have checked and double checked my rm_config.php file <img src="http://forums.station.sony.com/eq2/images/smilies/385970365b8ed7503b4294502a458efa.gif" border="0" alt="SMILEY" width="15" height="15" />

Lantis
09-28-2007, 11:56 AM
<cite>Chakine@Runnyeye wrote:</cite><blockquote>of which I have checked and double checked my rm_config.php file <img src="http://forums.station.sony.com/eq2/images/smilies/385970365b8ed7503b4294502a458efa.gif" border="0" alt="SMILEY" width="15" height="15" /></blockquote>If it's a large guild, note that it might be timing out.  And if it's a new guild, it won't work for a few days (the EQ2Players website doesn't populate all fields immediately when a new guild is created, can take a few days).Also, your provider might be blocking outbound connections on port 80.  Try with and without Curl enabled, see if it makes any difference.

Dark_Grue
09-28-2007, 02:24 PM
<cite>Lantis@Antonia Bayle wrote:</cite><blockquote><cite>Dark_Grue wrote:</cite><blockquote><cite></cite><p>However, what you <i>really</i> want to do is just switch to Dragonfly. A lot of folks have for this reason alone. I've heard no complaints... <img src="http://forums.station.sony.com/eq2/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" width="15" height="15" /></p></blockquote>It's like if I asked you to switch from EQ2 to WoW because their website would have more statistics for you to pull <img src="/eq2/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY<img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />" width="15" height="15" /></blockquote><p>I'm just <strike>shilling</strike> pulling for my team! <img src="http://forums.station.sony.com/eq2/images/smilies/908627bbe5e9f6a080977db8c365caff.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p>My suggestion was only partly tongue-in-cheek though, as there are plenty of good, rational reasons to choose a different CMS. Dragonfly can't (and won't) be all things to all people. I like Dragonfly because it does everything I want it to, and the things it doesn't do, nothing else did either. But it was easy for me to extend it and get it done (hence RM4DF).</p><p>On the other hand, I honestly have gotten notes from a number of people who have switched to Dragonfly from other CMS systems just for the ability to run RM4DF, and been very happy with the switch. Which is a awful nice compliment. <img src="http://forums.station.sony.com/eq2/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" width="15" height="15" /></p>

Dark_Grue
09-28-2007, 11:12 PM
<p>I think I've found a solution to doing the guild rank sort that works for both MySQL and Postgres. At the same time, I found a number of unreported errors in the sort code that I fixed (at least, I think I did).</p><p>Here's what I changed in rostermaster.inc:</p><p><span style="font-family: courier new,courier;"> // SORT CODE // Set default search options. if (empty($sort_options[$s1]) || ($exclude_alts && ($s1 == 'ct'))) {  $s1 = 'r';  // Guild Rank  $s1d = 'd';  // DESC } if (($s1d != 'a') && ($s1d != 'd')) {  $s1d = 'd';  // DESC }</span></p><p><span style="font-family: courier new,courier;"> // Set s2 = s1 if a column header was clicked or switched from Display All view to Display Primary. if (($s2 == $s1) || ($exclude_alts && ($s2 == 'ct'))) {  $s2 = $s1;  $s2d = $s1d; }</span></p><p><span style="font-family: courier new,courier;"> // Set default secondary search options. if (empty($sort_options[$s2])) {  $s2 = 'al';  // Adventurer Level  $s2d = 'd';  // DESC } if (($s2d != 'a') && ($s2d != 'd')) {  $s2d = 'd';  // DESC }</span></p><p><span style="font-family: courier new,courier;"> // Fetch the guild data out of the database tables $summary_data_array = read_summary_db(); $rankorder = 'CASE guildRank'; foreach(array_keys(array_reverse($conf ig['lookup_rank'], TRUE)) as $order => $rank) {  $rankorder .= " WHEN '$rank' THEN $order"; } $rankorder .= ' ELSE 999 END'; $data_array = read_db($exclude_alts, ' ORDER BY '  .(($s1 == 'r') ? $rankorder : $sort_options[$s1]['field'])  .(($s1d == 'd') ? ' DESC' : ' ASC')  .(($s1 != $s2)   ? ', '.(($s2 == 'r') ? $rankorder : $sort_options[$s2]['field'])    .(($s2d == 'd') ? ' DESC' : ' ASC')   : '')  );</span></p><p><span style="font-family: courier new,courier;"> // Display the commands.</span></p><p>Seems to work (in MySQL, I don't have Postgres to test against). I can't say I came up with the CASE solution on my own, I just did a lot of Googling to come up with alternative solutions - which was surprisingly difficult.</p><p>Some of the other bugs I found were mostly related to how I was handling defaulting out, and what happened when you flipped between showing alts and not (the character type column is an invalid sort type if you're just displaying primaries).</p>

Nomandis
09-30-2007, 02:57 PM
<p>Thanks that fixed it <img src="/eq2/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY<img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />" width="15" height="15" /></p><p>Found a small bug, no matter if I select sort asscending or Decending it will always sort decending.</p><p>IE. sort by name asscending always puts Z before A.</p>

Dark_Grue
09-30-2007, 03:32 PM
<cite>Xenithia@Crushbone wrote:</cite><blockquote>Thanks that fixed it <img src="/eq2/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY<img src=" width="15" height="15" /> <p>Found a small bug, no matter if I select sort asscending or Decending it will always sort decending.</p><p>IE. sort by name asscending always puts Z before A.</p></blockquote><p>Yup, I see it too. It must have been pretty late when I was finishing up on that. The logic on the two IFs checking for invalid sort parameters was exactly backwards.</p><p>I've fixed it in the OP.</p>

MDKUK
10-01-2007, 07:23 AM
<cite>Lantis@Antonia Bayle wrote:</cite><blockquote><cite>Chakine@Runnyeye wrote:</cite><blockquote>of which I have checked and double checked my rm_config.php file <img src="http://forums.station.sony.com/eq2/images/smilies/385970365b8ed7503b4294502a458efa.gif" border="0" alt="SMILEY" width="15" height="15" /></blockquote>If it's a large guild, note that it might be timing out.  And if it's a new guild, it won't work for a few days (the EQ2Players website doesn't populate all fields immediately when a new guild is created, can take a few days).Also, your provider might be blocking outbound connections on port 80.  Try with and without Curl enabled, see if it makes any difference.</blockquote>Hiya, Its not a large guild, and has been around for approx 3 weeks now, but still get the same error message <i>Unable to find guild name "Eclipse" on the Sony website.There are 2 probable reasons for this:1) Your $config['guild_name'] is set incorrectly in rm_config.php2) Your $config['guild_id'] is set incorrectly in rm_config.phpCheck these values and try again.</i>

Lantis
10-01-2007, 11:44 AM
<cite>Chakine@Runnyeye wrote:</cite><blockquote><cite>Lantis@Antonia Bayle wrote:</cite><blockquote><cite>Chakine@Runnyeye wrote:</cite><blockquote>of which I have checked and double checked my rm_config.php file <img src="http://forums.station.sony.com/eq2/images/smilies/385970365b8ed7503b4294502a458efa.gif" border="0" alt="SMILEY" width="15" height="15" /></blockquote>If it's a large guild, note that it might be timing out.  And if it's a new guild, it won't work for a few days (the EQ2Players website doesn't populate all fields immediately when a new guild is created, can take a few days).Also, your provider might be blocking outbound connections on port 80.  Try with and without Curl enabled, see if it makes any difference.</blockquote>Hiya, Its not a large guild, and has been around for approx 3 weeks now, but still get the same error message <i>Unable to find guild name "Eclipse" on the Sony website.There are 2 probable reasons for this:1) Your $config['guild_name'] is set incorrectly in rm_config.php2) Your $config['guild_id'] is set incorrectly in rm_config.phpCheck these values and try again.</i></blockquote>Which version are you using BTW?  This error message referring to rm_config.php hasn't been in RMSA for months.  Make sure you are using 3.0.1, which is the latest.I tested it here, and it works for me, using Eclipse and Guild ID 1658204.  Once you've installed the latest version, double-check these two parameters.  If it still occurs no matter if Curl  support is enabled or disabled, then your host is preventing you from accessing the EQ2players, in which case there's nothing I can do for you.

Dark_Grue
10-01-2007, 01:14 PM
<cite>Lantis@Antonia Bayle wrote:</cite><blockquote>I tested it here, and it works for me, using Eclipse and Guild ID 1658204.  Once you've installed the latest version, double-check these two parameters.  If it still occurs no matter if Curl  support is enabled or disabled, then your host is preventing you from accessing the EQ2players, in which case there's nothing I can do for you.</blockquote><p>I'm not sure how RMSA handles it, but I'm guessing your pull method would actually give a different runtime error if the actual problem was no connectivity?</p><p>Sounds more like the sort of thing that a pre-EoF version of RM would pitch, or a typo in the config file, I agree.</p>

Lantis
10-01-2007, 02:49 PM
<cite>Dark_Grue wrote:</cite><blockquote><cite>Lantis@Antonia Bayle wrote:</cite><blockquote>I tested it here, and it works for me, using Eclipse and Guild ID 1658204.  Once you've installed the latest version, double-check these two parameters.  If it still occurs no matter if Curl  support is enabled or disabled, then your host is preventing you from accessing the EQ2players, in which case there's nothing I can do for you.</blockquote><p>I'm not sure how RMSA handles it, but I'm guessing your pull method would actually give a different runtime error if the actual problem was no connectivity?</p><p>Sounds more like the sort of thing that a pre-EoF version of RM would pitch, or a typo in the config file, I agree.</p></blockquote>Most likely (I don't have the code in front of me as I'm at work), but that was before I noticed the error refered to a long-gone configuration file, so it's possible this is an obsolete pre-EoF version.I'm not excluding the host issue (once all other hypothesis have been verified) in case his host has some funky transparent proxy on its network.

Dark_Grue
10-01-2007, 06:31 PM
<cite>Lantis@Antonia Bayle wrote:</cite><blockquote>I'm not excluding the host issue (once all other hypothesis have been verified) in case his host has some funky transparent proxy on its network.</blockquote><p>Yeah, oddly enough I'd considered that circumstance when I was writing that post, as a misbehaving proxy could return an empty or placeholder page, but then I thought "nah, it'd be goofy for a hosting service to do outbound through a proxy, and no one (other than Lantis) would know what I was talking about anyway." <img src="http://forums.station.sony.com/eq2/images/smilies/69934afc394145350659cd7add244ca9.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p>Been pretty quiet around here, actually. 6.1.0 didn't generate that much traffic, other than that (apparently old) sort bug. Isn't it wierd how it's bugs that were around for several versions are the ones that pop up? I'm sure there's a reason for that (I mean other than the perverseness of the universe)... Not that I'm complaining, the sort code's much better for it.</p>

Lantis
10-05-2007, 07:50 PM
Any update on your issues Chakine?

Dark_Grue
10-19-2007, 08:46 PM
<p><i>But there's no sense crying over every mistakeYou just keep on trying till you run out of cakeAnd the science gets done and you make a neat gunFor the people who are still alive</i></p><p>          <b>- </b><b><i><b><a href="http://www.jonathancoulton.com/" rel="nofollow" target="_blank">Jonathan Coulton</a>, <i>"Still Alive"</i> </b>(Portal, The Orange Box)</i></b></p><hr /><p><span style="font-size: medium;color: #00cc00;"><b>Roster Master for Dragonfly 6.1.1</b></span>Download from the RM4DF project page at <a rel="nofollow" href="http://www.theclenchedfist.com/projects/rm4df/index.html" target="_blank">http://www.theclenchedfist.com/proj...m4df/index.html</a>Changes for Version 6.1.1:</p><ul><li>Fixed sor<i>T</i> order w<i>H</i>en guild ranks are substrings of one anoth<i>E</i>r. Also fixed some unreported sorting bugs and an existing in<i>C</i>omp<i>A</i>tibility with Postgres in the sort query. Should wor<i>K</i> better now. Bug report<i>E</i>d by Nomandis. </li><li>Added AoAx4 access quest. Also added missing Deathtoll access quest (this quest also demonstrates the ab<i>I</i>lity of Que<i>S</i>t M<i>A</i>ster to hand<i>L</i>e mult<i>I</i>-st<i>E</i>p quests in any of the quest trackers). Bug reported by Bati. </li></ul>

Seagoat
10-19-2007, 09:30 PM
<p>I get the sneaking suspicion that the cake is a lie...  O.o</p><p>OP will be updated shortly!</p>

CuCullain
10-22-2007, 03:49 PM
<p>I just upgraded yesterday to the new release of RosterMasterDF. Today I got two SQl errors and was hoping I could get some help.</p><ul><li><b>PLATFORM</b>:  DragonFly 9.1.1</li><li><b>VERSION</b>:  Brand new Oct 17th version</li><li><b>URL</b>:  <a href="http://www.godrinal.com/Roster_Master.html" rel="nofollow" target="_blank">http://www.godrinal.com/Roster_Master.html</a> (might have to enable it for guests if you need to see it. </li><li><b>ERROR (via email to admin)</b>:  On /Roster_Master/rm=qm_display/qm=heritage.htmlWhile executing query "SELECT <a rel="nofollow" href="http://rm.name/" target="_blank">rm.name</a>, rm.Adv_Level, rmu.*, qm.* FROM cms_roster_master_users AS rmuINNER JOIN cms_roster_master AS rm USING (characterId)INNER JOIN cms_roster_master_heritage AS qm USING (characterId)INNER JOIN cms_users AS cmsusers ON rmu.user_id=cmsusers.user_id WHERE rmu.char_type='Primary' WHERE qm.active='1' ORDER BY <a rel="nofollow" href="http://rm.name/" target="_blank">rm.name</a>"the following error occured: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE qm.active='1' ORDER BY <a rel="nofollow" href="http://rm.name/" target="_blank">rm.name</a>' at line 4In: /home/fuzzygno/public_html/warcraft/modules/Roster_Master/functions/questmaster.inc on line: 1603</li></ul>

Seagoat
10-22-2007, 03:58 PM
Hehe, the whole point of asking for your URL is so we can see it in action (or in failure, whichever the case may be).  <img src="/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" />  So yes, enabling guests/anonymous users to view it would help a lot!

CuCullain
10-23-2007, 01:54 AM
<cite>Seagoat wrote:</cite><blockquote>Hehe, the whole point of asking for your URL is so we can see it in action (or in failure, whichever the case may be).  <img src="/eq2/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY<img src=" width="15" height="15" />" width="15" height="15">  So yes, enabling guests/anonymous users to view it would help a lot!</blockquote>No problem, people should be able to see it fine now, updated my original post with a direct URL and made sure guests could see it.The odd thing is I don't think it is causing visible errors for the users (well at least non of my guild members have said anything yet if it is, which would be amazing)

Dark_Grue
10-23-2007, 11:57 AM
<cite>Faush@Antonia Bayle wrote:</cite><blockquote>INNER JOIN cms_users AS cmsusers ON rmu.user_id=cmsusers.user_id <span style="color: #ff0000;">WHERE rmu.char_type='Primary' WHERE qm.active='1' </span>ORDER BY <a rel="nofollow" href="http://rm.name/" target="_blank">rm.name</a>"</blockquote><p>Phooey. There's the problem right there. There are two WHERE clauses, where there should only be one. Looks like I'm going to have to take another look at the query code there.</p><p><cite>Faush@Antonia Bayle wrote:</cite></p><blockquote>The odd thing is I don't think it is causing visible errors for the users (well at least non of my guild members have said anything yet if it is, which would be amazing)</blockquote><p>It doesn't. Dragonfly only shows debugging/error information to you if you're logged in as the admin. Most times, being able to see the problem "live" does help with a lot of debugging problems, so asking for it's part of the SOP. SQL errors are usually pretty specific, though.</p><p>Haven't tested it yet, but looks like $result starting on Line 1597 in functions/questmaster.inc needs to be something like:</p><p><span style="font-family: courier new,courier;">$result = $db->sql_query("SELECT rm.name, rm.Adv_Level, rmu.*, qm.* FROM {$prefix}_roster_master_users{$suffix} AS rmu  INNER JOIN {$prefix}_roster_master{$suffix} AS rm USING (characterId)  INNER JOIN {$prefix}_roster_master_{$qm}{$suffix} AS qm USING (characterId)  INNER JOIN {$user_prefix}_users AS cmsusers ON rmu.user_id=cmsusers.user_id"  .(($exclude_alts)   ? ' WHERE rmu.char_type='Primary''.(($config['qm_exclude_inactive']) ? ' AND qm.active='1'' : '')   : (($config['qm_exclude_inactive']) ? ' WHERE qm.active='1'' : ''))  .' ORDER BY '.(($s1 == 'name') ? 'rm.name' : (($s1 == 'Adv_Level') ? 'rm.Adv_Level' : "qm.`{$s1}`")).(($s1d == 'd') ? ' DESC' : '').(($s1 == 'name') ? '' : ', rm.name'), FALSE);</span></p><p><b>EDIT:</b> Looked at it, the above solution should work fine. But I found two more unreported bugs, one of them related to the "Display All"/"Display Primary" links in Quest Master. So there will be a point release shortly, I suspect.</p>

CuCullain
10-24-2007, 01:25 AM
Yah I saw those also, but I felt it was a bit pushy to fire off the dozens of various SQl errors I am getting right now. As I suspected you found some yourself.

Dark_Grue
10-24-2007, 04:53 PM
<cite>Faush@Antonia Bayle wrote:</cite><blockquote>Yah I saw those also, but I felt it was a bit pushy to fire off the dozens of various SQl errors I am getting right now. As I suspected you found some yourself.</blockquote><p>Mmn, the other two unreported bugs weren't SQL error bugs, so if you're getting other (different, I mean, not the same one over and over again) SQL errors, send 'em along so I can take a look at them.</p><p>One was that if you had $config['show_alts'] = 0; the "Display All" link in Quest Master wouldn't actually display all (because it wouldn't actually link the necessary parameter). I can't remember what the other bug was, but it was something I found while fixing the other two.</p><p>Oh, wait, I remember now, it was actually two other bugs. One had to do with the sync_active_claims() function not actually working when called from cpg_inst.php (it was iterating over an empty array because of a variable scoping issue, so it wasn't actually doing anything useful), and the other was that I'd created a new administration menu link to call that function manually (where it would have actually worked as expected), but I'd forgotten to update the logic, so the menu item would never be displayed (it supposed to show if you have the Quest Master tables up).</p><p>Neither of those would generate SQL errors, tho.</p><p>The config file that RM4DF is actually my operational configuration file, and so it's the best-tested configuration. A lot of the options I don't actually ever use, so once I get them "working" (or think I do), I pretty much don't retest them unless I actually touch that section of the code again. So, actually, some of these bugs have been around for a long time, which is kinda odd, 'cause you'd think the people who originally requested the features would notice they weren't working... <img src="http://forums.station.sony.com/eq2/images/smilies/2786c5c8e1a8be796fb2f726cca5a0fe.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p>Anyhoo, if you're using the features and they aren't working as expected, let me know, you might very well have found something that's been hanging around for a while. Doesn't usually take very long to fix stuff, as you can see - I usually have a post up with a solution same-day. I try to delay point release though, otherwise I'm putting out a new package every other day (it may not seem it, but bundling up the software, posting it, and updating all the informational posts everywhere is actually pretty tedious and time-consuming, so I try not to do it overly often unless I really have to).</p>

CuCullain
10-24-2007, 06:43 PM
<p>Sorry I was a bit tired when I wrotw that, I ment to say I noticed that the display all function wasn't functioning correctly. Though I get dozens of SQl errors each day they all point to</p><p>Roster_Master/functions/questmaster.inc on line: 1603</p><p> Besides the fix you have above, is there any other fixes i can make to help things along? or are yuo going to put out a fixed version soon?</p>

Dark_Grue
10-24-2007, 07:15 PM
<cite>Faush@Antonia Bayle wrote:</cite><blockquote>Besides the fix you have above, is there any other fixes i can make to help things along? or are yuo going to put out a fixed version soon?</blockquote><p>The other fixes would be kind of cumbersome to dole out piecemeal. The other reason being is that at some point, there's a bigger chance of doing more harm than good...</p><p>Fixes to the fixed version will soon be affixed in a posting fixed somewhere below. (Fix!)</p>

Lantis
10-26-2007, 03:29 AM
<u>State of the Roster on the RMSA front!</u>3.1.0 development is going well.<ul><li>Support for the new T8 tier in the various charts</li><li>A few more tables added to the Guild Summary (top status, top questers and newest members)</li><li>Collapsible display when using a grouped display mode (click on a group header to try it out)</li><li>The usual bug nerfage here and there.</li></ul>What's mostly left to do now: strapping myself to my chair, wearing my crash helmet, and awaiting RoK release to see if EQ2Players will get a major makeover causing a communication breakdown between RMSA and EQ2Players  (remember EoF?).  I'm probably not alone there - I bet Grue is also stockpiling on Aspirin and strong drinks for RoK-Day. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" />As always, you can preview the latest RMSA mutation in my laboratory, through <a href="http://www.lostrealm.ca/temp/parse/rm2/index.php" rel="nofollow" target="_blank">this URL</a>.  I'm hoping to have it available within a few days of RoK release, barring any major breakage between RMSA and EQ2Players.

Dark_Grue
10-26-2007, 05:37 PM
<cite>Lantis@Antonia Bayle wrote:</cite><blockquote>awaiting RoK release to see if EQ2Players will get a major makeover causing a communication breakdown between RMSA and EQ2Players  (remember EoF?).  I'm probably not alone there - I bet Grue is also stockpiling on Aspirin and strong drinks for RoK-Day. <img src="/eq2/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY<img src=" width="15" height="15" />" width="15" height="15"></blockquote><p>Oh, yeah. Thanks for reminding me about that, I mean, it's not like my therapy has had any other major setbacks without you going and dredging up painful memories! I still have to sleep with the light on... <img src="http://forums.station.sony.com/eq2/images/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p>I'm thinking that the new expansion will have...</p><p><b><span style="font-size: small;color: #ff9900;">λ UNFORSEEN CONSEQUENCES λ</span></b></p><p>but, I'm not sure I'm really anticipating the parser going <i>"foom"</i> like it did with EoF. EoF was (I think) the first time we'd seen a major site change, and also the only time we'd seen it synchronized with a expansion release. We [working on RM] weren't expecting it - but on the other hand, SoE doesn't say much of anything on any subject.</p><p>I would hope that any planned changes to EQ2Players.com would focus on the persistent problems that have plagued basic (and the pay) functionality since release. The extended outage on September 25th for the purpose of  "upgrading all SOE services' authentication systems" only seemed to aggrivate the problem with Advanced Services, or at least marked a huge upswing in complaints immediate after.</p><p>I'm hoping that they won't change the data schema again like they did for EoF - or at least not in the way they did back then. I'd be willing to make updates to the parser if we get the data and data feed upgrades we've been asking for. If we don't, that's OK, we've been able to adapt to the <i>status quo</i> just fine. On the other hand, change for the sake of change coupled with a serious degradation in performance and data fidelity, not so much. I just hope they learned from the EoF rollout, that's still left some serious problems with the site that have yet to be fully addressed... Like the "quoted smiley bug" illustrated above (which was added a few weeks ago or something).</p><p>We'll see. I can't say I'm looking forward to that aspect of the new expansion though.</p>

Lantis
10-26-2007, 09:23 PM
<cite>Dark_Grue wrote:</cite><blockquote><cite></cite><p>Oh, yeah. Thanks for reminding me about that, I mean, it's not like my therapy has had any other major setbacks without you going and dredging up painful memories! I still have to sleep with the light on... <img src="http://forums.station.sony.com/eq2/images/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" width="15" height="15" /></p></blockquote>Lucky for me, I got involved with RM only after this - my first work on RMSA in fact was implementing the new XML parser someone had made, because I wanted it for our own guild site.  And since no one seemed to mind at the time, I decided to also start adding more stuff here and there. <img src="/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY" /><cite>Dark_Grue wrote:</cite><blockquote><cite></cite>I'm hoping that they won't change the data schema again like they did for EoF - or at least not in the way they did back then. I'd be willing to make updates to the parser if we get the data and data feed upgrades we've been asking for. If we don't, that's OK, we've been able to adapt to the <i>status quo</i> just fine. On the other hand, change for the sake of change coupled with a serious degradation in performance and data fidelity, not so much. I just hope they learned from the EoF rollout, that's still left some serious problems with the site that have yet to be fully addressed... Like the "quoted smiley bug" illustrated above (which was added a few weeks ago or something).</blockquote>Call me a pessimist (or a realist, depending on your own point of view), but with the current sad state of the EQ2Players website and its related services (to be blunt, I see fan-made sites that display a more professional level of quality and reliability), I wouldn't be surprised if they had just given up fixing the existing design, and were going to rebuild everything from the ground up.  The fact they seemed have stopped doing major fixes to eq2players since last May makes me suspect that.So, that's why on the day of the launch I will click on the RosterMaster URL, close my eyes, and slowly click on "Force Update".  And pray very hard before looking at the result.BTW, that smiley bug has been there for at least a month or two now... <sigh>  Seen the recent post from one of the forums programmers to Seagoat?  Email notification has just started working because... they hadn't noticed until now that it wasn't working, so they just fixed it.  Hum.

Dark_Grue
10-26-2007, 10:07 PM
<cite>Lantis@Antonia Bayle wrote:</cite><blockquote>BTW, that smiley bug has been there for at least a month or two now... <sigh>  Seen the recent post from one of the forums programmers to Seagoat?  Email notification has just started working because... they hadn't noticed until now that it wasn't working, so they just fixed it.  Hum.</blockquote>They don't <a href="http://en.wikipedia.org/wiki/Eat_one's_own_dog_food" rel="nofollow" target="_blank">eat their own dogfood</a> obviously. <img src="http://forums.station.sony.com/eq2/images/smilies/136dd33cba83140c7ce38db096d05aed.gif" border="0" alt="SMILEY" width="15" height="15" />

Dark_Grue
10-27-2007, 11:46 PM
<p><i>Become a fixer, not just a fixture.</i></p><p>         - <b>Anthony J. D'Angelo</b>, <i>The College Blue Book</i> </p><hr /><p><span style="font-size: medium;"><span style="color: #00cc00;"><b>Roster Master for Dragonfly 6.1.2</b></span></span>Download from the RM4DF project page at <a rel="nofollow" href="http://www.theclenchedfist.com/projects/rm4df/index.html" target="_blank">http://www.theclenchedfist.com/proj...m4df/index.html</a>Changes for Version 6.1.2:</p><ul><li>Fixed SQL error in Quest Master when $config['qm_exclude_inactive'] = 1 and $config['show_alts'] = 0 are both set. Bug reported by Faush. </li><li>Fixed variable scoping issue with the sync_active_claims() function when it's called from the cpg_inst.php file. </li><li>Fixed "Sync Active Claims" not displaying as an administrative option for Quest Master. </li><li>Fixed outdated configuration variable reference in INSTALL.txt file. </li><li>Fixed "Display All"/"Display Primary" links not working in Quest Master. </li></ul>

CuCullain
10-29-2007, 07:12 PM
Have had the newest version going for a bit now with no issues, looks good.

Dark_Grue
10-29-2007, 10:01 PM
<cite>Faush@Antonia Bayle wrote:</cite><blockquote>Have had the newest version going for a bit now with no issues, looks good.</blockquote>Oh, phew! I saw your reply and thought I'd forgotten something! <img src="http://forums.station.sony.com/eq2/images/smilies/49869fe8223507d7223db3451e5321aa.gif" border="0" alt="SMILEY" width="18" height="16" />

Qanyena
11-05-2007, 01:33 PM
<p>Maybe someone knows the answer to this. If theres a place I should or could look please point me there.</p><p>I'm running the latest release of RM for Dragonfly along with Last released Dragonfly version.</p><p>Sometimes things run fine but other times I get a server error saying Nd of script headers and of course the page showing that error. I can't figure out why this is happening and even changed the php timeouts and made sure external connections are allowed.</p><p>I do notice this error occurs mostly when SoE itself has long load times.</p><p>Thanks really want to get this functioning correctly.</p><p>Site is at <a href="http://www.lordsofchaos.info/" rel="nofollow" target="_blank">http://www.lordsofchaos.info</a></p>

Caela
11-05-2007, 02:09 PM
<p>Need some advice on how to proceed...</p><p>DragonFly states that I'm currently running 5.1.4 of RM4DF.  I did upgrade to 6.0.5 - but it would not install properly (database issue I believe- I mentioned it in this thread a long time ago).  However, it was running ok, so I never messed with it.</p><p>I'm also still running 9.0.something DragonFly.  </p><p>Everything works great.  I'm having no issues.   I've always been the "if it's not broke, don't fix it" sort.</p><p> But I'm sure there are very valid reasons to upgrade to the latest DF and latest RM4DF. (Quest links pointing to the right place would be a starter)</p><p> What would be the best way to upgrade?  Upgrade DF, then upgrade RM4DF?  Or should I do a clean install of RM4DF after upgrading DF?</p><p>Or should I just leave well enough alone?</p>

Dark_Grue
11-05-2007, 03:01 PM
<cite>Caela wrote:</cite><blockquote>Need some advice on how to proceed... <p>DragonFly states that I'm currently running 5.1.4 of RM4DF.</p></blockquote><p>A lot has happened since then, so yeah, you're overdue for an upgrade. The other thing is, I eventually discontinue upgrade support sometimes (in the sense you can't go from any version to any version - carrying around all the DB patch information gets cumbersome at some point).</p><p><cite>Caela wrote:</cite></p><blockquote>I did upgrade to 6.0.5 - but it would not install properly (database issue I believe- I mentioned it in this thread a long time ago).  However, it was running ok, so I never messed with it.</blockquote><p>I had thought we'd gotten you sorted out? <img src="http://forums.station.sony.com/eq2/images/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p><cite>Caela wrote:</cite></p><blockquote>What would be the best way to upgrade?  Upgrade DF, then upgrade RM4DF?  Or should I do a clean install of RM4DF after upgrading DF?</blockquote><p>Probably best to upgrade DF, then upgrade RM4DF. Technically, it doesn't matter (make sure you back up your database before doing either though). Both Dragonfly and RM4DF have enough fixes in them that keeping them current is worthwhile.</p><p>If you can't upgrade RM4DF, and you don't mind losing your tables, a clean install is easiest. I don't know what state your tables are in at the moment (they're probably partially changed, which means they'd need to be edited a bit to get them to work, I suspect). Depends really which is easier, fixing the tables (if they need it), or starting again from clean.</p>

Dark_Grue
11-05-2007, 03:11 PM
<cite>Qanyena wrote:</cite><blockquote>Sometimes things run fine but other times I get a server error saying Nd of script headers and of course the page showing that error. I can't figure out why this is happening and even changed the php timeouts and made sure external connections are allowed.</blockquote><p>I've never even seen that error before (and even the error's wrong, I have no idea what "Nd" is supposed to convey). However, I can say I've <i>seen</i> the error now - just looked at your site, and it gave me the error right then and there.</p><p>I need you to post additional troubleshooting information, especially DF, PHP, and RM4DF version numbers ("latest released" really doesn't tell me much) and what OS you're running on, before I can really help with this one.</p><p>It looks like it's probably a timeout issue (which I can't do anything about, although if it's RM4DF doing it, it should fail more gracefully that that), but at least the wording of error message looks like a Dragonfly bug (which I can also take care of, if that's the case). Hard to say, at this point.</p><p><b>EDIT:</b> Just looked at the site again, now Apache is pitching a 500 error on the same page. Are you sure this system was stable before you got Dragonfly and/or RM4DF running on it? On general principles, I suggest upgrading Apache (and configuring it to be more quiet about its version).</p>

Qanyena
11-06-2007, 08:06 AM
<p>CMS Version 9.1.2.1 PHP Version 4.3.11 MySQL Version 4.1.22-max-log (client: 5.0.1<img src="/smilies/b2eb59423fbf5fa39342041237025880.gif" border="0" alt="SMILEY" /> [Removed for Content] Version bundled (2.0.28 compatible) CMS path /Core path / Session save_path /tmp Process Owner nobody (0) File Owner N/A (1267) Group 450 System  Linux p3slh105.shr.phx3.secureserver.net 2.4.21-47.ELsmp #1 SMP Wed Jul 5 20:38:41 EDT 2006 i686  Build Date  Mar 26 2007 17:21:00  Configure Command  './configure' '--with-cgi' '--enable-fastcgi' '--with-config-file-path=/web/conf' '--with-[Removed for Content]' '--with-xml' '--with-gettext' '--with-zlib-dir=/usr/src/zlib' '--disable-posix' '--with-jpeg-dir=../jpeg-6b' '--enable-[Removed for Content]-native-ttf' '--enable-ftp' '--with-freetype-dir=/usr' '--with-freetype' '--with-sybase=/usr/src/freetds' '--with-curl=/usr/bin/curl' '--with-dom' '--enable-calendar' '--enable-soap' '--enable-bcmath' '--with-zip' '--with-openssl' '--with-mcrypt' '--with-mysql=/usr/local/mysql-5.0'  Server API  CGI/FastCGI  Virtual Directory Support  disabled  Configuration File (php.ini) Path  /html/php.ini  PHP API  20020918  PHP Extension  20020429  Zend Extension  20021010  Debug Build  no  Thread Safety  disabled  Registered PHP Streams  php, http, ftp, https, ftps, compress.zlib </p><p> RM4DF version 6.1.2</p><p>Removed the direct path parts of above paste.</p><p>BTW The reason you got 500 error was because with .htaccess in home directory it shows the Nd of script headers page but with .htaccess renamed to .htaccessold it gives the standard 500 page. No idea if thats from error.php from DF or what.</p><p>It does indeed seem to be a timeout error which is frustrating to say the least because its hard to say when it needs to update.</p>

Caela
11-06-2007, 10:48 AM
<cite>Dark_Grue wrote:</cite><blockquote><p><cite>Caela wrote:</cite></p><blockquote>I did upgrade to 6.0.5 - but it would not install properly (database issue I believe- I mentioned it in this thread a long time ago).  However, it was running ok, so I never messed with it.</blockquote><p>I had thought we'd gotten you sorted out? <img src="http://forums.station.sony.com/eq2/images/smilies/9d71f0541cff0a302a0309c5079e8dee.gif" border="0" alt="SMILEY" width="15" height="15" /></p></blockquote><p>You had given me instructions on how to fix that - so yeah, it was sorted out.  However, real life intervened and I never got to actually making the changes.  And stuff was working in the meantime, so it never became a priority.</p>

Apinia
11-07-2007, 06:51 AM
Installed Dragonfly and Roster Master - looking great!Noob question about Sigs. How do I view them? I know Seagoat has done a guide, but as a default on new install can I just view using default settings or do i need to configure every via Seagoat's guide first?Is there an admin page similar to the other Dragonfly modules?

Dark_Grue
11-07-2007, 12:54 PM
<cite>Apinia@Permafrost wrote:</cite><blockquote>Installed Dragonfly and Roster Master - looking great!</blockquote><p>Thanks, glad you like it! <img src="http://forums.station.sony.com/eq2/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" width="15" height="15" /></p><p><cite>Apinia@Permafrost wrote:</cite></p><blockquote>Noob question about Sigs. How do I view them? I know Seagoat has done a guide, but as a default on new install can I just view using default settings or do i need to configure every via Seagoat's guide first?</blockquote><p>The default installation will set you up with a default signature configuration, <b>with the exception of fonts.</b> However, signatures may not "just work" out of the box because of the rather complex dependencies involved - the INSTALL.TXT file goes into this at some detail.</p><p>Signature blocks are viewable by either going to the Manage Roster (as admin) and selecting the quill icon next to the character's name or to Manage Claims (as a regular user).</p><p>Seagoat's guide is not just an excellent reference to use once you've got the signature block function working to customize the look of your signatures (most of the features came from suggestions or requests from Seagoat), it also goes into great detail on using the rather extensive debugging features built-in to RM4DF! The signature tool's actually pretty powerful, and Seagoat really does a good job of going into the details.</p><p><cite>Apinia@Permafrost wrote:</cite></p><blockquote>Is there an admin page similar to the other Dragonfly modules?</blockquote><p>No, all the configuration of the module is done through the config.inc file. It's not as fancy as having a control panel, but it saves me a TON of effort in terms of development and also helps immensely with troubleshooting. By having a user just email or post their config.inc file I can see exactly how they have configured the module, and I can then load that file on my development server and replicate problems easily - that's much harder to do if all the settings are stored in the database. The Roster Master settings usually only get set once, so not having a fancy interface to configuration is really no big loss at all.</p><p>Settings for the signature block are done through config.inc again, and the appearance is controlled primarily through the template file and of course the artwork you choose for sigblock bases, avatars, and icons (if you choose to use them).</p>

Apinia
11-09-2007, 08:08 AM
Thanks, I will take a look over the weekend. I have enabled sigs by click on the quill icon, but the preview just gives me a line of code, and the sig itself in forums etc is blank when I use that code (BB is enabled, HTML disabled). I took a quick look and I don't think I have a default signature background, which might be the issue.

Dark_Grue
11-09-2007, 12:43 PM
<cite>Apinia@Permafrost wrote:</cite><blockquote>Thanks, I will take a look over the weekend. I have enabled sigs by click on the quill icon, but the preview just gives me a line of code, and the sig itself in forums etc is blank when I use that code (BB is enabled, HTML disabled). I took a quick look and I don't think I have a default signature background, which might be the issue.</blockquote><p>Naw, that's not it. RM4DF ships with two sigblocks, one of which is configured (currently it's the Clenched Fist sigblock, rather than the Default - I keep forgetting to change that). Most likely you didn't install any fonts. I can't include fonts because of licensing issues, and besides, they're huge and would unecessarily bulk out the size of the download for RM4DF. Signature Master checks for the existence of the fonts before attempting to write them onto the image, and will do a clean exit if they don't exist (which returns a 404 Not Found to the client browser - resulting in the dreaded "Red X&quot<img src="/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0" alt="SMILEY" />. Because the fonts aren't bundled in, it's the #1 reason most people have initial problems with signatures. The #2 problem is not having the rather complicated mix of dependencies compiled into PHP (which I can't really do anything about, although I try to limit external dependencies as much as possible so that RM4DF is accessible to the broadest range of users, in the case of signatures, I really didn't have any choice).</p><p>Either way, debug mode ought to tell you what's wrong pretty quick. Follow the troubleshooting section, and you shouldn't be able to go wrong. The debug mode is pretty extensive and will return actual explcit error conditions, such as "Could not find font file".</p>

Lantis
11-13-2007, 02:28 AM
Status report regarding RMSA and the updated EQ2Players website:I only had a quick look at it, but so far I'd say that it shouldn't be too hard to update RMSA (and RM4DF for Grue) to work with the updated EQ2Players website.  In fact, some of the changes are improvements for us RM* devs.So keep an eye on this thread for updates.  I'll try to get a beta version of RMSA out within the next day (if my work schedule permits) to at least handle most of the revamped EQ2Players website.Fear not, we're not looking at anything so drastic as last time the two of them stopped talking for months <img src="/eq2/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0" alt="SMILEY<img mce_tsrc=" />" />EDIT: On a second look...  The CSV feed got new fields, but is now missing other fields that used to be there.  Erm.EDIT2: On a third look...  Sigh.

Hellswrath
11-13-2007, 02:32 AM
Glad to hear the fallout isn't bad.  <img src="/eq2/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" width="15" height="15" />GL on the adjustments and thanks again for all the work you guys do on this tool!

Dark_Grue
11-13-2007, 03:23 AM
<p>While EQ2Players.com is down, if you're logged in as Administrator, and RM4DF tries to update, you'll get the</p><p><b>FATAL: Unable to find guild name Clenched Fist on the guild summary page.</b></p><p>error. Normal users won't see this. I'll take this opportunity to fix it so admins don't get a completely different view of the site from normal users and change the error from a fatal error to a notice. Means that you need to check the run-time errors at the bottom of the page to make sure things are actually working (although if the roster has expired, there is a little warning icon that wasn't working right that I also fixed), but the upside is you see what the users see (plus the warnings, I mean).</p><hr />While I was working on that, EQ2Players just came back up. Guess what? The CSV list isn't formatted as CSV, it's corrupt semi-HTML (TONS of excess badly-formed whitespace, the header record again has misspelt field values, <br> tags, and newlines). Oh, and the XML feed? It's not XML either. <b><span style="font-size: medium;">Again.</span></b> <p>No wait, it gets better. The current record format for CSV is now:</p><p><span style="font-family: courier new,courier;">charcter id, name,  rank, level, class, artisanClass, artis anLevel, secondary tradeskill, secondary tradeskill level</span></p><p>compare that to what it used to be:</p><p><span style="font-family: courier new,courier;">name,prefixTitle,level,class,artisanClass,artisanL evel,guildStatus,dateJoined,guildRank,memberNumber</span></p><p>We've <b>LOST</b> the prefixTitle, guildStats, dateJoined, and memberNumber (OK, memberNumber wasn't really useful for anything) fields!</p><p>We <i>did</i> get the "charcter id" [sic] field, despite Jabru writing in regards to today's update:</p><p> <cite>SOE-Jabru wrote:</cite></p><blockquote>We are considering the following enhancement requests for future patches: <ol><li>Character Id in Guild XML roster.</li></ol></blockquote><p>Way to communicate internally! As I recall, the XML roster had it. It was the CSV that was missing it. Now both have it. Having it in the feed was just a conveience though, since we've had a workaround for the better part of the year. Pyrrhic victory, that.</p><p>The rank field isn't populated. And I'm not sure if secondary tradeskill is supposed to refer to Tinkering and Transmuting or some future use, but it's currently set to "none" and "N/A" for all characters (might just be slow DB replication, hard to tell).</p><p>So, after all that troubleshooting and effort, after spending hours documenting problems and making suggestions, <b><span style="font-size: medium;">thanks SoE for once again kicking your customers and the community in the teeth.</span></b></p><p>If I sound bitter about it, it's because I am. Justifiably so. I feel betrayed, both as a developer, and as a consumer. I just don't have (civil) words to describe how I feel about it right now.</p><p><cite>Hellswrath@Blackburrow wrote:</cite></p><blockquote>Glad to hear the fallout isn't bad.  <img src="/eq2/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0" alt="SMILEY" width="15" height="15" />GL on the adjustments and thanks again for all the work you guys do on this tool!</blockquote><p>Quite the opposite. The available roster data has been emasculated. Again. The parser can be rebuilt, but most of the data we were operating off of is no longer available.</p><p>I do note that now EQ2Players does all the fancy things that Roster Master did well before - custom roster sorts. Signature blocks. Yeah, that's great. Wonder where those ideas came from? Oh, was that the competing, <i><b>FREE</b></i>, product you just crippled? Yeah, thought so.</p><p>I don't even know if I want to do this any more.</p>

Lantis
11-13-2007, 03:48 AM
Well, yeah.  They added one useful field... and removed a bunch.  Only question that comes to mind here:Why?Fortunately, RMSA (still) grabs most of its data from an old feed that hasn't been changed.  However it cannot grab the Joined Date and Title data that it used to obtain from the (now broken and incomplete) CSV feed.I've packaged a quick 3.5.0 release (Beta 1) so people running RMSA can at least be up and running for the most part as soon as possible.  Download it at <a rel="nofollow" href="http://www.lostrealm.ca/files/rostermaster350b1.zip" target="_blank">http://www.lostrealm.ca/files/roste...master350b1.zip</a>  Note that you HAVE to use XML for RMSA to work with the new EQ2Players website, due to the CSV feed being broken.  So please make sure you have "Use XML" enabled in the RMSA configuration.However, note that due to SOE removing them from the CSV feed, RMSA will no longer be able to retrieve the Join date (so yes, the new Newest Members table is a DOA feature), neither the Title.  For now, please remove them from your display template.I'll be keeping an eye to see if they change this, but I won't be holding my breath.  It's in SOE's hands for now.So, here are the release notes.<b>Changes in 3.5.0 Beta 1 (13-Nov-2007)</b> This version is required to work with the updated EQ2Players website that came out with RoK.  The bad news is, this new website no longer provides personal status or joined date information... So for now, just remove these two fields from your display template.  If SOE evers puts them back, then I'll adjust RMSA.  - NEW: RoK compatibility (guild charts now handle T8) - NEW: Collapsible groups.  Click on a group name to collapse/expand it.  - NEW: More charts added to the Guild Summary: Top Status, Top Completed quests, Newest Members.   Only available if using a database. - NEW: Flush Stored Roster function in the Configuration module.  This will erase the   stored roster (without affecting claims or other stored data), and rebuild a    new roster from scratch.  This will allow you to recover from a corrupted   cache (such as caused by the dupe bug fixed in this version, for example). - IMPROVED: More intelligent display of the command menu. - IMPROVED: Formatting of displayed dates. - IMPROVED: Don't log rank name changes if the rank_value was, or is now   unrecognized.  Means that there is (or was) a mismatch between RMSA rank    names and in-game rank names. - IMPROVED: When a character is removed from the roster, also remove   any existing claims made on that character. - IMPROVED: Added a few more CSS classes.  Please update your custom CSS stylesheets. - FIXED: Pie image generation code wasn't correctly calculating the minimal required height. - FIXED: Less likely to get locked out of the Configurator if the DB configuration   is incorrect.  Can still happen if using forum integration. - FIXED: HTML 4.01 compliance of the guild summary page. - FIXED: Last footer in Grouped Mult. display mode wasn't localized. - FIXED: A duplicate entry would be created in the database if someone recreated    his character and kept the same name.

Lantis
11-13-2007, 03:53 AM
<cite>Dark_Grue wrote:</cite><blockquote>I do note that now EQ2Players does all the fancy things that Roster Master did well before - custom roster sorts. Signature blocks. Yeah, that's great. Wonder where those ideas came from? Oh, was that the competing, <i><b>FREE</b></i>, product you just crippled? Yeah, thought so.</blockquote>Also interesting that they charge for some of these new features.