Geek projects, bad parenting, and other adventures gone awry
|
Posts Tagged ‘Guild’
Apparently I haven’t got the hang of having a baby and finding time for projects. One project I did find the time to do recently was create a guild page for the upcoming Star Wars: The Old Republic MMORPG. It’s almost unnecessary, though. Even pre-launch, the game offers default guild pages for members of the site, and includes forums (public and private), Message of the Day, Mission Statement, and Roster Management. It looks like the roster management functionality will actually have interaction with the game to actually manage your membership from outside the game. Also, in allowing you to create your guild early, the developers will try to reserve the name of your guild when the game launches, if you have four pre-order members in the guild early enough. Our guild is Korriban Council. Whether or not we get to keep the name is up in the air, since there was an earlier guild with the same idea. That didn’t stop me from dropping $10 to register the domain name, though. (Because, of course, I have an illness. And every time a remotely good idea for a website name pops into my head, I register it compulsively. Witness this site.) So far it’s co-workers and my sister. [Thank you for joining me for a moment in Tangent Corner, the part of my article which really has absolutely nothing to do with the rest of whatever it is that I’m talking about. Today’s topic: Why Sith? There are a few reasons. Chief among them, Jedi are a bunch of whiners. Or is it Jedis? I know the plural is written down in a book or on the Wookiepedia or off the top of every Comic Con attendee’s head. Whatever. The point is, they’re a bunch of whiners. The Jedi, not the awesome Comic Con attendees. “But I was going into Toshi Station to pick up some power converters!” “She’s forgotten me completely!” Whiny little whelps. My guess is that while not everybody who chooses to play a Jedi will be a whiny force-jockey (to be fair, a lot of cool people have been waiting years to play a Jedi in this game), every whiny force-jockey will choose to play a Jedi. On the flip side, jerks are going to be more likely to play Sith, all gankers are jerks, so most gankers are going to be Sith side. It’s just logical that if you want to avoid getting ganked, grab a red light saber.] Anyway, back to the guild page. I didn’t want to just plug in some data at an existing guild-portals-R-us site and call it a day. I like having control over things (Sith, remember?), I like having things unique, and I like figuring out thinks I didn’t already know. Site building is always a learning experience, because I’m rather awful at it. (Again, witness this site.) I’d built a partial guild page for someone else before, but they wanted it based on a forums-centric CMS that made managing non-forum content nearly impossible. It took forever to get changes in, so it had very few features. To start with this time, I chose my favorite Content Management System: Drupal. With enough work, Drupal can be anything you want it to be. With a few structure customization modules it’s even fairly easy. Let’s be honest about Drupal though: Out of the box, its ugly. Not just its default themes (which are kind of nice, really, just a tad plain), but its built-in modules are feature-sparse. People often complain on their forums about how crappy the forums in Drupal are. Invariably, some nimrod responds with, “The forums you’re using now are the core Drupal forums!” This leaves everybody so dumbfounded that someone would be PROUD of this that the complainers go away and never come back. Probably switch to Joomla! along the way. (Which is also a nice CMS, but the really great modules are generally not free … but you do tend to get what you pay for.) So I had to heavily modify Drupal to get it to be my guild site. Here are the things I’ve added to it and how I did it. Custom Theme: Anyway, I suck at theming (once again, witness this site) but I at least managed to stick with it this time. Forums: I loaded up the Advanced Forums module. It was more “Advanced” in Drupal 6 than it is now (because of other modules like the Author Panel and such) but it’s head-and-shoulders above the seemingly random list of articles that they call posts in core Drupal. I haven’t 100% completed theming the forums, but they’re good enough for a start. Roster/Member list/User profiles: I used the Views module to create a list of current members on the board (minus the Admin account), gave a default icon When clicking on the users it shows their name, picture, the most recent forum topics they started, and the most recent comments they’ve made. I created each piece of the profile separately with Views, then tied the multiple Views together with the Panels module. Nobody told me I needed Panels, so let me help you: If you have a Drupal site, you need Panels. Just get it, you’ll find a use for it later. Screenshot Gallery: I created a Content Type called Screenshot using core Drupal 7 functionality, because CCK (Custom Content Kit) is the ONE thing they’ve actually finally moved to Core Drupal. It’s like an article or a blog post, but all it lets you do is upload a picture with a one line description. You can’t even give it a title, because I used the Automatic Nodetitles module to automatically give it the title of the user who uploaded it and the date/time they did so. The images are then resized downward to a maximum size of 1600×1200 because yes, some people game on insanely sized multi-screen displays. Then I have a View set up that checks for all the posts of type Screenshot, displays thumbnails of them in a grid, and puts a nice title underneath them. Very simple to set up, but it works nicely. (I had previously built an Entire-Gallery-As-A-Single-Node pseudo-module that I may re-introduce into this site later, but for now I really like having just a Screenshots gallery.) Voice Chat: I had actually built this to work with Ventrilo, but all the work I’d put into that was thrown down the drains when I realized that Ventrilo will only let you host 8 people simultaneously unless you rent space on someone else’s server. You can’t license it for more and run it on your own server. Since the point of having a voice server is to coordinate during raids, and you’re going to need more than 8 slots, we had to move over to TeamSpeak3. The bright side is that I had to do a lot more work to get Ventrilo to work than TeamSpeak3. TeamSpeak3 has a query tool built into it, while Ventrilo requires a second program to be installed. Also, I had to do the PHP from scratch with Ventrilo, and with TeamSpeak3 I found TSStatus. This saved me at least a day of figuring out all the hooks myself. I did have to modify it a bit. I couldn’t figure out why it had been programmed to build links with javascript, so I re-wrote them to simple PHP. If anybody’s curious in doing the same, here are the changed lines in tsstatus.php: $out .= '<div class="tsstatusServerName"><a href="ts3server://' . $this->_host . ':' . ($this->_serverDatas['virtualserver_port']) . '?password=********&nickname='.$this->uname.'"><img src="' . $this->imagePath . '16x16_server_green.png" />' . $this->_serverDatas["virtualserver_name"] . "</a></div>\n"; I put the HTML that was generated from the tsstatusgen.php file directly into a block in Drupal, and added two lines, “global $user;” and “$tsstatus->uname = $user->name;” and then added “public $uname;” to the tsstatus.php file so that when a logged-in user clicks on the links, it automatically logs them in using their board name as their TeamSpeak3 name. Still to be added: I’m NOT going to put a shoutbox in. I honestly can’t figure out the point of those things. Now, sadly, it’s all about content. Which is going to be more difficult to find time to post … Because … One last time … Witness this site. |