ChatFilter: a GuildWars Tool

Everybody has that one game, that one memory when they were growing up that formed part of who we are, who we became.

It could be so many different games in my case, as I played a lot of them. I remember playing GTA: Vice City, being too young to really get what it was all about.
Or RuneScape, which I played for many moons - or even Tibia, which was the first MMORPG that I ever played (and yes, it’s still online). Or what about Knight Online, that crappy free to play MMORPG that is still around today - and it hasn’t changed one little bit.

I remember walking around in the beautiful lands of Cyrodiil, helping out some failing guilds while amassing a fortune and a few houses of my own. What a time.

But in my case, it was another game that stole my heart. A game that I, even after 14 years of playing it, still play almost daily. A game that has been there during all of my puberty. A game that has learnt me many things, helped me improve my English and much more.

For me, that game is Guild Wars. A MMORPG made by then tiny ArenaNet, who set out to revolutionize the online gaming world.

Nobody would ever have thought that it would spawn a sequel or that it would grow to become 15 years old. But yet it did!
Last weekend the game turned 15 years old and with it, it introduced 10 new elite PvE-only skills. But I won’t bore you with that here - you can read all about it on my website Guild Wars Legacy.

I had a ton of fun trying to find these new skills, liveblogging it on Facebook and Twitter. A real sense of discovery and that felt good!

After all these years, I played so much that I got to fulfill almost all of my goals.
I even got this to show up:
My Hall of Monuments

Yes, I’m crazy.

However, over the last few years, Guild Wars 1 is filled to the brim with gold-seller spam. Whenever you login, it won’t be long until you encounter it in your chat.

For this anniversary, I set out to help fix this issue. A year or so ago, an update came out for Guild Wars that allows us to use custom ChatFilter.ini files which will filter out all messages that trigger the filters.

I quickly built a tool, but rewrote it a while ago. I now officially released that tool: ChatFilter.
It’s written in C# and I have open-sourced the tool (code on Github).

But how does it work?

How does it work?

To put it simply:

  • In the repository, there is a ChatFilter.ini file. This file is being updated by me and other players.
  • Once you run ChatFilter.exe, it will look for ChatFilter.ini (the path Guild Wars expects is: C:\Users\%username%\Documents\Guild Wars\ChatFilter.ini)
  • If it can’t find the file, it will download it from Guild Wars Legacy (https://guildwarslegacy.com/ChatFilter.ini)
  • If it can find the file, it will create a MD5 hash of the file and compare it to the one hosted on Guild Wars Legacy.
  • If the hash doesn’t match up, the version on Guild Wars Legacy is downloaded.
  • Finally, the game will be launched. If it can find a file called Gw.lnk, it will launch that instead (so you can use command line arguments).
  • Now you can enjoy a substantially less spam-filled chat!

All of the source code, even for the ChatFilter.php file, is available in the repository. The final step is a cronjob on the Guild Wars Legacy server which will pull the newest version every few minutes.

How can I get this tool?

You can download it from Github. Simply drop it in the same folder where Gw.exe is located.

Enjoy!

– Kevin

Posted on Monday, 27 April 2020