Installing IW4MAdmin to your dedicated server. [Windows]
-
About
IW4MAdmin is an administration tool for IW4x, Pluto T6, CoD4x, TeknoMW3, and most Call of Duty dedicated servers. It allows complete control of your server; from changing maps, to banning players, IW4MAdmin monitors and records activity on your server(s). With plugin support, extending its functionality is a breeze. Also includes a web Interface so you can keep track of your server anywhere.
Requirements
- IW5 and/or T6 Dedicated Server with RCON password and game log enable. (Which we go over that in a min)
- Known your way of editing json code with Notepad.
- ASP.NET Core 3.1 Runtime Hosting Bundle installed.
Preparing IW5/T6 Dedicated Servers
You must edit your server.cfg or all of them if you run multiples. Make sure your g_logSync is set to 2 and your g_log file is included which they both should be by default. Also be sure to set a rcon_password as that would be required for IW4MAdmin to login your gameserver. you can set the same password to all of them or different. your choice and strength on security.
If you run mutliable gameservers. make your g_log command is different on each server config files you have.
For example: server2.cfg would be g_log "games_mp2.log"
That way IW4MAdmin won't be confused which players join the servers or register stats.
Now run the game server like you normally do and leave it on.
Download
Latest binary builds are always available at Github
Installation Videos
This is for the Tl;dr guys. The creator Raidmax made some youtube videos on how to install it. That way you get a better clear understanding.
1. IW4MAdmin Setup - Pre Requisites and Background Info
2. IW4MAdmin Setup - Basic WalkthroughInstallation
Install the .NET runtime Hosting Bundle in the requirements section if you haven't already. Extract IW4MAdmin-<version>.zip somewhere. I may suggest C:\servers\IW4MAdmin\ so you don't run into problems.
Seems to break shit if you put it on desktop folder. Like Windows 10 screws up it's permissions.
Once you extracted everything. run the StartIW4MAdmin.cmd and command window will prompt it's first run Initial Configuration.
If you figure out the questions on your own then consider yourself done, Do !iamgod on the chat and skip the initial configuration section if you interested in more stuff you can use with it.
Initial Configuration
This section is for people that don't understand IW4MAdmin setup. So we going to break it down each question you want yes or no or customize to your preferences.
Enable RSS message Feed?
RSS is a web feed that allows users and applications to access updates to websites in a standardized, computer-readable format like in the game chat auto messages..
My recommendation would be "No" as I don't think nobody hosting a website with RSS feeds now days but I could be wrong. lol
Require privileged client login?
That's if you want users to login to kick/ban/change map of players that way if someone spoof your XUID but the problem with T6 that you can't hide your chat commands so you basically risking your password.
My recommendation would be hell no.
Enable profanity deterring?
Kind of like a christian minecraft server. This is up to you. If you want to warn people with bad or racist words on the in-game chat
Enable server-side anti-cheat (IW4 Only)?
Why not? just put yes for now. Custom callbacks gsc/chai would be required in order the Anti-cheat to work on this. So I suggest yes on this in case you do have a working script. PlutoT6 gsc does work however but in early Work-In-Progress! If you wanted to test. Feel free. Just don't be a meme like me and skip StatsPluginSettings.json edits or you get some angry players with false positive bans of no recoil. As the anti-cheat was only made for MW2 (IW4x).
Enable webfront?
Web interface you can visit to check the status of your servers, stats, reports and bans.
For example: https://cod.awog.at/ and http://server.reactiongaming.usMy recommendation would be yes but that's up to you.
Enable Multiple Owners?
This is up to you. If you a lone wolf on this. Then you can choose no. If you have a buddy or co-owner that checks on the server with you that you want to give him the same exact level/permissions as you do.. I would suggest yes.
Enable Stepped privilege hierarchy?
Allows privileged clients to promote other clients to the level below their current level.
My recommendation would be no.
Enable Custom say name?
Shows a prefix to every message send by IW4MAdmin -- [Admin] message
This feature requires you specify a custom say name if you chose yes.I choose no as I don't feel like it's needed.
Use custom encoding parser?
Allows alternative encoding to be used for parsing game information and events
Russian users should use this and then specify windows-1251 as the encoding stringAs a English person. no for me.
Display social media link on webfront (discord, website, VK, etc...)?
This is up to you. If yes, a link will be added on top right corner of your web interface page.
Enter server IP Address:
For almost all scenarios 127.0.0.1 is sufficient.
Enter server port
The port that your server is listening on. Can be obtained via net_port on the bat file or get net_port on your dedicated server window.
Enter server RCon password
The Remote Console password set in your server configuration Can be obtained via server.cfg or get rcon_password on your dedicated server window.
Do not give it out or exposed it in the general public. if so you would have to change the rcon password again and you would have to edit json file on the IW4MAdmin's configuration folder. OOF
Enter number of reserved slots:
Setting it to 1 will only allow 17 players on your server while 18th slot is a open spot for you to join in your own server. This is optional but be warned if someone !report a cheater. you can't join a full server until someone leaves. My recommendation would be 2 in case I have another admin checking things out for me or play.
Enter RCon parser
Do I have to really explain this? parser is a way how IW4MAdmin communicates to your game servers as every game engine runs different. (for a reason too as they would caused conflicts)If you setting up PlutoIW5. Go with 3
If you setting up PlutoT6. Go with 4Enter event parser version
Same information as the rcon parser
Configuration saved, add another?
This is up to you if you have more then 2 servers go for it. You will be asked some repeated steps again. Scroll up to "Enter server IP Address" if you already forgot.
If you get this. That means IW4MAdmin is ready. Now join your server and claim ownership by typing !iamgod in the game chat after that you should get a reply back from IW4MAdmin that you successfully claim ownership.
Backup Backup (Recommended)
Just backup configuration and database folder. Maybe the VPNDetection.js if edited.
It's important that you should backup each time you mess with the files. 1 tiny little fuck up or a update build will wipe your entire IW4MAdmin configuration files for good. If you new to json. be sure to validate before running IW4MAdmin again.
Discord
IW4MAdmin have it's own discord that you can visit here so you can join with other members that's supporting it. If you come over for help. Give him or others some time to reply back.
Plugins (Optional)
Best thing about IW4MAdmin is plugins can be made for it. Like VPN detection, Shared GUID Kicker, Live Radar and many more.
YADB - Yet Another Discord Bridge
As the name suggests YADB - Yet Another Discord Bridge is a Discord bridge styled tool. It uses Discord’s Webhook functionality to allow you to send certain events to your Discord servers.So if someone !report. you can get a discord alert. Handy tool
Ping Limiter
As the name suggests this plugin will help you to keep your servers free from laggers by periodically checking for players with a high ping. You can custom the way you want it. It will also temp ban users.Weapon Restrict
A simple plugin that warns and/or kicks players when they use certain weapons against other players.Common used chat commands
!map mp_xxxxx
If you want your server to change to a certain map. Just use the map short names. Which you can find on some server.cfg file or download this maps.txt to your computer.For example: !map mp_rust
!list
Use this to identify players id # that is currently on the game from your IW4MAdmin database. that way if you want to ban some bad player with a funky name. you can use !ban 1234 reason!whoami
To show your own ID # on IW4MAdmin!kick playername reason (or !k 1234 reason)
Kicks the player off the game with reason message.!ban playername reason (or !b 1234 reason)
Bans the player off the game with reason message.!unban playername reason (or !ub 1234 reason)
Unbanned the player from the servers.!help
Gives you a list of commands you can used on IW4MAdmin in-game that I didn't go I didn't go over with you...
See more on what they do on Raidmax's Github Page.!set password XXXXX
Setup a password so you can login the web interface so you can view a player's profile, check their GUID/IP and ban them if you want. I recommend doing this on a empty server on T6 since you can "/!" the command like you can on IW4x and PlutoIW5. Hopefully a T6 update will fix that.Figure out your ID #. Do !whoami or visit your IW4MAdmin profile and look at the very end of your URL.
!find playername
Gives you their client id!sl 1234 level
This will give you permissions to certain users in-game chat. Which you can do the same on the web interface too. The level would be:Senior Administrator
Administrator
Moderator
TrustedExample: !sl Fry Senior Administrator
FAQ
Q: What if I want to add another server?
Most of the settings is under IW4MAdminSettings.json including your gameservers. So scroll all the way down to "Servers" and should see IP, Port, Password, etc etc. Now what you want to do is copy the brackets ( the [ and ] ) and paste the new bracket below the existing one. Just don't forget the ], on the end of your existing one. Just make sure you validate before saving it.
You can use this referneces below to give you a good idea of how IW4x, PlutoIW5, PlutoT6 works."Servers": [ { "IPAddress": "192.168.0.111", "Port": 28960, "Password": "YouthinkIamdumb?", "Rules": [], "AutoMessages": [], "ManualLogPath": null, "RConParserVersion": "IW4x (v0.6.0)", "EventParserVersion": "IW4x (v0.6.0)", "ReservedSlotNumber": 0, "GameLogServerUrl": null }, { "IPAddress": "192.168.0.111", "Port": 27016, "Password": "YouthinkIamdumb?", "Rules": [], "AutoMessages": [], "ManualLogPath": null, "RConParserVersion": "IW5 MP 1.9 build 388110 Fri Sep 14 00:04:28 2012 win-x86", "EventParserVersion": "IW5 MP 1.9 build 388110 Fri Sep 14 00:04:28 2012 win-x86", "ReservedSlotNumber": 0, "GameLogServerUrl": null }, { "IPAddress": "192.168.0.111", "Port": 4976, "Password": "YouthinkIamdumb?", "Rules": [], "AutoMessages": [], "ManualLogPath": null, "RConParserVersion": "Call of Duty Multiplayer - Ship COD_T6_S MP build 1.0.44 CL(1759941) CODPCAB2 CEG Fri May 9 19:19:19 2014 win-x86 813e66d5", "EventParserVersion": "Call of Duty Multiplayer - Ship COD_T6_S MP build 1.0.44 CL(1759941) CODPCAB2 CEG Fri May 9 19:19:19 2014 win-x86 813e66d5", "ReservedSlotNumber": 2, "GameLogServerUrl": null }
Q: How do I update?
All you gotta do is drag and drop the files from the zip and overwrite. But be sure you replace your VPNDetection.js once again if you did edit that file!Q: How do I make VPN detection ignore certain users?
Open VPNDetection.js with notepad and look in line 8.Just add whoever ID # from your IW4MAdmin's database. As you can see the preview below. you can add as many as you want.
However, If you don't want VPN detection at all. Simply delete the file and restart IW4MAdmin.
Q: How do I edit auto messages?
Just edit your IW4MAdminSettings.json with notepad and look for AutoMessages. You can change the time and also add colors on your text like you normally do with dedicated servers hostname.Q: I have a IW4x server. What if I want to apply Anti-cheat on it?
You just simply add customcallback.gsc in userraw/scripts on your IW4x dedicated server game files.You can also do PlutoT6 but it's in early stages and not the best way of setting it up yet. However the aimbot detection seems to be on point as far as I know.
Q: I don't have the same permissions as my other server.
If you flipping back and forth between IW4x, PlutoIW5 and PlutoT6. that's because your XUID is different from all 3 games. You would need to do !whoami on your in-game chat and go over to your server desktop and do !sl 1234 owner on your IW4MAdmin console window. -
How to install IW4MAdmin GSC Anti-Cheat for T6
This is for advanced users only!
Do not skip steps or alter the metrics names!
Just remember the GSC anti-cheat is a port from IW4x, So chances of false bans 3%First thing first. You MUST edit the StatsPluginSettings.json. If you don't edit your StatsPluginSettings.json. You going to have yourself a lot of angry players and FALSE BANS for norecoil.
Every time you move your servers. you must edit the IP and port of your server without any dots or :'s in your ip and port. They have to match the same address as your IW4MAdminSettings.json file or it throw everyone into norecoil bans which is all false!
Now compile this gsc file. and stick it in your t6r/data/maps/mp/gametypes/ and make sure the filename is called _clientids.gsc
Here is a example. I removed killstreak messages as I don't see any of that fit for T6 while it's for IW4x "Better call that nuke!" message lol.
{ "EnableAntiCheat": null, "KillstreakMessages": [], "DeathstreakMessages": [], "TopPlayersMinPlayTime": 10800, "StoreClientKills": false, "MostKillsMaxInactivityDays": 30, "MostKillsClientLimit": 5, "ServerDetectionTypes": null, "AnticheatConfiguration": { "Enable": true, "ServerDetectionTypes": { "1270014976": [ "Offset", "Strain", "Snap" ] }, "IgnoredClientIds": [], "IgnoredDetectionSpecification": { "IW4": { "Chest": [ "m21.+" ], "Recoil": [ "ranger.*_mp", "model1887.*_mp", ".+shotgun.*_mp" ], "Button": [ ".*akimbo.*" ] } } } }
1270014976 being your IP address and Port on the end. You can use local or the actual IP just Make sure it matches the same IP you have on IW4MAdminSettings.json as well.
Again do not use dot's or : on your IP or you will have a broken function/json file. that's why they were removed for a reason.. If you host more multiable servers. then you would need to add more IP function to the StatsPluginSettings.json. For example.... This is my actual copy I used.
{ "EnableAntiCheat": null, "KillstreakMessages": [], "DeathstreakMessages": [], "TopPlayersMinPlayTime": 10800, "StoreClientKills": false, "MostKillsMaxInactivityDays": 30, "MostKillsClientLimit": 5, "ServerDetectionTypes": null, "AnticheatConfiguration": { "Enable": true, "ServerDetectionTypes": { "19823145744976": [ "Offset", "Strain", "Snap" ], "19823145744978": [ "Offset", "Strain", "Snap" ] }, "IgnoredClientIds": [], "IgnoredDetectionSpecification": { "IW4": { "Chest": [ "m21.+" ], "Recoil": [ "ranger.*_mp", "model1887.*_mp", ".+shotgun.*_mp" ], "Button": [ ".*akimbo.*" ] } } } }
Yes that is 2 T6 servers. 198.23.145.74:4976, 198.23.145.74:4978. If you hosting only 2 T6 Multiplayers. You can always validate your json file here to be sure you done it correctly. Hope this helps.