diff --git a/client/src/scripts/news/newsPosts.ts b/client/src/scripts/news/newsPosts.ts
index b19c14a1e..63ebca3db 100644
--- a/client/src/scripts/news/newsPosts.ts
+++ b/client/src/scripts/news/newsPosts.ts
@@ -420,7 +420,7 @@ Special thanks to Leia and platonthek. This update wouldn't have been possible w
There are also two new Austrian arrivals to the island. Like the Micro Uzi but want something that packs more of a punch? The Steyr AUG might be for you. If you prefer a challenge, grab the all-new full auto pistol, the CZ-75A.
-Surians can now customize their skins, and express themselves with emotes too! Everything is unlocked until accounts are added.`,
+Suroians can now customize their skins, and express themselves with emotes too! Everything is unlocked until accounts are added.`,
longContent: `
Suroi v0.9.0
New features & changes
diff --git a/common/src/definitions/guns.ts b/common/src/definitions/guns.ts
index f620db72b..95f008ed0 100644
--- a/common/src/definitions/guns.ts
+++ b/common/src/definitions/guns.ts
@@ -682,7 +682,7 @@ export const Guns = ObjectDefinitions.create()(
idString: "barrett",
name: "Barrett M95",
ammoType: "127mm",
- ammoSpawnAmount: 20,
+ ammoSpawnAmount: 25,
capacity: 5,
reloadTime: 3.4,
fireDelay: 1400,
diff --git a/server/src/utils/usernameFilter.ts b/server/src/utils/usernameFilter.ts
index 61b216854..e0e2e2686 100644
--- a/server/src/utils/usernameFilter.ts
+++ b/server/src/utils/usernameFilter.ts
@@ -2,14 +2,13 @@ import { GameConstants } from "@common/constants";
import { Config } from "../config";
const badWordRegexes: RegExp[] = [
- /n[i1l!|\\/(){}[\]]+[g693]+[e3]*[ra@]*/i, // N word
- /f[a@4]+[g9]+[s$5z2]+[ao0]+[t+]*/i, // F slur
- /n[a@4]+z[i1]+[s$5z2]*/i, // Nazi references
- /a[d]+[o0]+[/|l1]+[f]+(\s|\W|_)*h[/|!i1]+[t]+[/|!l1]+[e3]+[r]+/i, // Hitler
- /(?=.*k[i1]+[l1]+[l1]*)(?=.*j[e3]+[w]+[s$5z2]*)/i // Antisemitist stuff
- // FIXME too broad, matches "rap"
- // sounds like that * at the end should be a + then
- /// (?=.*m[o0]+[l1]+[e3]+[s$5z2]+[t+]*)|(?=.*r[a@4]+[p]+[e3]*)/i // Molest and rape
+ /([nNhH]|[\|Il!\(\)\[\]]*[\\\/]+[\|Il!\(\)\[\]]*|[\|Il!\(\)\[\]]*[vV]+[\|Il!\(\)\[\]]*)+[iI!1\|\\\/?\*jeE€3£]+[kKgG369&£]+[eE€£3]*[rRaA@4]+/, // N word
+ /f[a@4]+[g9]+[s$5z2]+[ao0]+[t+]*/i, // F slur
+ /n[a@4]+z[i1]+[s$5z2]*/i, // Nazi references
+ /a[d]+[o0]+[/|l1]+[f]+(\s|\W|_)*h[/|!i1]+[t]+[/|!l1]+[e3]+[r]+/i, // Hitler
+ /(?=.*k[i1]+[l1]+[l1]*)(?=.*j[e3]+[w]+[s$5z2]*)/i, // Antisemitist stuff
+ // likely fixed now, please check and remove the following line if still broken
+ /(?=.*m[o0]+[l1]+[e3]+[s$5z2]+[t+]*)|(?=.*r[a@4]+[p]+[e3]+[\s\S]*r[a@4]+[p]+[e3])/i // Molest and rape lets the name rap go
];
export function cleanUsername(name?: string | null): string {