The following threads are all You need to do this:
viewtopic.php?f=12&t=1400
viewtopic.php?f=21&t=1009
viewtopic.php?f=21&t=984
All credit goes to Ultima and Dzienny.
If anyone can improve on what is in this thread I urge them to do so.
I am only passing on what I pulled from the above threads.
I have been using this for a several months and really think every server would benefit from having such a thing.
I have assisted Kozmik and Mendez with their filters on their servers and they have had no issues with these instructions.
Given how this operates, a word like 'ass' would make the word 'glass' appear like "gl***".
Knowing this fact, there are some words that you might want to not ban.
Keep this in mind. I have been tailoring my list for several months and feel that it is solid.
I started with the Google bad word list and worked it from there. Yes, the list is overkill and redundant.
Given that it is case sensitive, the list of bad words is in separate parts.
The top is all lowercase. The bottom is the same words with a single capital letter at the beginning of the word.
The CAPS filter will catch the all cap words and will, in turn, see them as all lowercase and censor them.
The code I use will be included below.
This is a command that is automatically executed upon server start.
If any message has more than 3 Caps in it then all text in that message is auto set to lower case.
If any word listed is used it changes it to *** no matter the length.
1. Go to http://www.microsoft.com/visualstudio/eng/downloads and download Visual C# 2010 Express.
2. Install Visual C# 2010 Express. You can register it for free. If you do not it will stop working and force you to register it for free.
3. Open Visual C# 2010 Express. Click the toolbar...Tools>Settings>Expert Settings.
4. Click on New project and select Class Library and click OK.
5. Copy the code below.
- Code: Select all
using System;
using System.IO;
using System.Collections.Generic;
using System.Text;
using MCDzienny;
namespace MCDzienny
{
public class CmdChatFilter : Command
{
public override string name { get { return "cf"; } }
public override string shortcut { get { return ""; } }
public override string type { get { return ""; } }
public override bool museumUsable { get { return false; } }
public override LevelPermission defaultRank { get { return LevelPermission.Banned; } }
private static string Caps = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
private static int maxcaps = 3;
public override void Init()
{
Player.PlayerChatEvent += FilterChat;
}
private void FilterChat(Player p, ref string message, ref bool stopIt)
{
//Check for caps
int caps = 0;
string changedMessage = message;
foreach (char c in changedMessage)
{
foreach (char s in Caps)
{
if (c == s)
{
caps++;
}
}
}
string msg;
if (caps > maxcaps)
{
msg = changedMessage.ToLower();
}
else
{
msg = changedMessage;
}
//Check for bad words
string[] strBadWords = new string[] {
"4r5e",
"5h1t",
"5hit",
"a55",
"ar5e",
"arrse",
"arse",
"asshole",
"b!tch",
"b00bs",
"b17ch",
"b1tch",
"ballbag",
"balls",
"ballsack",
"bastard",
"basterd",
"basturd",
"beastial",
"beastiality",
"bestial",
"bestiality",
"bi+ch",
"biatch",
"biotch",
"bitch",
"blow job",
"blowjob",
"blowjobs",
"bollock",
"bollok",
"boner",
"boob",
"boobs",
"booobs",
"boooobs",
"booooobs",
"boooooobs",
"booooooobs",
"boooooooobs",
"booooooooobs",
"boooooooooobs",
"booooooooooobs",
"boooooooooooobs",
"booooooooooooobs",
"boooooooooooooobs",
"booooooooooooooobs",
"boooooooooooooooobs",
"booooooooooooooooobs",
"boooooooooooooooooobs",
"breasts",
"buceta",
"bugger",
"c0ck",
"carpet muncher",
"cawk",
"chink",
"cipa",
"cl1t",
"clit",
"clitoris",
"clits",
"cnut",
"cock",
"cokmuncher",
"coksucka",
"cox",
"cum",
"cumm",
"cumshot",
"cunilingus",
"cunillingus",
"cunnilingus",
"cunt",
"cuntlick",
"cuntlicker",
"cuntlicking",
"cyberfuc",
"d1ck",
"dick",
"dickhead",
"dildo",
"dlck",
"donkeyribber",
"doosh",
"duche",
"dumbass",
"dumass",
"dyke",
"ejaculate",
"ejaculated",
"ejaculates",
"ejaculating",
"ejaculatings",
"ejaculation",
"ejakulate",
"f u c k",
"f u c k e r",
"fag",
"fagging",
"faggitt",
"faggot",
"faggs",
"fagot",
"fagots",
"fags",
"fanny",
"fannyflaps",
"fannyfucker",
"fanyy",
"fatass",
"fcuk",
"fcuker",
"fcuking",
"feck",
"fecker",
"felching",
"fellate",
"fellatio",
"fingerfuck",
"fingerfucked",
"fingerfucker",
"fingerfuckers",
"fingerfucking",
"fingerfucks",
"fistfuck",
"fistfucked",
"fistfucker",
"fistfuckers",
"fistfucking",
"fistfuckings",
"fistfucks",
"flange",
"fook",
"fooker",
"fuck",
"fuuck",
"fuuuck",
"fuuuuck",
"fuuuuuck",
"fuuuuuuck",
"fuuuuuuuck",
"fuuuuuuuuck",
"fuuuuuuuuuck",
"fuuuuuuuuuuck",
"fuuuuuuuuuuuck",
"fuuuuuuuuuuuuck",
"fuuuuuuuuuuuuuck",
"fuuuuuuuuuuuuuuck",
"fuuuuuuuuuuuuuuuck",
"fuuuuuuuuuuuuuuuuck",
"fuuuuuuuuuuuuuuuuuck",
"fuuuuuuuuuuuuuuuuuuck",
"fucka",
"fucked",
"fucker",
"fuckers",
"fuckhead",
"fuckheads",
"fuckin",
"fucking",
"fuckings",
"fuckingshitmotherfucker",
"fuckme",
"fucks",
"fuckwhit",
"fuckwit",
"fudge packer",
"fudgepacker",
"fuhk",
"fuk",
"fuker",
"fukker",
"fukkin",
"fuks",
"fukwhit",
"fukwit",
"fux",
"fux0r",
"f_u_c_k",
"gangbang",
"gangbanged",
"gangbangs",
"gaylord",
"gaysex",
"goatse",
"god-dam",
"god dam",
"goddam",
"god-damned",
"goddamn",
"god damn",
"goddamned",
"god damned",
"hardcoresex",
"homo",
"horniest",
"horny",
"hotsex",
"idiot",
"1diot",
"id1ot",
"1d1ot",
"jack-off",
"jackoff",
"jerk-off",
"jism",
"jiz",
"jizm",
"jizz",
"kawk",
"knob",
"knobead",
"knobed",
"knobend",
"knobhead",
"knobjocky",
"knobjokey",
"kock",
"kondum",
"kondums",
"kum",
"kummer",
"kumming",
"kums",
"kunilingus",
"laag",
"laaag",
"laaaag",
"laaaaag",
"laaaaaag",
"laaaaaaag",
"laaaaaaaag",
"laaaaaaaaag",
"laaaaaaaaaag",
"laaaaaaaaaaag",
"laaaaaaaaaaaag",
"laaaaaaaaaaaaag",
"laaaaaaaaaaaaaag",
"laaaaaaaaaaaaaaag",
"laaaaaaaaaaaaaaaag",
"laaaaaaaaaaaaaaaaag",
"laaaaaaaaaaaaaaaaaag",
"l3i+ch",
"l3itch",
"labia",
"m0f0",
"m0fo",
"m45terbate",
"ma5terb8",
"ma5terbate",
"masochist",
"master-bate",
"masterb8",
"masterbat*",
"masterbat3",
"masterbate",
"masterbation",
"masterbations",
"masturbate",
"mo-fo",
"mof0",
"mofo",
"moron",
"mothafuck",
"mothafucka",
"mothafuckas",
"mothafuckaz",
"mothafucked",
"mothafucker",
"mothafuckers",
"mothafuckin",
"mothafucking",
"mothafuckings",
"mothafucks",
"mother fucker",
"motherfuck",
"motherfucked",
"motherfucker",
"motherfuckers",
"motherfuckin",
"motherfucking",
"motherfuckings",
"motherfuckka",
"motherfucks",
"muthafecker",
"muthafuckker",
"muther",
"mutherfucker",
"n1gga",
"n1gger",
"nazi",
"nigg3r",
"nigg4h",
"nigga",
"niggah",
"niggas",
"niggaz",
"nigger",
"niggers",
"nob jokey",
"nobhead",
"nobjocky",
"nobjokey",
"numbnuts",
"nutsack",
"orgasim",
"orgasims",
"orgasm",
"orgasms",
"p0rn",
"pecker",
"penis",
"penisfucker",
"phonesex",
"phuck",
"phuk",
"phuked",
"phuking",
"phukked",
"phukking",
"phuks",
"phuq",
"pigfucker",
"pimpis",
"piss",
"pissed",
"pisser",
"pissers",
"pissflaps",
"pissin",
"pissing",
"pissoff",
"porn",
"porno",
"pornography",
"pornos",
"prick",
"pricks",
"pron",
"pube",
"pusse",
"pussi",
"pussies",
"pussy",
"pussys",
"rectum",
"retard",
"rimjaw",
"rimming",
"s hit",
"s h i t",
"s.o.b.",
"schlong",
"screwing",
"scroat",
"scrote",
"scrotum",
"sh!+",
"sh!t",
"sh1t",
"shag",
"shagger",
"shaggin",
"shemale",
"shi+",
"shit",
"shiit",
"shiiit",
"shiiiit",
"shiiiiit",
"shiiiiiit",
"shiiiiiiit",
"shiiiiiiiit",
"shiiiiiiiiit",
"shiiiiiiiiiit",
"shitdick",
"shite",
"shited",
"shitey",
"shitfuck",
"shitfull",
"shithead",
"shiting",
"shitings",
"shits",
"shitted",
"shitter",
"shitters",
"shitting",
"shittings",
"shitty",
"skank",
"skull fuck",
"skullfuck",
"slut",
"sluts",
"smegma",
"smut",
"snatch",
"son-of-a-bitch",
"son of a bitch",
"suck",
"suck it",
"suckit",
"sucks",
"sux",
"s_h_i_t",
"t1tt1e5",
"t1tties",
"teets",
"testical",
"testicle",
"titfuck",
"tittie5",
"tittiefucker",
"titties",
"tittyfuck",
"tittywank",
"titwank",
"tosser",
"tw4t",
"twat",
"twathead",
"twatty",
"twunt",
"twunter",
"vagina",
"vulva",
"w00se",
"wang",
"wank",
"wanker",
"wanky",
"whoar",
"xrated",
"xxx",
"4r5e",
"5h1t",
"5hit",
"A55",
"Ar5e",
"Arrse",
"Arse",
"B!tch",
"B00bs",
"B17ch",
"B1tch",
"Ballbag",
"Balls",
"Ballsack",
"Bastard",
"Basterd",
"Basturd",
"Beastial",
"Beastiality",
"Bestial",
"Bestiality",
"Bi+ch",
"Biatch",
"Biotch",
"Bitch",
"Blow Job",
"Blowjob",
"Blowjobs",
"Bollock",
"Bollok",
"Boner",
"Boob",
"Boobs",
"Booobs",
"Boooobs",
"Booooobs",
"Boooooobs",
"Booooooobs",
"Boooooooobs",
"Booooooooobs",
"Boooooooooobs",
"Booooooooooobs",
"Boooooooooooobs",
"Booooooooooooobs",
"Boooooooooooooobs",
"Booooooooooooooobs",
"Boooooooooooooooobs",
"Booooooooooooooooobs",
"Boooooooooooooooooobs",
"Breasts",
"Buceta",
"Bugger",
"C0ck",
"Carpet Muncher",
"Cawk",
"Chink",
"Cipa",
"Cl1t",
"Clit",
"Clitoris",
"Clits",
"Cnut",
"Cock",
"Cokmuncher",
"Coksucka",
"Coon",
"Cumm",
"Cumshot",
"Cunilingus",
"Cunillingus",
"Cunnilingus",
"Cunt",
"Cuntlick",
"Cuntlicker",
"Cuntlicking",
"Cyberfuc",
"D1ck",
"Dick",
"Dickhead",
"Dildo",
"Dlck",
"Donkeyribber",
"Doosh",
"Duche",
"Dumbass",
"Dumass",
"Dyke",
"Ejaculate",
"Ejaculated",
"Ejaculates",
"Ejaculating",
"Ejaculatings",
"Ejaculation",
"Ejakulate",
"F U C K",
"F U C K E R",
"Fag",
"Fagging",
"Faggitt",
"Faggot",
"Faggs",
"Fagot",
"Fagots",
"Fags",
"Fatass",
"Fcuk",
"Fcuker",
"Fcuking",
"Feck",
"Fecker",
"Felching",
"Fellate",
"Fellatio",
"Fingerfuck",
"Fingerfucked",
"Fingerfucker",
"Fingerfuckers",
"Fingerfucking",
"Fingerfucks",
"Fistfuck",
"Fistfucked",
"Fistfucker",
"Fistfuckers",
"Fistfucking",
"Fistfuckings",
"Fistfucks",
"Flange",
"Fook",
"Fooker",
"Fuck",
"Fuuck",
"Fuuuck",
"Fuuuuck",
"Fuuuuuck",
"Fuuuuuuck",
"Fuuuuuuuck",
"Fuuuuuuuuck",
"Fuuuuuuuuuck",
"Fuuuuuuuuuuck",
"Fuuuuuuuuuuuck",
"Fuuuuuuuuuuuuck",
"Fuuuuuuuuuuuuuck",
"Fuuuuuuuuuuuuuuck",
"Fuuuuuuuuuuuuuuuck",
"Fuuuuuuuuuuuuuuuuck",
"Fuuuuuuuuuuuuuuuuuck",
"Fuuuuuuuuuuuuuuuuuuck",
"Fucka",
"Fucked",
"Fucker",
"Fuckers",
"Fuckhead",
"Fuckheads",
"Fuckin",
"Fucking",
"Fuckings",
"Fuckingshitmotherfucker",
"Fuckme",
"Fucks",
"Fuckwhit",
"Fuckwit",
"Fudge Packer",
"Fudgepacker",
"Fuhk",
"Fuk",
"Fuker",
"Fukker",
"Fukkin",
"Fuks",
"Fukwhit",
"Fukwit",
"Fux",
"Fux0r",
"F_u_c_k",
"Gangbang",
"Gangbanged",
"Gangbangs",
"Gaylord",
"Gaysex",
"Goatse",
"God-dam",
"God dam",
"Goddam",
"God-damned",
"Goddamn",
"God damn",
"Goddamned",
"God damned",
"Hardcoresex",
"Homo",
"Horniest",
"Horny",
"Hotsex",
"Idiot",
"1diot",
"Id1ot",
"1d1ot",
"Jack-off",
"Jackoff",
"Jerk-off",
"Jism",
"Jiz",
"Jizm",
"Jizz",
"Kawk",
"Knobead",
"Knobed",
"Knobend",
"Knobhead",
"Knobjocky",
"Knobjokey",
"Kock",
"Kondum",
"Kondums",
"Kum",
"Kummer",
"Kumming",
"Kums",
"Kunilingus",
"Laag",
"Laaag",
"Laaaag",
"Laaaaag",
"Laaaaaag",
"Laaaaaaag",
"Laaaaaaaag",
"Laaaaaaaaag",
"Laaaaaaaaaag",
"Laaaaaaaaaaag",
"Laaaaaaaaaaaag",
"Laaaaaaaaaaaaag",
"Laaaaaaaaaaaaaag",
"Laaaaaaaaaaaaaaag",
"Laaaaaaaaaaaaaaaag",
"Laaaaaaaaaaaaaaaaag",
"Laaaaaaaaaaaaaaaaaag",
"L3i+ch",
"L3itch",
"Labia",
"M0f0",
"M0fo",
"M45terbate",
"Ma5terb8",
"Ma5terbate",
"Masochist",
"Master-bate",
"Masterb8",
"Masterbat*",
"Masterbat3",
"Masterbate",
"Masterbation",
"Masterbations",
"Masturbate",
"Mo-fo",
"Mof0",
"Mofo",
"Moron",
"Mothafuck",
"Mothafucka",
"Mothafuckas",
"Mothafuckaz",
"Mothafucked",
"Mothafucker",
"Mothafuckers",
"Mothafuckin",
"Mothafucking",
"Mothafuckings",
"Mothafucks",
"Mother Fucker",
"Motherfuck",
"Motherfucked",
"Motherfucker",
"Motherfuckers",
"Motherfuckin",
"Motherfucking",
"Motherfuckings",
"Motherfuckka",
"Motherfucks",
"Muthafecker",
"Muthafuckker",
"Muther",
"Mutherfucker",
"N1gga",
"N1gger",
"Nazi",
"Nigg3r",
"Nigg4h",
"Nigga",
"Niggah",
"Niggas",
"Niggaz",
"Nigger",
"Niggers",
"Nob Jokey",
"Nobhead",
"Nobjocky",
"Nobjokey",
"Numbnuts",
"Nutsack",
"Orgasim",
"Orgasims",
"Orgasm",
"Orgasms",
"P0rn",
"Pecker",
"Penis",
"Penisfucker",
"Phonesex",
"Phuck",
"Phuk",
"Phuked",
"Phuking",
"Phukked",
"Phukking",
"Phuks",
"Phuq",
"Pigfucker",
"Pimpis",
"Piss",
"Pissed",
"Pisser",
"Pissers",
"Pissflaps",
"Pissin",
"Pissing",
"Pissoff",
"Porn",
"Porno",
"Pornography",
"Pornos",
"Prick",
"Pricks",
"Pron",
"Pube",
"Pusse",
"Pussi",
"Pussies",
"Pussy",
"Pussys",
"Rectum",
"Retard",
"Rimjaw",
"Rimming",
"S Hit",
"S H I T",
"S.o.b.",
"Schlong",
"Screwing",
"Scroat",
"Scrote",
"Scrotum",
"Sh!+",
"Sh!t",
"Sh1t",
"Shag",
"Shagger",
"Shaggin",
"Shemale",
"Shi+",
"Shit",
"Shiit",
"Shiiit",
"Shiiiit",
"Shiiiiit",
"Shiiiiiit",
"Shiiiiiit",
"Shiiiiiiiit",
"Shiiiiiiiiit",
"Shiiiiiiiiiit",
"Shitdick",
"Shite",
"Shited",
"Shitey",
"Shitfuck",
"Shitfull",
"Shithead",
"Shiting",
"Shitings",
"Shits",
"Shitted",
"Shitter",
"Shitters",
"Shitting",
"Shittings",
"Shitty",
"Skank",
"Skull Fuck",
"Skullfuck",
"Slut",
"Sluts",
"Smegma",
"Smut",
"Snatch",
"Son-of-a-bitch",
"Son Of A Bitch",
"Suck It",
"Suckit",
"Suck",
"Suck it",
"Suckit",
"Sucks",
"Sux",
"S_h_i_t",
"T1tt1e5",
"T1tties",
"Teets",
"Testical",
"Testicle",
"Titfuck",
"Tittie5",
"Tittiefucker",
"Titties",
"Tittyfuck",
"Tittywank",
"Titwank",
"Tosser",
"Tw4t",
"Twat",
"Twathead",
"Twatty",
"Twunt",
"Twunter",
"Vagina",
"Vulva",
"W00se",
"Wang",
"Wank",
"Wanker",
"Wanky",
"Whoar",
"Xrated",
"Xxx",
};
foreach (string badWord in strBadWords)
{
msg = msg.Replace(badWord, "***");
}
message = msg;
}
public override void Help(Player p)
{ }
public override void Use(Player p, string message)
{ }
}
}
6. Go to your New Project in Visual C# 2010 Express and delete everything that is already there.
7. Hit CTRL-V to paste what you copied from step 5 into your new project
8. Alter the bad words if you wish. Make sure to add the word with a capitalized first letter in the bottom half of the list.
9. Click on the toolbar...View>Output to open up the output window near the bottom.
10. Click the toolbar...Build>Build Solution
11. Check the Output window for the path to find your DLL file
Example:
C:\Users\LogicaLucidity\documents\visual studio 2010\Projects\ClassLibrary1\ClassLibrary1\bin\Release\ClassLibrary1.dll
12. Copy the dll file to your desktop. Rename the ClassLibrary1.dll to badwords.
13. If you have not done so...in your mcdzienny lava server folder....
- In the extra folder add a folder named 'commands'
- In the commands folder add a folder named 'dll' (that is DLL)
- In the dll folder add a folder named 'cmd'
- So the folder path would look like.... MCDzienny>extra>commands>dll>cmd
14. Place your new badwords.dll in the cmd folder from the last step.
15. You need to go to your text folder and find the 'cmdautoload' text file. Add the following line of text to the 'cmdautoload' text file: /badwords
16. Restart server.
You can always open your badwords.dll and alter the list at anytime, replace the dll in your cmd folder, and restart your server.
I hope this was helpful.
Please, if anyone wants to add or correct any of this, please do so.
- Logic