Commit Graph

580 Commits

Author SHA1 Message Date
RaidMax
3d8108f339 fixed profanity bug
fix the shared GUID connect
fix linux  log issue
2018-09-08 20:20:11 -05:00
RaidMax
39596db56e fixed rating and kill streak bug, but uncommenting something I forgot I commented out
Added SharedGUIDKick plugin to kick people with shared GUID
2018-09-08 17:29:30 -05:00
RaidMax
ba5b1e19a6 update readme
add vision average to client stats
other stuff
2018-09-07 22:29:42 -05:00
RaidMax
385879618d add game log server 2018-09-06 13:25:58 -05:00
RaidMax
0c90d02e44 update libraries to pre release
fix remaining issue for issue #32
adds overall ranking to profile page for issue #24
2018-09-04 21:07:34 -05:00
RaidMax
cfbacabb4a fix bug with player not getting updated on disconnect (related to issue #24)
jint version downgraded for better stability (also locked the engine instance as it's not thread safe)
updated readme
remove vpn detection from application configuration as it's now in a seperate plugin
defaulted webfront bind URl to all interfaces
readd the custom say name
added visibility percentage to AC
2018-09-04 12:40:29 -05:00
RaidMax
672d45df7c fix for issue #45 and #37 2018-09-02 22:09:25 -05:00
RaidMax
20d4ab27d3 add warn event
add alert to IW4ScriptCommands
2018-09-02 21:25:09 -05:00
RaidMax
e77ef69ee8 Added additional properties method to allow easier extension to client properties
updated VPN plugin to use WebClient
message is sent to client trying to execute commands before they are authenticated
fixed rare issue with ToAdmins failing
record bullet distance fraction for client kills (_customcallbacks)
change client level/permissions through webfront
ability to tempban through webfront
2018-09-02 16:59:27 -05:00
RaidMax
cc7628d058 fixed broken broadcast events
events don't get out of order when a invalid event line throws exception
handle the stats history update with no change throwing DBConcurrencyException
2018-08-31 22:35:51 -05:00
RaidMax
46bdc2ac33 moved event API stuff around
finally fixed threading issue (which actually had to do with IW4x log outputs being out of sync (not an issue with my code). What a lot of headache over something that wasn't my fault.
2018-08-30 20:53:00 -05:00
RaidMax
bbefd53db4 think I finished reworking the event system
added http log reading support for debugging remotely
started working on unit test framework
2018-08-28 16:32:59 -05:00
RaidMax
56cb8c50e7 reworked event management (again)
almost finished
2018-08-27 17:07:54 -05:00
RaidMax
0538d9f479 started update for readme
start update for version changes
hopefully fixed pesky stat bug
move vpn detection into script plugin
2018-08-26 19:20:47 -05:00
RaidMax
ac64d8d3c1 fixed unicode crap stuff in webhook
enable preview of tiered compiliation (faster startup)
ban events are sent to the API properly now
add vpn except id configuration
begin work on javascript plugin support
2018-08-22 20:25:34 -05:00
RaidMax
a0fafe5797 cleaned up some namespace discrepancies
fixed the coloring for custom groups translation
add reserved slots
add webhook project to show notifications in discord
2018-08-07 13:43:09 -05:00
RaidMax
bbade07646 add localized level names
intellisense suggestion junk
2018-08-03 21:11:58 -05:00
RaidMax
3c0e101f14 appeal website is always show on kick
previously banned for recursion fixed
2018-08-03 19:06:47 -05:00
RaidMax
d0be08629d add page list to manager so we can inject pages into the layout view 2018-08-03 17:10:20 -05:00
RaidMax
9d00d5a16a removed event controller, and added status to api controller
get time passed returns weeks after 90 days
and months after 365
2018-08-02 20:52:35 -05:00
RaidMax
f40bcce44f update to .NET Core 2.1
fix bower repo deprecation
2018-07-29 14:43:42 -05:00
RaidMax
6071ad8653 fix bug with AC failing to ban because of EF issue. 2018-07-05 21:04:34 -05:00
RaidMax
454238a192 finer version numbers work correctly.
fix bug with level being reset.
add {{ADMINS}} to message tokens
modified offset threshold calculation
2018-06-26 20:17:24 -05:00
RaidMax
e7c7145da1 Show time passed since ban instead of "forever"
reworked event api to include all events (sans unknown)
2018-06-16 21:11:25 -05:00
RaidMax
5be6b75ccf [webfront] search by ip and name
[application] levels set properly with multiple GUIDs
[stats] require 3 hours of playtime for top stats recognition
[application] configurable rcon polling rate
2018-06-07 21:19:12 -05:00
RaidMax
e60f612f95 [application] added chat context to profile page
[iw4script] reworked balance to balance based on performance rating
[stats] log penalty context to database
2018-06-05 16:31:36 -05:00
RaidMax
e3dba96d72 [sharedlibrary] add client meta
[application] add gravatar command
2018-06-01 23:48:10 -05:00
RaidMax
6d0f859a93 more updates to top stats page 2018-06-01 19:55:26 -05:00
RaidMax
696e2d12c9 change table design for rating history 2018-05-31 19:17:52 -05:00
RaidMax
bf68e5672f Add automated ban offense for anti-cheat
add EFClientStatHistory and EFClientAverageStatHistory for tracking change of stats over time
2018-05-30 20:50:20 -05:00
RaidMax
2204686b08 added top player stats
fix for some commands returning multiple matches found when target not required
2018-05-28 20:30:31 -05:00
RaidMax
d9a601328c stats tweaked to scale SPM based on team size
invalid client id results in 404 rather than exception page
performance based on traditional elo rating
fixed @ (broadcast commands)
added reports to penalty list and profile
2018-05-24 14:48:57 -05:00
RaidMax
36d493f05b update file localizations
update custom callbacks
add server count to master
add most played to token list
2018-05-21 16:09:27 -05:00
RaidMax
be68335f70 update change tracking and elo
master shows monitoring server count
master can provide individual localizations
2018-05-20 21:35:56 -05:00
RaidMax
4d585e6ab2 set default elo rating
maybe fix deadlock again :c
changed "skill" to Performance (Skill + Elo / 2)
2018-05-17 18:31:58 -05:00
RaidMax
4006c09045 add most played command
hopefully fixed thread lock?
started work on elo rating
2018-05-15 23:57:37 -05:00
RaidMax
699c19cd4b adding Cod4 support (for steam GUID is truncated to 16 characters)
exit properly whoops
add all linked accounts to drop down
consolidate linked admin accounts to the most recently seen one
limited some waits to 5s to hopefully prevent a rare thread lock
2018-05-14 12:55:10 -05:00
RaidMax
6e5501b32d fix T6 reading
add WaW support
fix stats threading
2018-05-10 23:52:20 -05:00
RaidMax
e964013700 lots of fixes :) 2018-05-10 00:34:29 -05:00
RaidMax
9ff7f39e8d SPM fix for negative/teamdamage
added localization as downloaded from the Master API
interupted network communication no longer treated as unknown exception
topstats prints the right message if no one qualifies
angle adjustments
move unflag to seperate command
2018-05-07 23:58:46 -05:00
RaidMax
e8dff01c41 re-added the kill server command (can only be used if run as admin)
less warns when using a disposed socket
topstats added to tokens as {{TOPSTATS}}
fixed topstats reporting for only a single server
added fix to iw4 regex for negative score
tokens now support multiple lines (using Environment.NewLine to separate)
localization includes culture again
2018-05-05 15:36:26 -05:00
RaidMax
3092a529e9 add penalties for angle info
queue Tell/Say to prevent plugins from throwing exception when server is offlline
fixed CPU usage issue over time
sort penalties by type on webfront
2018-05-03 23:22:10 -05:00
RaidMax
f442f251f6 more stat SPM fixes
prevent null say event from executing when exiting
adjusted rcon and socket timeout
fixed bug with login/setpassword not working after claiming ownership
2018-05-03 00:25:49 -05:00
RaidMax
3a463be7f8 Profanity deterrent kick players with offensive names
status parsing with Regex in IW4 is much cleaner
fixed tempban not always kicking
made plugin event tasks parallel
2018-04-29 15:44:04 -05:00
RaidMax
35e7f57156 fixed up IW5 parser with new event system
changed login alias to li (duplicate)
fixed crashing bug in generic repo
fixed anonymous name in access to web console
2018-04-28 20:11:13 -05:00
RaidMax
8071fb37bc SPM and skill is rounded in profile now
fixed web console not waiting for reponse
fixed password not saving over time
web users level update properly now when promoted/demoted
2018-04-28 16:39:45 -05:00
RaidMax
bb90a807b7 moved heartbeat to timer instead of manual task/thread
GameEventHandler uses ConcurrentQueue for events
exception handlers for events and log reading
added IW4ScriptCommands plugin
fixed stats
lots of little fixes
2018-04-28 00:22:18 -05:00
RaidMax
2c2c442ba7 updated portuguese translation
fixed issue with locale when no config present
changed kick color on webfront
aliased owner to iamgod (for b3 familiar users)
hopefully fixed stats issue
added T5M (V2 BO2) support
made dvar grab at beginning minimal to prevent throttling on older CODS
2018-04-26 19:19:42 -05:00
RaidMax
b6c979beba fixed base controller Manager being null
fixed log reading duplicates with new event processing
added portuguese translation
2018-04-26 15:26:03 -05:00
RaidMax
99390f1f35 fixed issue with status response erroring when incorrect length
view angle vector parse fail is now a handled exception
change local host check to byte array to make it faster than comparing string
kick command now requires moderator level or higher
tempban now requires administrator level or higher
hopefully fixed negative SPM bug
pipelined the events and consolidated them to run through GameEventHandler
uniform console colors
2018-04-26 01:13:04 -05:00
RaidMax
ece519251a added MySQL support
fixed login bug
IW3 official support
2018-04-25 01:38:59 -05:00
RaidMax
0e3d280595 more localization
fixed issue with IW4 parser not reading map changes properly
2018-04-24 17:01:27 -05:00
RaidMax
5dfaa4ebd6 update projects to .NET Core 2.0.7
added instance and client count to api page
removed vestigial ConfigGenerator
2018-04-23 16:03:50 -05:00
RaidMax
7c691c2327 support UTF8 in log files
sayteam registered as say event
updated readme
2018-04-19 17:52:48 -05:00
RaidMax
438718507b more api tweaks
removed WebfrontSettings
IW4MAdminSettings are only generated when the file does not exist, placeholder values stored in DefaultSettings.json
2018-04-19 00:48:14 -05:00
RaidMax
2fc2109a2e started work on T6M parsing rest api
fixed bug in login program preventing regular users from executing commands
make log reading async and changed encoding to UTF7
2018-04-15 20:27:43 -05:00
RaidMax
cd2bbfb3d4 Added login plugin 2018-04-13 23:51:38 -05:00
RaidMax
4caa4655e2 abstracting rcon parsing and event parsing
changed Event to GameEvent
finally fixed the stats NaN
check ip for bans
consolidated console, profile, and logout into dropdown
make sure game is iw4 before using :^ in say
fix pm not showing from name if in web console
show time left of temban on profile
2018-04-13 01:32:30 -05:00
RaidMax
827e69f70a fixed loader offset
some stat stuff still not working
made seperate parsers
2018-04-11 17:24:21 -05:00
RaidMax
9fc33b19c4 build events for shared library
added bower and nuget package
2018-04-10 20:08:14 -05:00
RaidMax
96e09e7895 migrated Profanty Determent plugin 2018-04-10 19:36:28 -05:00
RaidMax
1a50391bfe exit works correctly again
changes to rcon for T6M
hopefully fixed some stat issues (spm and database errors)
2018-04-10 19:25:44 -05:00
RaidMax
d1283b96a1 fixed GetHashCode
fixed TopStats
restrict search to minimum 3 characters
2018-04-10 01:38:18 -05:00
RaidMax
c2a3cf0d15 fixed minification and bundling
template tweaks
2018-04-09 22:33:42 -05:00
RaidMax
d233b8cb50 migrate welcome plugin to .NET Core 2.0
more fixes to stats database for migration
last connection set when client connects and disconnects
update GeoIP datatbase
2018-04-09 14:17:10 -05:00
RaidMax
718087309c migrating Stats to .Net Core 2
moved buildscripts to application
added publish profile
2018-04-08 16:50:58 -05:00
RaidMax
164f121d22 rcon command formatted to work in linux
fixes to work with mono
2018-04-07 14:49:00 -05:00
RaidMax
466b273736 removing app.config and web.config and putting in code
starting support for mysql (for linux)
2018-04-06 19:15:17 -05:00
RaidMax
6d8d021b16 auth cookie expires after 30 days
only check hit offset when distance > 3 meters
fix null reference on unauthorized user
fixed stats not showing on profile if anticheat disabled
server client history turns red server is unresponsive
2018-04-04 23:38:45 -05:00
RaidMax
2952e307b2 tweaked rcon throttle rate/made async
increased cutoff for server overview messages
dont print message if timed out
2018-04-02 00:25:06 -05:00
RaidMax
1bdf4e63fc profanity determent actually reads the configuration enable setting :P
removed unneeded semi colon in template
fixed accidentally truncating last character of message in activity
2018-03-29 23:13:40 -05:00
RaidMax
25cefb8b6a removed old plugins
added v0.1 of profanity determent plugin
2018-03-28 23:40:57 -05:00
RaidMax
9db8ad80ef fixed bug with lifetime hit ratio causing erroneous ban
ip lookup on profile shows error if failed
truncate chat messages over 50 characters
removed html raw on client messages :c
show client rank colors on server overview if authorized
break long messages on profile page
prevent masked status showing up to non privileged users in webfront
2018-03-28 22:01:09 -05:00
RaidMax
233aeeb12f added moment for parsing dates in profile timeline
fixed bug of duplicate penalties
fixed showing timeline date for non events
refresh player count on server overview
fix refresh privileged users on map load
fix 1h showing on tempban if manually specified
2018-03-27 19:27:01 -05:00
RaidMax
a07ce112b0 ban/unban buttons added to profile
several css tweaks
changed administratorIPs to PrivilegedClients
added time step references to profile page
2018-03-26 23:54:20 -05:00
RaidMax
979b1f2310 fixed initialization error when no map set exists in config
fixed discord link showing when no invite specified
OpenGraph image set to absolute url
more changes to killcallback and logging
fixed some angle conversion stuff
2018-03-25 23:51:25 -05:00
RaidMax
77bf0710df Added AfterPublish commands to copy files to the right directory on publish
fixed profile name not being centered if no aliases
removed old build event command lines
2018-03-24 23:32:54 -05:00
RaidMax
88f31bc78c removed reload command
prevent control characters from being used in name
added MOD_HEAD_SHOT to hit location increment
css fix for alias dropdown
testing view angle analysis
2018-03-22 13:50:09 -05:00
RaidMax
f7b41537d7 fixed issue with not escaping regex for validating commands 2018-03-18 21:25:11 -05:00
RaidMax
1ac7956c22 more configuration changes,
fixed issue with not escaping regex for validating commands
2018-03-18 21:24:06 -05:00
RaidMax
c1a1d65261 cleaned up configuration files to use appsettings 2018-03-14 00:36:25 -05:00
RaidMax
e974de8e63 vpn check updates, fixed some issues,
"masked" status is now sensitive
discord link in webfront if configured
2018-03-13 16:30:22 -05:00
RaidMax
5c0aa7d14f changes and vpn checking 2018-03-09 02:01:12 -06:00
RaidMax
3c5173eaa4 boop 2018-03-06 12:33:07 -06:00
RaidMax
1adf3ceb3c the meats 2018-03-06 01:22:19 -06:00
RaidMax
6fa466fdf8 commands aren't logged in chat
a lot of stuff
2018-03-06 01:21:09 -06:00
RaidMax
8fe2b084d7 tweaked the custom callbacks and added two new fields that are logged
prevent script kill events with no valid origin or target from being triggered
2018-02-27 22:19:54 -06:00
RaidMax
7c0fbb1896 Moved application into webfront core project 2018-02-27 21:27:23 -06:00
RaidMax
52cc5a30e6 kick clients with default name or an inuse name
fixed regular expression not being escaped when matching names
fixed reset stats
fixed duplicate kills
2018-02-26 22:24:19 -06:00
RaidMax
442569b339 fixed !setlevel
fixed previous alias displayed on welcome announcement
fixed duplicate events on profile page
tweaked display of non event meta on mobile
you can view other's stats from the webconsole
penalties show privileged client's level
don't have commands to chat history
2018-02-23 23:56:03 -06:00
RaidMax
20994f693c web front design tweaks and favicon added 2018-02-22 00:06:21 -06:00
RaidMax
3f82ecacfc migrated to ASP.Net Core 2018-02-21 19:29:23 -06:00
RaidMax
c41949588c Player search not showing duplicates anymore
removed extra information on player search
fixed kdr innaccuracy on profile page
shortened cache-length
2018-02-16 22:24:03 -06:00
RaidMax
2842d77948 fixes to get closer to a release 2018-02-15 22:01:28 -06:00
RaidMax
c599d8ef20 added meta property and service for clients
started workign on a new profile page for clients
2018-02-14 13:01:26 -06:00
RaidMax
d2ead61061 Moved the welcome plugin announcements into the plugin configuration
EF optimizations for webfront requests
removed FindAll command and moved it's functionality into find
fixed undefined link on admin page
2018-02-11 19:17:20 -06:00
RaidMax
1dbacd2188 added 'none' and extra m16 variants to weapon list
moved killstreak/deathstreak messages into configuration file
cleaned up configuration manager
fixed misc startup issue and threading
added more importing stuff
network id is a ulong now
ip str is now ip
added time played (per server)
2018-02-10 22:33:42 -06:00
RaidMax
d331d998c0 Stats thread safe
Cleaned up WebService class and shutdown
reimped stats and topstats
moved things out of stats into main code
2018-02-10 00:26:38 -06:00
RaidMax
b9900707b5 More stats polishing
fixed player specification for commands with multiple words
2018-02-09 01:21:25 -06:00
RaidMax
850d9e8c1a Fixed non player killstreak kills counting as suicide
(custom callbacks)
RCON tweaks to hopefully prevent RCON flooding
Stats reimp
added IW4x extra weapons
2018-02-08 01:23:45 -06:00
RaidMax
0b62cba52a Add libraries for EntityFramework
Stats plugin work
Allow plugins to dynamically add EF classes to the context
2018-02-06 23:19:06 -06:00
RaidMax
8ce8db5f30 More EF Changes.
Added DB importer
2017-11-29 18:35:50 -06:00
RaidMax
23eb641113 Moved from SQLITE to EntityFramework.
Lots of things are broken!
2017-11-25 19:29:58 -06:00
RaidMax
9a85b9c4c2 Re added mask command
Prune confirms completion
Findall display previous name
confirmation message sent after kick
tempban/ban confirmation wording changes
players page is now paginated
2017-11-18 00:59:37 -06:00
RaidMax
cdeb7e8eaf Finally stopped the "error on character" printout (removed console.writeline in Kayak submodule)
Fixed console execute button cascading on IE/Edge
Fixed reports truncating reason if space in target name
If multiple matches are found when finding a player, a list of matches is shown
Reallowed special characters in names/chat
stats command player isn't required
Added prune command
2017-11-16 17:09:19 -06:00
RaidMax
a56f386644 Added CommandArgument class to generate syntax for commands. changed Command constructor
tweaked help command
/pubbans is working properly now
plugins properties changed to expression
2017-11-15 15:04:13 -06:00
RaidMax
89381bcc7d Added logger instance to database class, more informative fail messages.
Logs all HTTP requests
2017-11-14 15:36:55 -06:00
RaidMax
3ccd0013b4 Version 1.5
Updated Readme
2017-11-13 17:17:10 -06:00
RaidMax
e64a216cc0 Miscellanous fixes 2017-11-13 15:58:23 -06:00
RaidMax
07e3c61e98 Chat history stuff
fixed kills not saving
2017-11-04 18:42:31 -05:00
RaidMax
308427e662 added chat history stuff 2017-11-02 17:20:10 -05:00
RaidMax
9699f7c3f1 changed player graph update interval to every 5 minutes
hopefully fixed skipping the logging of Kayak library issue.
I'm an idiot, 59 in playerhistory, not 60
added IW4 callback gsc for custom scriptkills.
Fixed duplicate death events
Trusted group can be enabled/disabled with !enable/disabletrusted
2017-11-02 11:49:45 -05:00
RaidMax
c19d6e98f5 Added IManager parameter to IPlugin.OnLoadAsync 2017-10-16 22:47:41 -05:00
RaidMax
4c813b18d6 removed code that mysteriously caused player count to be inaccurate.
fixed unrepresentable datetime when minute rounded to 60 (forgot to copy changes to release code)

fixed the player graph render time (apparently canvasjs doesn't like big numbers

hopefully fixed duplicate 'stats' pages from appearing.
2017-10-15 20:40:27 -05:00
RaidMax
0bdec1147b Fixed FastRestart invalid dvar exception
Fixed decodeURI issue in messageboard
Removed debug message in stats plugin
2017-10-11 16:49:02 -05:00
RaidMax
d8b19f289a made the graphs load faster
fixed issues with stats page
made the pages json request faster
2017-10-04 18:01:04 -05:00
RaidMax
9758e72f6b fixed misc issues and added stats page to webfront 2017-10-03 18:17:35 -05:00
RaidMax
4cddefd542 -reconfigured solution and projects to be correct debug/release and files copy properly
-started working on more advanced statistics
2017-09-29 21:42:24 -05:00
RaidMax
8d52d7ddc5 -added back player history graphs (past 12 hours every 15 minutes)
-fixed issue with configurationmanager files and threading
-servers on webfront listed in descending player count
-fixed resolution of tempban times from console feedback
-Added tests plugin to simulate functionality
2017-09-27 15:07:43 -05:00
RaidMax
9227335d25 -removes flag penality when unflagging a player
-fixed 'just now ago' on webfront
-webfront playerlist level colors are hidden to non admin users
-tempban length can now be specified (<int>m, <int>h, <int>d,  <int>y)
2017-08-23 17:29:48 -05:00
RaidMax
e7df314435 Merging 2017-06-19 19:22:27 -05:00
RaidMax
4007e6d196 Changed some assembly properties. 2017-06-19 16:46:31 -04:00
RaidMax
7dfc2bbc1b I apparently initialized the commands for each server, which result in 114 commands being added. That is now fixed.
Hopefully this is the final fix for chat remaining on empty servers. (order matters!)
Configuration setting to allow multiple owners.
Fixed setlevel issues.
Organized Server class variables
2017-06-19 13:58:01 -04:00
RaidMax
4f6fb04563 Fixed a missing word in the welcome plugin 2017-06-18 21:22:50 -05:00
RaidMax
622a0a8ddc Fixed GetClientByName to match portions again.
Player specification can include "quotes"
2017-06-16 17:35:51 -04:00
RaidMax
2dc8f55e7c Reverted some of plugin method signatures as I realized it didn't really make sense. 2017-06-13 18:33:47 -04:00
RaidMax
45cb985701 Added Configuration manager class 2017-06-12 19:24:12 -05:00
RaidMax
5d1c9bd218 More cleanup
project renaming
moved PluginImporter to SharedLibrary
config writer abstracted for plugins
2017-06-12 17:47:31 -04:00
RaidMax
0ef306a60c Cleaned up some code and adhered closer to the Microsoft code standards. 2017-06-12 13:50:00 -04:00
RaidMax
25b3e3abc1 Moved plugins to a seperate folder
Uncapped the search result limit for !find
2017-06-07 19:59:59 -05:00