Commit Graph

542 Commits

Author SHA1 Message Date
RaidMax
2e6889d9bb implement RSS feed in auto messages for issue #53
modified automessages to use async mesthods instead of synchronous
2019-02-18 19:30:38 -06:00
RaidMax
9c4d23f0b4 enhancement for issue #63 2019-02-17 18:48:40 -06:00
RaidMax
b4e3e8526a fix for issue #66 2019-02-17 13:16:48 -06:00
RaidMax
e3944fb8c2 add web project for stats to fix bug with pre compiled razor templates 2019-02-16 17:18:50 -06:00
RaidMax
40f1697c97 fix damage event not including log line
complete initiall implementation for "2FA"
issue #52
issue #66
2019-02-16 15:04:40 -06:00
RaidMax
2bbf2988da update application version 2019-02-15 22:20:45 -06:00
RaidMax
5e36bf4316 begin implementation of token authentication
replacing password authentication ingame
precompile views for webfront
issue #66
issue #52
2019-02-15 22:19:59 -06:00
RaidMax
2260d8974d update master to allow IW5 to pass validation
include version set on manual parser selection
update projects to .NET Core 2.2
add middleware to support ip whitelisting
(EnableWebfrontConnectionWhitelist and WebfrontConnectionWhitelist)
issue #59
2019-02-12 20:34:29 -06:00
RaidMax
5e04274da6 actually fix the encoding issue 2019-02-10 20:05:50 -06:00
RaidMax
6d2e6aee4f update application version 2019-02-09 21:26:39 -06:00
RaidMax
9e74c42246 fix small bug with log paths 2019-02-09 21:24:54 -06:00
RaidMax
dea5b3f954 fix reading PT6 having signed decimal GUID in log
fix  alternative encoding character converting
allow more paths for game log server
add localization for unknown ips in welcome plugin
add gamelog server uri to support game log server on games that must supply manual log path
misc fixes
2019-02-09 15:35:13 -06:00
RaidMax
7c6419a16a finish cod4x parser
add IW3 map names
2019-02-06 20:12:35 -06:00
RaidMax
0194196a33 update application version 2019-02-05 18:06:14 -06:00
RaidMax
044991272f update parsers to include game name
prompt to enter log path if game doesn't generate
2019-02-05 18:02:45 -06:00
RaidMax
f3290cf066 move IW4x parser out of code
add CoD4x parser
2019-02-05 11:14:43 -06:00
RaidMax
29eedea093 fix IW4x regression error with alternative encodings
add parser selection to server config setup
2019-02-04 19:38:24 -06:00
RaidMax
ce02f5dd68 Move T6 parser to javascript parser 2019-02-03 20:47:05 -06:00
RaidMax
e6bfa408f8 move IW3 parser to javascript 2019-02-02 20:19:24 -06:00
RaidMax
0a1dc46760 Add commenting for parsers
rename IW4*Parser to Base*Parser
2019-02-02 19:40:37 -06:00
RaidMax
a456fab0e5 Increment version #
Add TeknoMW3 parser file
2019-02-02 19:11:34 -06:00
RaidMax
3e5282df87 Finish preliminary parser for TeknoMW3 2019-02-02 18:54:30 -06:00
RaidMax
59e0072744 Finish dynamic dvar parsing for IW4x 2019-02-01 19:49:25 -06:00
RaidMax
f1dd4f7c7f Fix IP parsing bug introduced with IW4Parser
Additional fix for Webfront Index OoB on _ClientActivity
2019-01-28 18:21:56 -06:00
RaidMax
760d3026ce Fixes for PR 2.3.4.0 2019-01-27 19:45:35 -06:00
RaidMax
07df6dbf79 Update version number and small plugin fix 2019-01-27 18:54:18 -06:00
RaidMax
ca535019c6 Finish RCON dynamic parser impl
Fix configuration generation bug
2019-01-27 18:41:54 -06:00
RaidMax
e6154822f6 Implement more dynamic parser stuff 2019-01-27 16:40:08 -06:00
RaidMax
7a6dccc26a Fix bug with webfront spamming issues when running
Remove IW5 parser
Begin implementation of dynamic parsers
2019-01-26 20:33:37 -06:00
RaidMax
08c883e0ff fix duplicate bot welcomes
fix prompt bool incorrect default value
rename GameEvent.Remote to GameEvent.IsRemote
include NetworkId in webfront claims
fix non descript error message appearing when something fails and localization is not initialized
2019-01-03 14:39:22 -06:00
RaidMax
aaf9eb09b6 more alias changes :(
fix flag penalty coming from wrong user
2019-01-02 18:32:39 -06:00
RaidMax
7b75c35c9b fix aliases for real (hopefully)
fix bug with flag not being applied
fix level being set based on IP instead of IP and name
2018-12-31 20:52:19 -06:00
RaidMax
07ec5cf52f update assembly version 2018-12-30 20:52:26 -06:00
RaidMax
9494a17997 update prompt utility functions for issue #65
tweaks to alias stuff
fix bug with bots not showing
2018-12-30 18:13:13 -06:00
RaidMax
5f4171ccf4 hopefulyl fix aliasing issue
bans are applied to an account if the accounts are linked but penallty on a different accounts
2018-12-29 12:43:40 -06:00
RaidMax
a10746d5ff Fix small issue with log reading 2018-12-19 19:24:31 -06:00
RaidMax
8dca05a442 Small fixes 2018-12-17 13:45:16 -06:00
RaidMax
12cf2e8247 Add server version to master api
Add IsEvadedOffense to EFPenalty
Fix remote log reading in not Windows
2018-12-16 21:16:56 -06:00
RaidMax
b77bdbe793 minor fixed 2018-12-03 19:21:13 -06:00
RaidMax
4522992c0e fix remote commands
user clientkick_for_reason for T6 parsers
small bug fixes
2018-12-01 12:17:53 -06:00
RaidMax
9d6cbee69c update stats
change server id
fIx change log server complaining when empty read
2018-11-27 18:31:48 -06:00
RaidMax
5ac8a55c72 fixes for new polling setup
update database model for alias (nullable ip)
heartbeats now send ip to master server
2018-11-25 20:00:36 -06:00
RaidMax
9bdd7d1b8a More work modifying client stuff 2018-11-07 20:30:11 -06:00
RaidMax
ed83c4c011 started work on getting the restart functionality in the gamelogserver
fix bug with unbanned players still showing as banned via lock icon
move player based stuff into client class
finally renamed Player to EFClient via partial class
don't try to run this build because it's in between stages
2018-11-05 21:01:29 -06:00
RaidMax
1779bf821d more work on skill based team balance.
added on player disconnect to custom callbacks
2018-10-25 08:14:39 -05:00
RaidMax
d50e6c8030 change penalty expiration datetime to null for perm bans
add tempban max time
allow searching for GUID
stats returns ranking as well
fix for promotion/demotion text
2018-10-15 19:51:04 -05:00
RaidMax
a58726d872 add gsc api controller for communicating with gsc
add ignore bots option
fix first localization message not working
2018-10-13 18:51:07 -05:00
RaidMax
305817d00c version 2.2 stable 2018-10-12 21:28:22 -05:00
RaidMax
65cf3566db fix publish for release
fix bug with localization issue crashing app if config is wrong
2018-10-12 18:59:17 -05:00
RaidMax
e91d076b41 curtail lost connection messages from RCon
verify still compatible with T6
fix potential null reference exception during configuration reading/setup
2018-10-10 19:22:08 -05:00
RaidMax
7caee55a7e refactored the welcome plugin to use a web api instead of a hard coded file
removed deprecated file class
don't wait for response when setting dvar/sending command in T6
potential fix for duplicate kick message in JS plugin
2018-10-08 21:15:59 -05:00
RaidMax
b289917319 update project to .net core 2.1.5
got rid of "threadsafe" stats service in stats plugin
2018-10-07 21:34:30 -05:00
RaidMax
c8366a22e5 fixed the vpn detection plugin method signature call
added some fixes for stats/ac
2018-10-06 15:31:05 -05:00
RaidMax
de902a58ac write individual server log files and main log file seperately
log writing is thread safe now
2018-10-06 11:47:14 -05:00
RaidMax
c7547f1ad5 clean up publish folder output to have a less cluttered structure.
add migration class to perform the migration on update
2018-10-05 22:10:39 -05:00
RaidMax
9d946d1bad more stability changes 2018-10-03 21:20:49 -05:00
RaidMax
f4ac815d07 hopefully finished with RCon changes.
added more tests.
fixed issues from event changes (there's most definitely still issues related to that)
2018-10-02 12:39:08 -05:00
RaidMax
7fa0b52543 more rcon tweaks, and starting on unit tests for commands bleh 2018-09-29 21:49:12 -05:00
RaidMax
d45729d7e1 clean up rcon, fix a bunch of little things 2018-09-29 14:52:22 -05:00
RaidMax
5d93e7ac57 a ton of stuff and fix migations 2018-09-23 19:45:54 -05:00
RaidMax
0f9d2e92e1 fix for issue #50 2018-09-16 17:51:11 -05:00
RaidMax
4a46abc46d add index to time sent in EFCLientMessage, so we can retrieve faster in context view
set the maximum height of the
add link to profile on client chat
move change history into a seperate service
move around AC penalty processing
2018-09-16 15:34:16 -05:00
RaidMax
98adfb12d2 update map names for IW4 (issue #48)
only check shared GUID for IW4
optimized get privileged clients query
fine-tuned the version printout to include revision numbers
2018-09-13 14:34:42 -05:00
RaidMax
a786541484 re-implemented auto-upload on publish
fixed the max length migration for MySQL
configure the python projects to be able to be published from command line
optimize find active pentalties query
add feature for issue #38
testing fix for concurrent dict access (in stats plugin)
2018-09-12 19:53:11 -05:00
RaidMax
b9086fd145 fix parsing view angles in exponential form
update RestEase  and CodePages dependencies
optimized the find by name query
add index to name
2018-09-11 14:28:37 -05:00
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
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
396e5c9215 confirmed working for linux
fixed the database access issue
2018-08-01 21:09:22 -05:00
RaidMax
4ec16d3aa2 increased max events for event api to 100
added GameInfo to EventInfo class
make sure score gets updated properly after authentication
2018-07-30 19:31:00 -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
16d7ccd590 fix parsing of certain chat messages
print out the correct exception message when a server is not responding.
prevent log reader from reading before the servers have initialized
2018-07-04 21:09:42 -05:00
RaidMax
87541c4a5a more changes to the event management.
bots ip adjusted
2018-07-01 19:30:38 -05:00
RaidMax
af6361144e moved validate command into shared library.
reworked connection system to read from log file for join/quits and authenticate later with polling
2018-06-30 20:55:16 -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
ba023ceeb5 [application] added next map command and token 2018-06-02 21:21:01 -05:00
RaidMax
e3dba96d72 [sharedlibrary] add client meta
[application] add gravatar command
2018-06-01 23:48:10 -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
897ec0d0c1 [master] make version info update live instead of requiring a restart in 2018-05-24 21:39:03 -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
a54ea3913d add translation for webfront
discord link has been genericized to social link
2018-05-05 17:52:04 -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
02ef5a0bf8 adding IW5m parsers
reduce status polling rate
adding preliminary russian localization
small rcon tweak to attempt to send custom encoded messages
removed exception handling in ConvertLong
throttled servers will still attempt to execute events
2018-04-23 00:43:48 -05:00
RaidMax
96d6b03cc5 readme updates
started working on localization
2018-04-22 15:04:18 -05:00
RaidMax
c60a1f3d33 final changes for 2.0 release 2018-04-21 17:18:20 -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
23ec72e6b6 adding master api project 2018-04-18 15:46:53 -05:00
RaidMax
9aea9e1c02 Made webfront optional for decreased ram usage
initialization should be better asynced
clean up publish folder after publish
added chevron hover icon for loading more penalties
added T6M maps to config
2018-04-16 15:31: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
2964fd71b2 fixed ping bug showing origin ping instead of target
event parser has GetGameDir
made parsers choosen more dynamically
profile shows online/offline status of client
2018-04-14 23:26:27 -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
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
63db309c5e fixed database issues caused by migration
fixed Last Connection being updated when modifying role
2018-04-08 22:12:49 -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
6d5c368954 Seperated the application back into a seperate project
webfront is just a library now
2018-04-08 13:48:40 -05:00