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

115 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
1a4e9b6b0f possible fix for remotely loaded plugins 2023-05-28 11:38:57 -05:00
RaidMax
db8510f8e6 update top level client count stats to support filtering per game 2023-04-19 19:55:33 -05:00
RaidMax
db17baea20 misc clearnup 2023-04-05 10:16:11 -05:00
RaidMax
ebe69a94ad implement new eventing system 2023-04-05 09:54:57 -05:00
RaidMax
53a6ef2ec3 update references from IP to ListenAddress 2023-04-04 22:21:18 -05:00
RaidMax
ee056139a4 remove unneeded classes 2023-04-04 21:45:33 -05:00
RaidMax
3d3a8e7027 improve threading synchronization for BaseConfigurationHandlers 2023-04-04 21:42:17 -05:00
RaidMax
d3544b4519 implement PluginV2 for script plugins 2023-04-04 18:24:13 -05:00
RaidMax
4c51d86fae add "advanced" search functionality 2023-01-23 16:38:16 -06:00
RaidMax
be17d91201 temporarily disable plugin interactions 2023-01-06 13:42:38 -06:00
RaidMax
fe0929d194 misc fixes 2022-10-25 15:39:49 -05:00
RaidMax
5112d88ce2 improve webfront command error feedback 2022-10-25 14:52:12 -05:00
RaidMax
a2ccefd89d only titleize single word titles on action dialogs 2022-10-25 14:03:35 -05:00
RaidMax
455759787a fix issue with random concurrency issue on interaction reaction 2022-10-24 18:57:35 -05:00
RaidMax
d81e3e4261 clean up some repeated script plugin error handling 2022-10-24 18:57:35 -05:00
RaidMax
7b2cd19fc1 harden up the script timer/game interface dvar operations for multithreading 2022-10-23 14:03:33 -05:00
RaidMax
5233f9d95c attempt at resolving game interface threading issues (maybe) 2022-10-17 10:45:42 -05:00
RaidMax
450c8a45da add support for plugin generated pages (interactions). add disallow vpn command 2022-10-17 09:17:43 -05:00
RaidMax
a71a5d7f3b update default permissions for guest webfront users 2022-10-16 16:25:09 -05:00
RaidMax
9cc3733db7 possible improvements for game interface rcon operations 2022-10-13 13:53:28 -05:00
RaidMax
cbe3bb9269 fix argument call to interactions 2022-10-13 10:26:22 -05:00
RaidMax
8502ae47aa update interactions to allow building custom forms 2022-10-12 21:06:18 -05:00
RaidMax
8d8a8d869a implement profile interaction registration through plugins (mute and vpn detection implementation) 2022-09-08 15:03:38 -05:00
RaidMax
423cc57986 fix issues with game interface reconnecting after rcon connection lost 2022-08-26 12:07:43 -05:00
RaidMax
302475b1b5 make sure color tokens are mapped for kick messages 2022-07-23 13:48:46 -05:00
RaidMax
eaac12fa75 update to game interface/integration for persistent stat data 2022-07-13 16:10:16 -05:00
RaidMax
45011d9ff9 fix token auth issue 2022-06-16 10:07:03 -05:00
RaidMax
16d295024e update schema to support unique guid + game combinations 2022-06-15 19:37:34 -05:00
RaidMax
ada98e381e don't publish disconnect event if no client id 2022-06-14 15:00:23 -05:00
RaidMax
2af3e61fe5 fix memory/database leak with ranked player count cache 2022-06-12 12:19:32 -05:00
RaidMax
345c415c7d add total ranked client number for stats pages 2022-06-09 09:56:41 -05:00
RaidMax
4181bf1da7 fix intermittent issue with game interface during connection loss with servers 2022-06-01 11:25:11 -05:00
RaidMax
d12c15253e fix rcon issue 2022-04-25 15:39:30 -05:00
RaidMax
d5b4c60e5a huge commit for webfront facelift 2022-04-19 18:43:58 -05:00
RaidMax
95f81f811e reduce logging for meta lookup 2022-04-06 14:08:00 -05:00
RaidMax
d0670760fb improve server clientcount/activity graph on server overview 2022-03-29 16:42:53 -05:00
RaidMax
58c9092888 fix meta filter on profile 2022-03-24 16:23:40 -05:00
RaidMax
9bbc372453 add vpn whitelist command 2022-03-23 13:34:04 -05:00
RaidMax
7a1ed90f06 mark old meta service as obsolete 2022-03-23 11:31:53 -05:00
RaidMax
bae415c81b implement metaservice v2 2022-03-23 08:43:57 -05:00
RaidMax
663de4d37f refactor some game interface plugin approach 2022-03-07 19:59:34 -06:00
RaidMax
0ff67c92a8 unescape utf characters when saving configs 2022-02-25 09:44:28 -06:00
RaidMax
3fb0e43d42 improve error output when configuration is invalid 2022-02-15 20:16:21 -06:00
RaidMax
96b53ada1b game interface improvements 2022-02-13 21:38:40 -06:00
RaidMax
269afc1abc add set client meta and inc/dec to framework 2022-02-10 16:50:45 -06:00
RaidMax
ef6beb8904 more integration tweaks 2022-02-09 14:45:28 -06:00
RaidMax
8989b5b987 fix issue with plugin registration 2022-02-07 22:02:50 -06:00