raidmax / iw4m-admin Goto Github PK
View Code? Open in Web Editor NEWComplete administration tool for IW4x, Pluto T6, Pluto IW5, Pluto T5, Pluto T4, H1-Mod, CoD4x, IW6x, TeknoMW3, and most Call of Duty® dedicated servers.
License: MIT License
Complete administration tool for IW4x, Pluto T6, Pluto IW5, Pluto T5, Pluto T4, H1-Mod, CoD4x, IW6x, TeknoMW3, and most Call of Duty® dedicated servers.
License: MIT License
Have a page that shows all clients that had connected (Even offline ones) to your server and then use the search filter to display results for the search.
For convenience, the web console should save the output of entered commands for the current page session.
I don't know why... But I checked your Admin Panel to see if you had banned this guy I think may be cheating on my server lol...
But, I noticed I could see their IP's, which is a no-go, dropped down the user tab and low-and-behold, my apparent 'Client Profile' ID is @1.
https://i.imgur.com/MewY3yI.png - Profile Proof
https://i.imgur.com/mMSDVHv.jpg - I promoted myself
https://i.imgur.com/UH7NfYF.png - Command List proof. (With console)
https://nbsclan.org/Client/PrivilegedAsync - You can see me here. Fz Amos.
I haven't done anything other than promote myself to test, please check the logs if you're uneasy about this, which would be understandable. I have left my rank as Senior Admin so you can check yourself, however, please feel free to remove my rank entirely...
Plus, I can't really play on your servers due to latency as I'm from UK.
I'm just trying to disclose this, obviously, I don't need to tell you what to do, but if people are browsing your issues page actively they can also do what they hell they'd like so I hope you have a backup!
I apologise in advance if you would have liked me to disclose this in a more private matter.
@RaidMax for pinging.
It's not showing up on iw4x.exe server, now i don't know if i'm doing something wrong.. says not detected. But it say's that's its for iw4x
Player search should strip color codes when searching so that searching for "bluscream" also finds "Blu^3scream", etc
I have a iw4x server on a VPS running ubuntu 18.04
is there a way to setup IW4M-Admin on it ? please guide me
Hello
I'm sorry for the noobie question
I want to execute IW4M-Admin.exe but I can't find an exe file?
https://s18.postimg.org/ix72g66ex/Untitled.png
And I have tried to rename IW4MAdmin.exe.config to IW4MAdmin.exe and I got this:
https://s18.postimg.org/418j8o2qx/Untitled.png
Is/can there be/a way to exempt me from VPN kicking. I use a VPN daily so it'd seem stupid to disable it just for this and on my server.
My server is getting rather popular now so I'd like to exempt myself from VPN kicking, can you do it 'per-rank/id/name'?
For example, Moderator+ don't get kicked for enabled VPN's.
When a user or moderator deletes the thread or reply, the post count of that poster does not decrease
Inactive accounts are set to expire and not appear on the top stats page after a set period of inactivity. However, if a user changes their GUID and stays active, their previous account will still be considered active and will not drop off, even after their last seen date passes the maximum allowed time of inactivity.
root@Plex:~/IW4M# ./start.sh
=====================================================
IW4M ADMIN
by RaidMax
Version 2.1
=====================================================
Fatal error during initialization
Exception: SQLite Error 14: 'unable to open database file'.
root@IW4X-FZ:~/IW4MAdmin# dotnet --version
2.1.401
root@IW4X-FZ:~/IW4MAdmin#
Any idea how to resolve this issue would be highly appreciated.
I imagine something like taking a screenshot of every player on join and if anything fails error: could not get screenshot
it kicks the player.
After time it could get more advanced, like analizing the image and kicking if colors are less then 2 or suspicious boxes detected.
TargetTypeOffenseOriginTime/LeftLoganKickPreviously banned for Previously banned for Previously banned for Previously banned for No recoilIW4MAdmin1 minute(s) ago
This is the latest kick on your website as of now. Pretty sure it shall not be that way, otherwise the msg might get too big too kick
When you get some time please can you explain the statistics values in ReadMe file?
757.88 Performance
0.0519° Hit Offset Average
0.071 Max Strain
Specifically the above values I think need explaining.
I've followed the instructions as they were given, but when I launch iw4m admin this happens:
TO CLARIFY: it connects to my server fine then I get the error
this happens when a client enters the server. here are my logs:
it constantly repeats this:
[00:17:22] - Debug: Error Message: Object reference not set to an instance of an object.
[00:17:22] - Debug: Error Trace: at Welcome_Plugin.Plugin.<>c__DisplayClass11_0.b__0(Player p)
at System.Collections.Generic.List1.Find(Predicate
1 match)
at Welcome_Plugin.Plugin.d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task)
at IW4MAdmin.IW4MServer.d__17.MoveNext()
Not sure whats causing the problem could be something so easy and I am just blind.
I did try a few things on my own, I removed the welcome plugin and the problem was resolved.
thought it would be good to let you know :)
BTW I won't be able to come back to this until 9/6 @ 4:00 PM est
when the map changed the same thing happened. This time the logs gave a different error:
[00:40:16] - Debug: Error Message: Server is RCON throttled
[00:40:16] - Debug: Error Trace: at SharedLibrary.Network.RCON.d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IW4MAdmin.IW4MServer.d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IW4MAdmin.IW4MServer.d__17.MoveNext()
thanks for any and all help :)
Joined via VPN with below account, and it doesn't kick me. :(
[09.02.2018 00:18:43.946] - Debug: Client Big Dick Dan::7837307843100953456 first time connecting
[09.02.2018 00:18:43.966] - Info: Client Big Dick Dan::7837307843100953456 connected...
[09.02.2018 00:18:43.989] - Debug: Calculating standard kill
[09.02.2018 00:18:44.078] - Debug: PredictVsReal=0.061
[09.02.2018 00:18:44.079] - Debug: Current Strain: 0.00630946682090703
[09.02.2018 00:18:44.115] - Error: A plugin generated an error [VPN Kick Plugin]
[09.02.2018 00:18:44.116] - Debug: Error Message: event is not defined
[09.02.2018 00:18:44.116] - Debug: Error Trace: at Jint.Engine.Execute(Program program)
at SharedLibraryCore.ScriptPlugin.OnEventAsync(GameEvent E, Server S)
at IW4MAdmin.IW4MServer.ExecuteEvent(GameEvent E)
Maybe this will help figure out issue, I'm in the kicking exemption IDs:
[09.02.2018 00:15:31.740] - Info: Client Fz Amos::1843397405494546423 connected...
[09.02.2018 00:15:31.828] - Info: Client AUN::5252712073660470461 connected...
[09.02.2018 00:15:32.035] - Error: A plugin generated an error [VPN Kick Plugin]
[09.02.2018 00:15:32.035] - Debug: Error Message: An item with the same key has already been added. Key: System.Net
[09.02.2018 00:15:32.102] - Debug: Error Trace: at System.Collections.Generic.Dictionary`2.TryInsert(TKey key, TValue value, InsertionBehavior behavior)
at System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value)
at Jint.Runtime.Interop.NamespaceReference.GetPath(String path)
at Jint.Runtime.Interop.NamespaceReference.Get(String propertyName)
at Jint.Engine.GetValue(Object value, Boolean returnReferenceToPool)
at Jint.Runtime.ExpressionInterpreter.EvaluateMemberExpression(MemberExpression memberExpression)
at Jint.Runtime.ExpressionInterpreter.EvaluateMemberExpression(MemberExpression memberExpression)
at Jint.Runtime.ExpressionInterpreter.EvaluateNewExpression(NewExpression newExpression)
at Jint.Runtime.StatementInterpreter.ExecuteVariableDeclaration(VariableDeclaration statement)
at Jint.Runtime.StatementInterpreter.ExecuteMultipleStatements(List`1 statementList)
at Jint.Runtime.StatementInterpreter.ExecuteStatementList(List`1 statementList)
at Jint.Runtime.StatementInterpreter.ExecuteTryStatement(TryStatement tryStatement)
at Jint.Runtime.StatementInterpreter.ExecuteMultipleStatements(List`1 statementList)
at Jint.Runtime.StatementInterpreter.ExecuteStatementList(List`1 statementList)
at Jint.Native.Function.ScriptFunctionInstance.Call(JsValue thisArg, JsValue[] arguments)
at Jint.Runtime.ExpressionInterpreter.EvaluateCallExpression(CallExpression callExpression)
at Jint.Engine.ExecuteStatement(Statement statement)
at Jint.Runtime.StatementInterpreter.ExecuteSingleStatement(Statement s)
at Jint.Runtime.StatementInterpreter.ExecuteStatementList(List`1 statementList)
at Jint.Runtime.StatementInterpreter.ExecuteIfStatement(IfStatement ifStatement)
at Jint.Runtime.StatementInterpreter.ExecuteSingleStatement(Statement s)
at Jint.Runtime.StatementInterpreter.ExecuteStatementList(List`1 statementList)
at Jint.Native.Function.ScriptFunctionInstance.Call(JsValue thisArg, JsValue[] arguments)
at Jint.Runtime.ExpressionInterpreter.EvaluateCallExpression(CallExpression callExpression)
at Jint.Engine.ExecuteStatement(Statement statement)
at Jint.Runtime.StatementInterpreter.ExecuteSingleStatement(Statement s)
at Jint.Runtime.StatementInterpreter.ExecuteStatementList(List`1 statementList)
at Jint.Runtime.StatementInterpreter.ExecuteProgram(Program program)
at Jint.Engine.Execute(Program program)
at Jint.Engine.Execute(String source, ParserOptions parserOptions)
at Jint.Engine.Execute(String source)
at SharedLibraryCore.ScriptPlugin.OnEventAsync(GameEvent E, Server S)
at IW4MAdmin.IW4MServer.ExecuteEvent(GameEvent E)
[09.02.2018 00:15:32.690] - Info: Adding Fz Amos::1843397405494546423 to stats
[09.02.2018 00:15:32.899] - Info: Adding AUN::5252712073660470461 to stats
There's also a lot of spam...
[09.02.2018 00:19:05.921] - Debug: PredictVsReal=0.329
[09.02.2018 00:19:05.921] - Debug: Current Strain: 0.00025924961302169
[09.02.2018 00:19:05.937] - Debug: PredictVsReal=0.329
[09.02.2018 00:19:05.937] - Debug: Current Strain: 0.00025921823860047
[09.02.2018 00:19:06.254] - Debug: PredictVsReal=0
[09.02.2018 00:19:06.254] - Debug: Current Strain: 0.0666453087102638
[09.02.2018 00:19:06.269] - Debug: PredictVsReal=0
[09.02.2018 00:19:06.269] - Debug: Current Strain: 0.000199228961832055
[09.02.2018 00:19:06.284] - Debug: PredictVsReal=0.44
[09.02.2018 00:19:06.285] - Debug: Current Strain: 0.000881851859405086
[09.02.2018 00:19:06.295] - Debug: Calculating standard kill
[09.02.2018 00:19:06.327] - Debug: PredictVsReal=0.242
[09.02.2018 00:19:06.327] - Debug: Current Strain: 0.00309455843563376
[09.02.2018 00:19:06.343] - Debug: PredictVsReal=0.242
[09.02.2018 00:19:06.343] - Debug: Current Strain: 0.00309418393177735
[09.02.2018 00:19:06.660] - Debug: PredictVsReal=0
[09.02.2018 00:19:06.660] - Debug: Current Strain: 0.00158516457056025
[09.02.2018 00:19:06.675] - Debug: PredictVsReal=0.1538
[09.02.2018 00:19:06.675] - Debug: Current Strain: 0.00509656925529465
[09.02.2018 00:19:06.686] - Debug: Calculating standard kill
[09.02.2018 00:19:06.718] - Debug: PredictVsReal=0
[09.02.2018 00:19:06.719] - Debug: Current Strain: 0.00898598594486651
[09.02.2018 00:19:06.734] - Debug: PredictVsReal=0
[09.02.2018 00:19:06.734] - Debug: Current Strain: 0.00898489845970182
[09.02.2018 00:19:07.352] - Debug: PredictVsReal=0
[09.02.2018 00:19:07.352] - Debug: Current Strain: 0.0353388837215023
[09.02.2018 00:19:07.362] - Debug: Calculating standard kill
[09.02.2018 00:19:07.394] - Debug: PredictVsReal=0.072
[09.02.2018 00:19:07.395] - Debug: Current Strain: 0.0365872902524896
[09.02.2018 00:19:07.410] - Debug: PredictVsReal=0.072
[09.02.2018 00:19:07.410] - Debug: Current Strain: 0.0365828624539587
[09.02.2018 00:19:08.027] - Debug: PredictVsReal=0.033
[09.02.2018 00:19:08.027] - Debug: Current Strain: 0.0183489815046544
[09.02.2018 00:19:08.042] - Debug: PredictVsReal=0
[09.02.2018 00:19:08.043] - Debug: Current Strain: 0.0334208161958384
[09.02.2018 00:19:08.960] - Debug: PredictVsReal=0
[09.02.2018 00:19:08.960] - Debug: Current Strain: 0.00115563075040223
[09.02.2018 00:19:09.276] - Debug: PredictVsReal=0.1813
[09.02.2018 00:19:09.276] - Debug: Current Strain: 0.00822406934480962
[09.02.2018 00:19:09.592] - Debug: PredictVsReal=0
[09.02.2018 00:19:09.593] - Debug: Current Strain: 0.0604569010014516
[09.02.2018 00:19:09.602] - Debug: Calculating standard kill
[09.02.2018 00:19:09.635] - Debug: PredictVsReal=0
[09.02.2018 00:19:09.635] - Debug: Current Strain: 0.0359577808115591
[09.02.2018 00:19:09.946] - Debug: Calculating standard kill
[09.02.2018 00:19:09.978] - Debug: PredictVsReal=0.0879
[09.02.2018 00:19:09.979] - Debug: Current Strain: 0.0625744688004295
[09.02.2018 00:19:09.994] - Debug: PredictVsReal=0.0879
Currently if a banned user connects and is banned because of a banned alias, it will only display "You appear to be cheating." It would be convenient if it could display the original anti-cheat ban information like it does to the original banned user where you are able to click on the ban and see the anti-cheat snapshots.
As requested on discord. here is the list of maps...
mp_afghan - Afghan
mp_derail - Derail
mp_estate - Estate
mp_favela - Favela
mp_highrise - Highrise
mp_invasion - Invasion
mp_checkpoint - Karachi
mp_quarry - Quarry
mp_rundown - Rundown
mp_rust - Rust
mp_boneyard - Scrapyard
mp_nightshift - Skidrow
mp_subbase - Sub Base
mp_terminal - Terminal
mp_underpass - Underpass
mp_brecourt - Wasteland
mp_complex - Bailout
mp_crash - Crash
mp_overgrown - Overgrown
mp_compact - Salvage
mp_storm - Storm
mp_abandon - Carnival
mp_fuel2 - Fuel
mp_strike - Strike
mp_trailerpark - Trailer Park
mp_vacant - Vacant
mp_nuked - Nuketown
mp_cross_fire - Crossfire
mp_bloc - Bloc
mp_cargoship - Cargoship
mp_killhouse - Killhouse
mp_bog_sh - Bog
mp_cargoship_sh - Freighter
mp_shipment_long - Shipment Long
mp_rust_long - Rust Long
mp_firingrange - Firing Range
mp_storm_spring - Chemical Plant
mp_fav_tropical - Tropical Favela
mp_estate_tropical - Tropical Estate
mp_crash_tropical - Tropical Crash
mp_bloc_sh - Forgotten City
oilrig - Oilrig
iw4_credits - Test map
co_hunted - Village
C:_Servers\IW4MAdmin>dotnet IW4MAdmin.dll
It was not possible to find any compatible framework version
The specified framework 'Microsoft.NETCore.App', version '2.1.0' was not found.
I installed first, 2.0.7 same error, then I installed 2.0.9. There isn't a 2.1.0 RunTime available for download.
Here are the installed versions of what I installed on .NET RunTime:
https://i.imgur.com/nm28lL0.png
EDIT: Resolved via using Stable Build instead of development builds. My fault.
C:\_Servers\IW4MAdmin-sta>dotnet IW4MAdmin.dll
=====================================================
IW4M ADMIN
by RaidMax
Version 2.1
=====================================================
IW4MAdmin is up to date
Fatal error during initialization
Exception: Input string was not in a correct format.
Press any key to exit...
Config Uploaded Here: https://pastebin.com/XRSC3t8w
Using: IW4M-Admin 2.1 Stable
.Net: 2.0.9 RunTime (x86 AND x64)
Windows: 10, x64, 1803
It would be great to have API-like access to banlists. So i would request a TXT banlist like the echolon one. Maybe also a JSON version for more performance.
https://github.com/RaidMax/IW4M-Admin/blob/master/Plugins/Stats/Cheat/Detection.cs#L197
Shouldn't the second if differenciate from the first? Otherwise you could just omit one of them
The current top stats page only displays the time weighted average performance. A drop down menu filter, similar to the filter on the penalty page, could be added and be used to filter just single server top stats.
Currently the ban menu on the user page only allows you to permanently ban a user. An option to temporarily ban a user should also be added to the pop-up menu using a drop down with preset durations, i.e. 1 hour, 6 hours, 1 day, 1 week, permanent.
You also cannot unban temporarily banned users through the user page lock icon. This should be changed to allow unbanning through the user page lock icon.
How Do You Unflag, is it a toggle or what?
I haven't restarted IW4M in about 2 days and it still has the top players from when I started IW4M then.
Can you make it refresh dynamically, or each time I press F5?
"EnableWebFront": true,
"WebfrontBindUrl": "http://51.15.140.59:1624",
[08.27.2018 11:29:36.408] - Warning: Could not connect to heartbeat server - POST "http://api.raidmax.org:5000/authenticate" failed because response status code does not indicate success: 401 (UNAUTHORIZED).
The connection refused?
I'm unsure what logs I could provide to help, please let me know.
I'm not very sure that the issue is, I'm no coder so I thought you could help!
The server using IW4M is an IW4X (MW2) server. It does not appear to mess with the base server, it just makes the auto messages appear twice when sent...
This "error" constantly repeats in my powershell. In the logs I get this repeating over and over:
[18:43:06] - Error: Encountered error on 71.xx.xxx.xxx:28965
[18:43:06] - Debug: Error Message: Unexpected status response received
[18:43:06] - Debug: Error Trace: at Application.RconParsers.IW4RConParser.ClientsFromStatus(String[] Status)
at Application.RconParsers.IW4RConParser.d__3.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IW4MAdmin.IW4MServer.d__7.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at IW4MAdmin.IW4MServer.d__17.MoveNext()
Along with that bit I also had an odd encounter with the Welcome Plugin. Once again I'm not a coder, it would probably make our lives easier if I was....
[18:09:59] - Error: The plugin "Welcome Plugin" generated an error. ( see log )
[18:09:59] - Debug: Error Message: Value was either too large or too small for an unsigned byte.
[18:10:00] - Debug: Error Trace: at System.Convert.ThrowByteOverflowException()
at System.Convert.ToByte(Char value)
at System.Linq.Enumerable.SelectEnumerableIterator`2.ToArray()
at SharedLibraryCore.RCon.Connection.d__22.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Application.RconParsers.IW4RConParser.d__1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at SharedLibraryCore.Server.d__13.MoveNext()
Thanks for any help you can provide, I'll keep an eye on this post for a few days!
Website: https://www.xdefcon.com/
API: https://api.xdefcon.com/proxy/check/?ip=
Example (VPN): https://api.xdefcon.com/proxy/check/?ip=196.52.84.36
Example (No VPN): https://api.xdefcon.com/proxy/check/?ip=80.60.16.43
Doesn't have a poll limit, which is why I think you should change it from IPHub to xDefcon as £9.99 for 10,000/reqs a day is overly expensive on IPHub, and this alternative is free. (or IPHub's 1,000/reqs a day for free users.)
Instead of change it, maybe add this as an optional choice, so the server owner is able to switch between IPHub (if they have an existing subscription) to xDefcon.
Main errors are...
[08.27.2018 22:21:14.350] - Error: Unexpected exception on 195.154.102.115:28963
[08.27.2018 22:21:14.351] - Debug: Error Message: One or more errors occurred. (Sequence contains no elements)
[08.27.2018 22:21:14.352] - Debug: Error Trace: at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at IW4MAdmin.IW4MServer.<>c.<InitializeTokens>b__21_2(Server s)
at SharedLibraryCore.Helpers.MessageToken.Process(Server server)
at SharedLibraryCore.Utilities.ProcessMessageToken(Server server, IList`1 tokens, String str)
at IW4MAdmin.IW4MServer.ProcessUpdatesAsync(CancellationToken cts)
[08.27.2018 21:24:04.464] - Debug: Log detected Crappy Yard::-696819893583376794 joining
[08.27.2018 21:24:13.536] - Debug: Client slot #7 now reserved
[08.27.2018 21:24:13.540] - Debug: Client Crappy Yard::-696819893583376794 first time connecting
[08.27.2018 21:24:13.555] - Debug: Kicking Crappy Yard::-696819893583376794 their spot is reserved
[08.27.2018 21:24:13.555] - Error: Unable to add player Crappy Yard::-696819893583376794
[08.27.2018 21:24:13.556] - Debug: Invalid locale key SERVER_KICK_SLOT_IS_RESERVED
[08.27.2018 21:24:13.556] - Debug: at SharedLibraryCore.Localization.Index.get_Item(String key)
at IW4MAdmin.IW4MServer.AddPlayer(Player polledPlayer)
[08.27.2018 22:28:28.072] - Error: A plugin generated an error [Simple Stats]
[08.27.2018 22:28:28.073] - Debug: Error Message: The given key '1073' was not present in the dictionary.
[08.27.2018 22:28:28.074] - Debug: Error Trace: at System.Collections.Concurrent.ConcurrentDictionary`2.ThrowKeyNotFoundException(Object key)
at System.Collections.Concurrent.ConcurrentDictionary`2.get_Item(TKey key)
at IW4MAdmin.Plugins.Stats.Helpers.StatManager.SetTeamBased(Int32 serverId, Boolean isTeamBased)
at IW4MAdmin.Plugins.Stats.Plugin.OnEventAsync(GameEvent E, Server S)
at IW4MAdmin.IW4MServer.ExecuteEvent(GameEvent E)
[08.27.2018 22:23:56.469] - Error: Unexpected exception on 195.154.102.115:28963
[08.27.2018 22:23:56.469] - Debug: Error Message: One or more errors occurred. (DVAR "sv_mapRotation" does not exist)
[08.27.2018 22:23:56.470] - Debug: Error Trace: at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at IW4MAdmin.IW4MServer.<>c.<InitializeTokens>b__21_2(Server s)
at SharedLibraryCore.Helpers.MessageToken.Process(Server server)
at SharedLibraryCore.Utilities.ProcessMessageToken(Server server, IList`1 tokens, String str)
at IW4MAdmin.IW4MServer.ProcessUpdatesAsync(CancellationToken cts)
[08.27.2018 22:20:49.216] - Debug: Delaying origin execution of event type Command for Fz Amos::1843397405494546423 because they are not authed
?? -- I logged in as 'Owner'...?
Can you guide me on how to change the welcome message as the WelcomePlugin.dll file is encrypted and if we could change the syntax when a player joins the server because I could not find any customizable welcome config e.t.c.
Can you create a plugin that will allow nukes but will not stop/restart the game, it will kill everyone and everyone will respawn and continue the game?
Anti-Camp just to !warn for camping and 3 offences will kick them. (For it to restart the counter again)
EDIT: A lot of people on my servers are crying about campers so if you do end up making one I'd appreciate it.
Add a setting to completely ignore in-game bots, so the DB won't be spammed with useless profiles.
CTRL-C tries to exit IW4M, but can't in the latest version.
OS: Ubuntu 18.04.1
Dotnet RT: 2.1
root@scw-8d0f64:~/IW4MAdmin# ./start.sh
=====================================================
IW4M ADMIN
by RaidMax
Version 2.15
=====================================================
IW4MAdmin is up to date
[08.27.2018 11:04:25.306] - Verbose: Now monitoring TEST SERVER YIKES BOIZ
[08.27.2018 11:06:41.095] - Verbose: Shutdown complete
Application is shutting down...
Application is shutting down...
Application is shutting down...
Application is shutting down...
Application is shutting down...
Application is shutting down...
Application is shutting down...
Application is shutting down...
Application is shutting down...
Left it for 5 minutes and still didn't exit correctly, had to kill screen then create a new one each time I exit the application.
When a player is banned, it only says where to appeal on the first kick. Every kick after that does not include where to appeal bans.
If a user is temporarily banned and then permanently banned afterwords, the user is kicked for the temporary ban and not the permanent ban.
[08.27.2018 11:41:04.428] - Debug: Loaded script plugin "VPN Kick Plugin" [1]
[08.27.2018 11:41:04.431] - Debug: Loaded plugin "Welcome Plugin" [1]
[08.27.2018 11:41:04.440] - Debug: Loaded plugin "Simple Stats" [1]
[08.27.2018 11:41:04.442] - Debug: Registered command "mostplayed"
[08.27.2018 11:41:04.443] - Debug: Registered command "resetstats"
[08.27.2018 11:41:04.443] - Debug: Registered command "topstats"
[08.27.2018 11:41:04.444] - Debug: Registered command "stats"
[08.27.2018 11:41:04.447] - Debug: Loaded plugin "ProfanityDeterment" [1]
[08.27.2018 11:41:04.448] - Debug: Loaded plugin "Login" [1]
[08.27.2018 11:41:04.449] - Debug: Registered command "login"
[08.27.2018 11:41:04.450] - Info: Loaded 5 plugins and registered 5 commands.
[08.27.2018 11:41:10.461] - Info: Log file is //root/IW4XServer/userraw/logs/games_mpfz.log
[08.27.2018 11:41:10.468] - Verbose: Now monitoring TEST SERVER YIKES BOIZ
[08.27.2018 11:41:11.696] - Debug: Initializing server stats for 51.15.140.59_28960
[08.27.2018 11:41:16.431] - Warning: Could not properly parse event line
[08.27.2018 11:41:16.432] - Debug: Sequence contains no matching element
[08.27.2018 11:41:16.432] - Debug: 45:23 K;a0db46d2fb33a718;6;allies;Chumean;e9313a601f5c0025;12;axis;ØÃÈÌ ÈÌÎÐoldier;sa80_grip_reflex_mp;40;MOD_RIFLE_BULLET;torso_lower
[08.27.2018 11:41:17.755] - Debug: Log detected BERTOESKISSA::-5279538096686972962 joining
[08.27.2018 11:41:19.765] - Warning: Could not properly parse event line
[08.27.2018 11:41:19.766] - Debug: Sequence contains no matching element
[08.27.2018 11:41:19.766] - Debug: 45:26 say;1995102c6e610ff7;13;Fz Amos;�!iamgod
[08.27.2018 11:41:21.184] - Warning: Could not properly parse event line
[08.27.2018 11:41:21.184] - Debug: Sequence contains no matching element
[08.27.2018 11:41:21.184] - Debug: 45:27 K;f300c93c647c20da;0;allies;Warrior;dbed587110adf0ee;5;axis; Ash;masada_fmj_gl_mp;30;MOD_RIFLE_BULLET;torso_lower
[08.27.2018 11:41:21.386] - Warning: Could not properly parse event line
[08.27.2018 11:41:21.386] - Debug: Sequence contains no matching element
[08.27.2018 11:41:21.386] - Debug: 45:28 K;706b37961062d48f;3;allies;fLUX;d392b543b182955f;8;axis;VICILEAD;famas_acog_mp;56;MOD_RIFLE_BULLET;torso_lower
Can't use any !commands in-game, I started from scratch too, downloaded extracted setup etc and the above is exported from log file.
I'm running into a lot of walls right now, would it be worth adding me on Discord, Amos#9672 we can try and fix all these together.
Too many players do not take notice to when they have been warned. Adding text centered on the screen through gsc would force users to take notice.
[09.15.2018 18:09:19.408] - Debug: Error Trace: at System.Linq.Enumerable.First[TSource](IEnumerable`1 source)
at SharedLibraryCore.Commands.CNextMap.GetNextMap(Server s)
at SharedLibraryCore.Commands.CNextMap.ExecuteAsync(GameEvent E)
at IW4MAdmin.IW4MServer.ExecuteEvent(GameEvent E)
at IW4MAdmin.Application.ApplicationManager.OnServerEventAsync(Object sender, GameEventArgs args)
"sv_mapRotation" is: "map mp_highrise map mp_terminal map mp_nightshift map mp_subbase map mp_boneyard map mp_checkpoint" default: ""
Domain is any text
Every time i start iw4madmin i get the following error:
{REDACTED}@{REDACTED}:/home/{REDACTED}/iw4madmin# dotnet IW4MAdmin.dll
=====================================================
IW4M ADMIN
by RaidMax
Version 2.1
=====================================================
Fatal error during initialization
Exception: SQLite Error 14: 'unable to open database file'.
Press any key to exit...
I installed .net core runtime as per https://www.microsoft.com/net/download/linux-package-manager/debian8/runtime-current.
That page mentioned version 2.1, which gave the same error. I also tried installing version 2.0.7 with sudo apt-get install dotnet-hosting-2.0.7 aspnetcore-store-2.0.7
to no avail.
What is going wrong here?
Map Voting
Can we get the possibility to allow people to map vote based on the percentage that's currently online?
I think map voting should be disabled for servers with less than 4 people online.
This would need to be a per-server setting so people can't vote in maps for single map only servers.
Fast Restart on Single Map servers
After the game finishes, the server should auto fast-restart instead of running the map again.
Please allow some time to pass before fast restarting for the kill cam and a look at the scoreboard.
This would also need to be per-server for servers with map rotation.
Shouldn't that be redacted?
https://github.com/RaidMax/IW4M-Admin/blob/master/Welcome Plugin/Plugin.cs#L97
Can you create a plugin to !switch <name>
to balance teams a bit.
If both teams are full can you make a !switch <player1> <player2>
to switch players with each other.
What if all the messages from IW4MAdmin were tailored for each client's language?
That is the language would be determined by the IP address of the client.
Rather than a global setting for the language, it could be per client.
When an Italian client gets kicked (ie VPN usage), it will display the message in Italian.
After the last commit, two related things have broken
They're probably related, but may have something to do with update .NET Core runtimes.
I went to transfer my servers onto a new machine and when I went to run IW4MAdmin it failed. I had still had the 2.1 prerelease so I figured I should update it and it would be fine. After downloading the newest release I extracted everything from the zip into a folder and did the routine. Then I get this;
Normally I would try and troubleshoot on my own before asking, but I'm at a loss when it comes to this error. Anyway you should be able to make something of it. Thanks, see ya soon 👍
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.