|
Hello!
I've been working on an automated votecount tool for TL Mafia games (it only works for games on this forum) during the recent months with an old friend of mine. It's now basically functional and open for feedback / bug reports / suggestions / etc. here:
https://mafia-votecount.herokuapp.com
The idea is pretty simple. When you host a new game, you just click the button "Create New Game" and then enter the URL of the game thread as well as the names of the hosts. For example like this:
URL Address: http://www.teamliquid.net/forum/mafia/487695-ot-vs-the-mods-mafia Host Name(s) (for example 'host1 line break host2'): yamato77 Onegu
(Note that the host names have to be separated by line breaks!)
The field "Players" is optional since it doesn't affect anything except the player listing at the top of the game view.
Now the Heroku application starts scanning the game thread - it goes through every post and checks if there's a vote/unvote in the post. If there is, it adds it to the database. Then the website reads the list of votes and displays it on the game view. Every 15 minutes after this the application scans any new posts in the same thread and adds any new votes to the database.
I've already done some amount of testing and everything seems to work fine so far. However, it's not 100% certain that everything works as intended That's part of the reason why I made this thread.
There are just a couple of restrictions for games that use this system. First of all, the votes/unvotes need to be in the standard format (##Vote X / ##Vote: X etc.). In addition, the Day/Night posts need to be in the standard format (starting with "Day X" etc., not some themed version of that). Finally, every Day/Night post needs to be made by a host/co-host (the players entered into "Host Name(s)" field).
But why make this website? Well, the main purpose is to reduce the need for separate voting threads and to make the hosts' jobs easier. Now you can just effectively create one thread for your game, insert your thread URL to this website and easily see who's voted for who throughout the game. No need for additional threads or having to go through a vast amount of posts in search of votes.
All the basic functionality of the website is already implemented, but no doubt there's an unlimited amount of new features that could be implemented. When you make suggestions, keep in mind that I've mainly worked on the front end (what's displayed to the user) of the application while my friend has been working on the back end (what happens in the background) of the application. I'm relatively busy at the moment, but my friend is probably a lot more busy, so suggestions for the front end (how the votes are displayed etc.) would be easier to implement for the time being.
Here are some ideas that I've been pondering to implement at some point in the future already (if I/we get around to it ):
1) The votes of the current day could perhaps also be displayed in the same format as the regular votecount posts on the forum. That way the host/co-host could simply always copy the most recent vote listing of this format to the thread when there's a need for another votecount post. However, there's a major problem with this idea: it's that many players vote with all kinds of "nicknames" or just misspell when they're voting. That causes huge difficulties for displaying votes neatly in such a format.
2) There could be some sort of an authentication system for creating new games. This way only actual hosts could create new games and there wouldn't be any need to worry about trolls ruining the website by spamming the "Create New Game" button. Hopefully there wouldn't even be a need for this, but... 
3) It could be nice to be able to manually edit/remove games from the list. However, this would probably require the authentication system to be implemented first...
4) It could also be nice if "old" games (no new votes for 5 days or something like that) would be automatically deleted.
Well, good luck and let me know your thoughts!
|
For some reason, it seems that it's not noticed when the day changes in the game [T][I]OT vs The Mods Mafia. Will investigate.
|
It might be related to the unusual formatting of the Day 2 post ([B][blue]Day 2 ). Well, I guess I'll wait and see what happens from now on... Not going to change the scanning method right now.
|
Or not... Those were closed off later in the same post...
|
That looks really good!
[...]... it's that many players vote with all kinds of "nicknames" or just misspell when they're voting. Honestly this should not be a problem. People should check their spelling (if this was implemented) when doing the most important thing in a game of mafia.
|
Haha, I guess so In any case, at least the current way of just showing the votes in a list is quite foolproof and doesn't require much effort from the hosts/players. The main purpose was to reduce required effort, after all.
|
If you just show a list of posts like that and not ACTUALLY do votecounts then the problem is kinda already solved. As if i do ##Vote: Xata it would just show "raynpelikoneet voted for Xata". Then the hosts can do the votecounts based only on the voting posts.
|
|
Yeah i looked at it quickly. tbh i don't find it hard for hosts to make the correct votecount in case you could "print" a list out and it said:
raynpelikoneet (2); Xatalos, marvellosity rayn (1); HolyFlare
As host you can obviously tell which votes are meant to cast for real on what people and which are not.
|
Hmm... That's a good idea actually :D
|
srsly you didn't think of that? i thought that was the point of this thing in the first place.
|
Well the original idea was to be an easily copy-pasteable votecount shower. Then it changed to a list of votes (kind of like an automatic voting thread) since there were difficulties with that approach. But I guess that's a reasonable compromise to add in the future.
|
How are you fetching text from forum posts?
|
On July 07 2015 05:33 batsnacks wrote: How are you fetching text from forum posts?
Hm? You basically just download the contents of the whole page and then go through the text searching for certain patterns such as posts and votes/unvotes.
|
On July 07 2015 06:04 Xatalos wrote:Show nested quote +On July 07 2015 05:33 batsnacks wrote: How are you fetching text from forum posts? Hm? You basically just download the contents of the whole page and then go through the text searching for certain patterns such as posts and votes/unvotes.
I tried this before and I can't find where the posts are: + Show Spoiler + [15-07-06 17:48:38:716 EDT] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en" dir="ltr"> <head> <title>Mafia Votecount Tool</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="csrf-token" content="nS1otfa1"> <meta name="viewport" content="width=1214"> <link rel="stylesheet" type="text/css" href="/mirror/v25/tla4.min.css"> <link href="//fonts.googleapis.com/css?family=Open+Sans:600" rel="stylesheet" type="text/css"><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="/mirror/v15/functions4.min.js"></script> <link rel="shortcut icon" href="/favicon.ico"> <link rel="canonical" href="http://www.teamliquid.net/forum/mafia/489506-mafia-votecount-tool"></head> <body onload="resize_images2()"> <div id="navwrapper"> <div id="userpanel"> <ul> <li><a id="top-login-button" href="/mytlnet/login">Log In</a></li> <li class="guestlink"><a href="/mytlnet/register">Register</a></li> <li class="guestlink"><a href="/mytlnet/siteprefs.php">Settings</a></li> <li><a href="" id="up_drop" class="upicons tb-sprite toggle_link" title="Log In"></a></li> </ul> <div id="userpanelend"></div> </div> <div id="up_dropdown"> <div id="up_dropdown_content"> <div id="loginbox"> <form method="post" action="/mytlnet/login.php"> <input type="hidden" name="token" value="nS1otfa1"> <table> <tr> <td><label for="loginname">Username</label></td> <td><input class="text" type="text" size="12" name="loginname" id="loginname" tabindex="1" required="required"></td> </tr> <tr> <td><label for="loginpasswd">Password</label></td> <td><input class="text" type="password" size="12" name="loginpasswd" id="loginpasswd" tabindex="2" required="required"></td> </tr> <tr> <td> <button id="loginsubmit" type="submit" tabindex="3">Log In</button> </td> <td> <input type="checkbox" name="makeAcookie" id="makeAcookie" value="1" tabindex="4"> <label for="makeAcookie">Remember Me</label> </td> </tr> </table> <input type="hidden" name="stage" value="1"> <input type="hidden" name="back_url" value="/forum/mafia/489506-mafia-votecount-tool"> </form> </div> </div> <div id="up_dropdown_end"> </div> </div> <div class="topmenubar"> <div class="top_menu right"> <span><a href="http://www.teamliquidpro.com/">TeamLiquidPro</a></span> <span><a href="http://wiki.teamliquid.net/">Liquipedia</a></span> <span><a href="http://www.liquidhearth.com/">LiquidHearth</a></span> <span><a href="http://www.liquiddota.com/">LiquidDota</a></span> <span><a href="http://www.liquidlegends.net/">LiquidLegends</a></span> <span><a href="http://www.liquidpoker.net/">LiquidPoker</a></span> <div> <a href="https://www.facebook.com/teamliquidnet" class="topmenuicons" id="tb-facebook"></a> <a href="https://twitter.com/teamliquidnet" class="topmenuicons" id="tb-twitter"></a> <a href="http://www.youtube.com/teamliquidnet" class="topmenuicons" id="tb-youtube"></a> </div> </div> </div> <div id="tlverytopbanner" style="background-image:url(/staff/HawaiianPig/banner/lgbt3.jpg)"> <a href="/" id="homelink"></a> <div id="stats"> <div id="timebar"><span>EDT</span> 17:48<br> <!--<span>•</span>--> <span>CEST</span> 23:48<br> <!--<span>•</span>--> <span>KST </span>06:48</div> <!--Active: 3069--><!--<span><a id="topstreamlink" href="/video/streams/">Stream viewers: </a></span>--> </div> <div id="countdown" style="width:300px"></div> </div> <div class="navbar tb-sprite" id="navwrap"> <ul class="smallnav"> <li><a style="padding:14px 15px 10px" href="/">Home</a></li> <li class="tb-sprite spacer"></li>
<li class="tl-dropdown" id="forums-dropdown" data-dropdown="dropdown-menu-forums"><a href="/forum/">Forum <span class="sn_dropdown"></span></a></li> <li class="tb-sprite spacer"></li>
<li><a href="/video/streams/">Streams</a></li> <li class="tb-sprite spacer"></li>
<li class="tl-dropdown" id="lp-dropdown" data-dropdown="dropdown-menu-liquipedia"><a href="http://wiki.teamliquid.net/">Liquipedia <span class="sn_dropdown"></span></a></li> <li class="tb-sprite spacer"></li>
<li class="tl-dropdown" id="features-dropdown" data-dropdown="dropdown-menu-features"><a href="/features/">Features <span class="sn_dropdown"></span></a></li> <li class="tb-sprite spacer"></li>
<li class="store"><a style="padding:14px 15px 10px" href="/store/"><!--<img style="position:absolute;margin-left:-15px;margin-top:-7px" src="/images/store/store-new.png">--><img style="margin-bottom:-2px;width:16px;height:13px" alt="" src="/images/layout/cart.png"> Store</a></li> <li class="tb-sprite spacer"></li>
<li class="wcs-portal"><a style="padding:12px 11px 10px" href="//wcs.liquipedia.net/"><img style="margin-bottom:-4px;width:17px;height:17px" alt="" src="/staff/R1CH/WCSPortalLogo.png"> WCS</a></li> <li class="tb-sprite spacer"></li>
<li><a href="/plus/">TL+</a></li> <li class="tb-sprite spacer"></li> </ul>
<ul id="filters"> <li class="search"> <form id="searchbox" action="/forum/search.php" method="get" style="float: right; padding: 0px; margin-bottom: 0px; margin: 9px 10px 0px 10px; display: inline"> <div> <a onclick="$('#searchbox').submit(); return false" href="/forum/search.php" style="position:absolute;z-index:5;width:18px;height:18px;" title="Search"></a> <input type="text" maxlength="32" size="23" name="q" class="tb-sprite" id="searchicon"> </div> </form> </li>
</ul>
<ul id="rightnav"> <li class="tb-sprite smallnavend"></li> </ul> <div class="clear"></div> </div>
<div class="navbar submenu" id="dropdown-menu-liquipedia" data-top-menu="lp-dropdown" style="display:none;position:absolute;left:141px;height:20px;z-index:10;background:#040f21;margin-top:-1px"> <ul class="smallnav subnav"> <li><a href="http://wiki.teamliquid.net/starcraft2/">StarCraft 2</a></li> <!-- <li><a href="http://wiki.teamliquid.net/dota2/">Dota 2</a></li>--> <li><a href="http://wiki.teamliquid.net/starcraft/">Brood War</a></li> <li><a href="http://wiki.teamliquid.net/smash/">Smash</a></li> <li><a href="http://wiki.teamliquid.net/heroes/">Heroes</a></li> <li><a href="http://wiki.teamliquid.net/starcraft2/Portal:2015_WCS">WCS Portal</a></li> </ul> <div class="clear"></div> </div>
<div class="navbar submenu" id="dropdown-menu-features" data-top-menu="features-dropdown" style="display:none;position:absolute;left:131px;height:20px;z-index:10;background:#040f21;margin-top:-1px"> <ul class="smallnav subnav"> <li><a href="/liquibet/">Liquibet</a></li> <li><a href="/fantasy/">Fantasy StarCraft</a></li> <li><a href="/tlpd/">TLPD</a></li> <li><a href="http://wiki.teamliquid.net/starcraft2/Premier_Tournaments">Events</a></li> <li><a href="/barcraft/">BarCraft</a></li> </ul> <div class="clear"></div> </div>
<div class="navbar submenu" id="dropdown-menu-forums" data-top-menu="forums-dropdown" style="display:none;position:absolute;left:10px;height:20px;z-index:10;background:#040f21;margin-top:-1px"> <ul class="smallnav subnav"> <li><a href="/forum/?filter=starcraft2">StarCraft 2</a></li> <!-- <li><a href="/forum/?filter=dota2">Dota 2</a></li>--> <li><a href="/forum/?filter=broodwar">Brood War</a></li> <!-- <li><a href="/forum/?filter=lol">League of Legends</a></li>--> <li><a href="/blogs/">Blogs</a></li> </ul> <div class="clear"></div> </div>
<div style="height:4px"></div> <div id="main-left-sidebar"><div class="sidebar_block"><a class="block_header" href="/news/">News</a><div class="sbcontents block-news_left_mid"><div class="sbtitle"><a href="/news/">Featured News</a></div><a href="/forum/starcraft-2/489480-kespa-cup-season-2-2015-preview">[KeSPA Cup] Season 2 2015 Preview</a><a href="/forum/starcraft-2/489480-kespa-cup-season-2-2015-preview?page=last" class="comments">16</a><a href="/forum/starcraft-2/489319-spl15-round-3-grand-finals-preview">[SPL'15] Round 3 Grand Finals Preview</a><a href="/forum/starcraft-2/489319-spl15-round-3
|
United Kingdom30774 Posts
On July 07 2015 03:10 raynpelikoneet wrote: Yeah i looked at it quickly. tbh i don't find it hard for hosts to make the correct votecount in case you could "print" a list out and it said:
raynpelikoneet (2); Xatalos, marvellosity rayn (1); HolyFlare
As host you can obviously tell which votes are meant to cast for real on what people and which are not.
if it did ^ it would be perfect (and contain crossed out names too or something)
|
On July 07 2015 06:50 batsnacks wrote:Show nested quote +On July 07 2015 06:04 Xatalos wrote:On July 07 2015 05:33 batsnacks wrote: How are you fetching text from forum posts? Hm? You basically just download the contents of the whole page and then go through the text searching for certain patterns such as posts and votes/unvotes. I tried this before and I can't find where the posts are: + Show Spoiler + [15-07-06 17:48:38:716 EDT] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="en" dir="ltr"> <head> <title>Mafia Votecount Tool</title> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="csrf-token" content="nS1otfa1"> <meta name="viewport" content="width=1214"> <link rel="stylesheet" type="text/css" href="/mirror/v25/tla4.min.css"> <link href="//fonts.googleapis.com/css?family=Open+Sans:600" rel="stylesheet" type="text/css"><script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script type="text/javascript" src="/mirror/v15/functions4.min.js"></script> <link rel="shortcut icon" href="/favicon.ico"> <link rel="canonical" href="http://www.teamliquid.net/forum/mafia/489506-mafia-votecount-tool"></head> <body onload="resize_images2()"> <div id="navwrapper"> <div id="userpanel"> <ul> <li><a id="top-login-button" href="/mytlnet/login">Log In</a></li> <li class="guestlink"><a href="/mytlnet/register">Register</a></li> <li class="guestlink"><a href="/mytlnet/siteprefs.php">Settings</a></li> <li><a href="" id="up_drop" class="upicons tb-sprite toggle_link" title="Log In"></a></li> </ul> <div id="userpanelend"></div> </div> <div id="up_dropdown"> <div id="up_dropdown_content"> <div id="loginbox"> <form method="post" action="/mytlnet/login.php"> <input type="hidden" name="token" value="nS1otfa1"> <table> <tr> <td><label for="loginname">Username</label></td> <td><input class="text" type="text" size="12" name="loginname" id="loginname" tabindex="1" required="required"></td> </tr> <tr> <td><label for="loginpasswd">Password</label></td> <td><input class="text" type="password" size="12" name="loginpasswd" id="loginpasswd" tabindex="2" required="required"></td> </tr> <tr> <td> <button id="loginsubmit" type="submit" tabindex="3">Log In</button> </td> <td> <input type="checkbox" name="makeAcookie" id="makeAcookie" value="1" tabindex="4"> <label for="makeAcookie">Remember Me</label> </td> </tr> </table> <input type="hidden" name="stage" value="1"> <input type="hidden" name="back_url" value="/forum/mafia/489506-mafia-votecount-tool"> </form> </div> </div> <div id="up_dropdown_end"> </div> </div> <div class="topmenubar"> <div class="top_menu right"> <span><a href="http://www.teamliquidpro.com/">TeamLiquidPro</a></span> <span><a href="http://wiki.teamliquid.net/">Liquipedia</a></span> <span><a href="http://www.liquidhearth.com/">LiquidHearth</a></span> <span><a href="http://www.liquiddota.com/">LiquidDota</a></span> <span><a href="http://www.liquidlegends.net/">LiquidLegends</a></span> <span><a href="http://www.liquidpoker.net/">LiquidPoker</a></span> <div> <a href="https://www.facebook.com/teamliquidnet" class="topmenuicons" id="tb-facebook"></a> <a href="https://twitter.com/teamliquidnet" class="topmenuicons" id="tb-twitter"></a> <a href="http://www.youtube.com/teamliquidnet" class="topmenuicons" id="tb-youtube"></a> </div> </div> </div> <div id="tlverytopbanner" style="background-image:url(/staff/HawaiianPig/banner/lgbt3.jpg)"> <a href="/" id="homelink"></a> <div id="stats"> <div id="timebar"><span>EDT</span> 17:48<br> <!--<span>•</span>--> <span>CEST</span> 23:48<br> <!--<span>•</span>--> <span>KST </span>06:48</div> <!--Active: 3069--><!--<span><a id="topstreamlink" href="/video/streams/">Stream viewers: </a></span>--> </div> <div id="countdown" style="width:300px"></div> </div> <div class="navbar tb-sprite" id="navwrap"> <ul class="smallnav"> <li><a style="padding:14px 15px 10px" href="/">Home</a></li> <li class="tb-sprite spacer"></li>
<li class="tl-dropdown" id="forums-dropdown" data-dropdown="dropdown-menu-forums"><a href="/forum/">Forum <span class="sn_dropdown"></span></a></li> <li class="tb-sprite spacer"></li>
<li><a href="/video/streams/">Streams</a></li> <li class="tb-sprite spacer"></li>
<li class="tl-dropdown" id="lp-dropdown" data-dropdown="dropdown-menu-liquipedia"><a href="http://wiki.teamliquid.net/">Liquipedia <span class="sn_dropdown"></span></a></li> <li class="tb-sprite spacer"></li>
<li class="tl-dropdown" id="features-dropdown" data-dropdown="dropdown-menu-features"><a href="/features/">Features <span class="sn_dropdown"></span></a></li> <li class="tb-sprite spacer"></li>
<li class="store"><a style="padding:14px 15px 10px" href="/store/"><!--<img style="position:absolute;margin-left:-15px;margin-top:-7px" src="/images/store/store-new.png">--><img style="margin-bottom:-2px;width:16px;height:13px" alt="" src="/images/layout/cart.png"> Store</a></li> <li class="tb-sprite spacer"></li>
<li class="wcs-portal"><a style="padding:12px 11px 10px" href="//wcs.liquipedia.net/"><img style="margin-bottom:-4px;width:17px;height:17px" alt="" src="/staff/R1CH/WCSPortalLogo.png"> WCS</a></li> <li class="tb-sprite spacer"></li>
<li><a href="/plus/">TL+</a></li> <li class="tb-sprite spacer"></li> </ul>
<ul id="filters"> <li class="search"> <form id="searchbox" action="/forum/search.php" method="get" style="float: right; padding: 0px; margin-bottom: 0px; margin: 9px 10px 0px 10px; display: inline"> <div> <a onclick="$('#searchbox').submit(); return false" href="/forum/search.php" style="position:absolute;z-index:5;width:18px;height:18px;" title="Search"></a> <input type="text" maxlength="32" size="23" name="q" class="tb-sprite" id="searchicon"> </div> </form> </li>
</ul>
<ul id="rightnav"> <li class="tb-sprite smallnavend"></li> </ul> <div class="clear"></div> </div>
<div class="navbar submenu" id="dropdown-menu-liquipedia" data-top-menu="lp-dropdown" style="display:none;position:absolute;left:141px;height:20px;z-index:10;background:#040f21;margin-top:-1px"> <ul class="smallnav subnav"> <li><a href="http://wiki.teamliquid.net/starcraft2/">StarCraft 2</a></li> <!-- <li><a href="http://wiki.teamliquid.net/dota2/">Dota 2</a></li>--> <li><a href="http://wiki.teamliquid.net/starcraft/">Brood War</a></li> <li><a href="http://wiki.teamliquid.net/smash/">Smash</a></li> <li><a href="http://wiki.teamliquid.net/heroes/">Heroes</a></li> <li><a href="http://wiki.teamliquid.net/starcraft2/Portal:2015_WCS">WCS Portal</a></li> </ul> <div class="clear"></div> </div>
<div class="navbar submenu" id="dropdown-menu-features" data-top-menu="features-dropdown" style="display:none;position:absolute;left:131px;height:20px;z-index:10;background:#040f21;margin-top:-1px"> <ul class="smallnav subnav"> <li><a href="/liquibet/">Liquibet</a></li> <li><a href="/fantasy/">Fantasy StarCraft</a></li> <li><a href="/tlpd/">TLPD</a></li> <li><a href="http://wiki.teamliquid.net/starcraft2/Premier_Tournaments">Events</a></li> <li><a href="/barcraft/">BarCraft</a></li> </ul> <div class="clear"></div> </div>
<div class="navbar submenu" id="dropdown-menu-forums" data-top-menu="forums-dropdown" style="display:none;position:absolute;left:10px;height:20px;z-index:10;background:#040f21;margin-top:-1px"> <ul class="smallnav subnav"> <li><a href="/forum/?filter=starcraft2">StarCraft 2</a></li> <!-- <li><a href="/forum/?filter=dota2">Dota 2</a></li>--> <li><a href="/forum/?filter=broodwar">Brood War</a></li> <!-- <li><a href="/forum/?filter=lol">League of Legends</a></li>--> <li><a href="/blogs/">Blogs</a></li> </ul> <div class="clear"></div> </div>
<div style="height:4px"></div> <div id="main-left-sidebar"><div class="sidebar_block"><a class="block_header" href="/news/">News</a><div class="sbcontents block-news_left_mid"><div class="sbtitle"><a href="/news/">Featured News</a></div><a href="/forum/starcraft-2/489480-kespa-cup-season-2-2015-preview">[KeSPA Cup] Season 2 2015 Preview</a><a href="/forum/starcraft-2/489480-kespa-cup-season-2-2015-preview?page=last" class="comments">16</a><a href="/forum/starcraft-2/489319-spl15-round-3-grand-finals-preview">[SPL'15] Round 3 Grand Finals Preview</a><a href="/forum/starcraft-2/489319-spl15-round-3
Hm... This is what I see: http://pastebin.com/wZtyhXga
|
On July 07 2015 08:43 Holyflare wrote:Show nested quote +On July 07 2015 03:10 raynpelikoneet wrote: Yeah i looked at it quickly. tbh i don't find it hard for hosts to make the correct votecount in case you could "print" a list out and it said:
raynpelikoneet (2); Xatalos, marvellosity rayn (1); HolyFlare
As host you can obviously tell which votes are meant to cast for real on what people and which are not. if it did ^ it would be perfect (and contain crossed out names too or something)
Okay, I'll look into it at some point
|
The tool seems to be working as intended for the ongoing games. At least from what I watched of the OT vs The Mods game.
I've been a bit busy with a Mafia game as well as a couple of other things. I started implementing the neater votecount thingy that rayn suggested though. We'll see how it goes. I hope I could make that as well as the automatic removal of old games in the nearby weeks.
|
Hm... Although the D2 post is missed in the Gaiden game.
|
|
|
|