1
0
mirror of https://github.com/RaidMax/IW4M-Admin.git synced 2025-06-07 21:58:06 -05:00

30 Commits

Author SHA1 Message Date
RaidMax
3e186ca07a
Add ResolvedExternalIPAddress to API and Master Communication (#365)
* Feature: Add ResolvedExternalIPAddress to API and Master Communication

This commit introduces the `ResolvedExternalIPAddress` property to enhance IP address reporting.

1.  **Server API (`WebfrontCore/Controllers/API/Server.cs`):**
    The `ResolvedExternalIPAddress` property has been added to the JSON
    responses for the `/api/server` endpoints. This property is nullable
    and contains the IPv4 string value of the manager's external IP address
    if the server's resolved IP endpoint is an internal address. Otherwise,
    it is null.

2.  **Master Server Communication (`MasterCommunication.cs` and `ApiServer.cs`):**
    - The `ApiServer` DTO (in `Application/API/Master/ApiServer.cs`) now
      includes the `ResolvedExternalIPAddress` property (serialized as
      `resolved_external_ip_address`).
    - The `UploadStatus` method in `Application/Misc/MasterCommunication.cs`
      now populates this property for each server being reported to the
      master server, using the same logic (external IP if server's own
      resolved IP is internal).

This provides more comprehensive IP address information both through the
web API and to the master server.

---------

Co-authored-by: google-labs-jules[bot] <161369871+google-labs-jules[bot]@users.noreply.github.com>
2025-05-24 15:36:24 -05:00
RaidMax
63e1f31c21 fix remote plugin loading 2024-06-29 11:14:09 -05:00
RaidMax
34af7a332c
Update projects to .net 8 (#326)
* Update codebase to target .NET 8.0 and improve JSON serialization

This commit switches our target framework from .NET 6.0 to .NET 8.0 and replaces Newtonsoft.Json with System.Text.Json for serialization. The JsonConverter classes have been updated to support the new JSON model and some enhancements were applied to the codebase such as fixing a command property and updating various package references.

* Align with Develop

* Update SharedLibraryCore package version

The version of the SharedLibraryCore package reference has been updated across multiple projects from '2024.2.4.85' to '2024.2.5.9'. Meanwhile, version within SharedLibraryCore.csproj has been changed from '2024.02.04.085' to '2024.01.01.1'. Changes also include removal of .NET 8 requirement notice and reenabling of status upload to master communicator.

* Update properties in IRConParser and IRConParserConfiguration to be settable

The properties in the `IRConParser` and `IRConParserConfiguration` interfaces were updated to include setters. Previously, the properties in these interfaces were read-only. This change allows for the modifications and extensions of properties defined, thereby bolstering flexibility for the handling of games and parsers.

* Replace RestEase with Refit in API usage

Refit has been implemented as a replacement for RestEase in all API calls. As such, all related code, parameters and imports have been adjusted to function with Refit. Logic has also been added to handle certain Refit-specific behaviours. Occurrences of the RestEase package have been removed from the project.

* Enable auto-redirect in HttpClient

The HttpClient instance used in Application/Main.cs has been modified to automatically follow redirect responses. This was accomplished by adding "AllowAutoRedirect = true" to the HttpClientHandler used when creating the HttpClient.

---------

Co-authored-by: Amos <amos2580@hotmail.co.uk>
2024-06-22 10:19:06 -05:00
RaidMax
d3544b4519 implement PluginV2 for script plugins 2023-04-04 18:24:13 -05:00
RaidMax
aea27d7e2c post webfront url to master 2022-01-26 15:20:10 -06:00
RaidMax
04fe6836c6 refactor logging in pretty big overhaul 2020-11-11 17:35:55 -06:00
RaidMax
a8684988f7 implement remote assembly loading 2020-10-24 15:02:38 -05:00
RaidMax
9b9c1bd851 support custom master url
refactor api instatation to allow custom master url in config
2020-06-30 16:39:32 -05:00
RaidMax
e5e0835f8a updates to support new master versioning
make sure game files are copied correctly in build output
2020-01-11 20:32:27 -06:00
RaidMax
d6a5c27c60 optimize index for rating history
update log server to prevent delays or missed information
2019-07-24 19:15:07 -05:00
RaidMax
3ffb163caf convert GetPort to auto property
don't force disconnect player if someone is "in" their spot
increase gamelogserver max time before purge
2019-05-31 10:17:01 -05:00
RaidMax
0e91205931 few more small fixes
complete join button on webfront
update for 2.2.6.0
2019-04-08 12:29:48 -05:00
RaidMax
9f92b64135 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
08d497153a update stats
change server id
fIx change log server complaining when empty read
2018-11-27 18:31:48 -06:00
RaidMax
df5fbba22c 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
8a721bb53a add game log server 2018-09-06 13:25:58 -05:00
RaidMax
18aa6e85fc 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
9d79a8e090 add localized level names
intellisense suggestion junk
2018-08-03 21:11:58 -05:00
RaidMax
def22f20fb 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
f73ddf5ad1 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
31744ce876 update change tracking and elo
master shows monitoring server count
master can provide individual localizations
2018-05-20 21:35:56 -05:00
RaidMax
a0ac6c5dc9 add most played command
hopefully fixed thread lock?
started work on elo rating
2018-05-15 23:57:37 -05:00
RaidMax
5d0d57bbd2 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
140788847d 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
df30fee5bb 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
5e229b90be more localization
fixed issue with IW4 parser not reading map changes properly
2018-04-24 17:01:27 -05:00
RaidMax
8e9d8e46c7 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
2f336c1291 adding master api project 2018-04-18 15:46:53 -05:00
RaidMax
b9c11d48c2 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
d0c2a86ce8 migrating Stats to .Net Core 2
moved buildscripts to application
added publish profile
2018-04-08 16:50:58 -05:00