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

502 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
Amos
072e6da4d1
Utilise Minutes in TempBan for under 1 hour bans. (#362)
* Update tempban command to use minutes instead of hours

The duration calculation for tempbans now uses minutes rather than hours for greater precision. This change ensures better alignment with user expectations and configurations in smaller timeframes.

* Update regex patterns to enforce stricter input validation

Adjusted regex in `ParseTimespan` and `TempBanCommand` to ensure input starts with 1-5 numeric characters, improving validation. This prevents malformed user inputs and enhances overall command reliability.

* \w includes digits. Who knew.
2025-05-11 19:13:41 -05:00
RaidMax
1da28803da
fix missing server unreachable overlay in server overview 2025-02-27 21:51:37 -06:00
Ayymoss
2d7819c731 Remove unnecessary imports 2024-09-06 19:20:30 -05:00
Ayymoss
3f8b2fac9e Add GameName to ClientInfoResult and ClientController
Updated `ClientInfoResult` to include a new `GameName` property. Also modified `ClientController` to handle and display this new property properly.
2024-09-06 19:20:30 -05:00
Ayymoss
5c9cfbd2c2 Add /api/client/{clientId} Endpoint
This endpoint returns general information about the client ID provided.
2024-09-06 19:20:30 -05:00
Ayymoss
0a8bbf2997 Add instance uptime to API info response
This update includes the instance uptime in the API info response.
2024-09-06 19:19:40 -05:00
Amos
ac9c26817d
Remove debug-only Razor runtime compilation setup (#340)
Resolves issues with new environment deployment for runtime namespace resolution failure.
2024-08-19 23:28:21 +01:00
Amos
5dca8717b9
Using IRemoteCommandService to handle redirect for Command Execution via API (#333) 2024-07-23 00:38:55 +01:00
RaidMax
3857c48bd2 update for BOIII parsing 2024-07-04 11:02:04 -05:00
RaidMax
eac9b8f150 remove some build warnings 2024-07-04 11:02:04 -05:00
RaidMax
9cdb2ca63e update nuget pipeline
update script
2024-06-28 16:18:42 -05:00
RaidMax
4b6f3e8851 Update nuget packages 2024-06-22 11:52:42 -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
0f135337a9 Revert primary constructor change 2024-02-17 15:38:48 -06:00
RaidMax
d325993670 Add missing permission check to interaction controller 2024-02-17 15:27:38 -06:00
RaidMax
f2c957fe71 Update csprojs to support SLC nuget building 2024-02-04 11:29:47 -06:00
RaidMax
7ecbf8544a require login for wildcard ip search 2023-09-13 22:50:37 -05:00
RaidMax
a2e5e94b02 fix some issues with chat search feature 2023-08-27 12:28:35 -05:00
RaidMax
a169653e91 add chat to advanced search 2023-08-26 22:56:37 -05:00
RaidMax
d1c09774e8 remove accidentally added files 2023-05-30 18:22:37 -05:00
RaidMax
6cee68b91e merge 2023-05-30 18:18:03 -05:00
RaidMax
3dd3f6ab2d optimize player history retrieval 2023-05-30 18:12:57 -05:00
RaidMax
55e5f4699e remove some old web components, add command line args for no-confirm (skip unreachable server prompt) and kestrel request settings 2023-05-30 14:58:17 -05:00
RaidMax
76074a9aa7 fix rule spacing on about page 2023-05-28 11:38:57 -05:00
RaidMax
fd7a7f7756 fix rule spacing on about page 2023-05-27 11:02:57 -05:00
RaidMax
7a3062f261 fix issue with help page not showing v2 commands 2023-05-14 22:46:03 -04:00
RaidMax
5050f75c9c fix clipping of context menu hovers 2023-05-01 21:37:51 -05:00
RaidMax
db8510f8e6 update top level client count stats to support filtering per game 2023-04-19 19:55:33 -05:00
RaidMax
0ca3be01d7 add server game group collapse to advanced stats 2023-04-07 21:38:41 -05:00
RaidMax
11f97d951c Add grouping for servers on top stats, live radar, and scoreboard 2023-04-07 16:23:24 -05:00
RaidMax
c1c3b163d4 remove unnecessary separator on client profile 2023-04-06 21:19:08 -05:00
RaidMax
f32949083f track private slots for webfront overview 2023-04-05 23:10:40 -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
cd98ddcb55 update controllers to use DI stat manager 2023-04-04 22:10:37 -05:00
RaidMax
d3544b4519 implement PluginV2 for script plugins 2023-04-04 18:24:13 -05:00
RaidMax
7720e5e84f fix edge case for temp mute penalties with no expiration 2023-01-24 14:43:00 -06:00
RaidMax
b1a43e04d1 fix permissions issue with search 2023-01-24 14:32:48 -06:00
RaidMax
6857de371b fix issue with default date and default order on advanced search 2023-01-23 21:23:02 -06:00
RaidMax
aecb17d188 update BuildWebCompiler to support newer SCSS functions 2023-01-23 18:33:46 -06:00
RaidMax
4c51d86fae add "advanced" search functionality 2023-01-23 16:38:16 -06:00
RaidMax
9bd467c6c7 add game name to dropdown list on web console 2022-12-22 19:37:56 -06:00
RaidMax
6206088492 fix hidden text for password protected servers on chat context 2022-12-22 19:28:59 -06: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
8e68c88ba3 Merge branch 'release/pre' of github.com:RaidMax/IW4M-Admin into release/pre 2022-10-24 21:15:29 -05:00
RaidMax
8f00959ef9 fix profile issue with no available interactions 2022-10-24 21:11:00 -05:00
Amos
7180bfe1fc
Mute Banner for Profile & Prevent Self-Target & Correctly Expire Early Unmutes (#272)
* Fix self-targeting
Remove creation of penalty on mute expiration

* Display mute penalties on profile
Expire mute penalties on unmute

* Resolves issues in code review
Added comment in ClientController.cs
Fixed order of operations in MuteManager.cs
Fixed condition in MuteManager.cs

* Fix self-targeting
Remove creation of penalty on mute expiration

* Display mute penalties on profile
Expire mute penalties on unmute

* Resolves issues in code review
Added comment in ClientController.cs
Fixed order of operations in MuteManager.cs
Fixed condition in MuteManager.cs

* Changed localisation value to be more generic
Fix null reference warning (it should never be null) (34da216)
2022-10-24 18:58:12 -05:00
RaidMax
1d6cc670d7 add unban subnet command and subnet list interaction 2022-10-24 18:57:35 -05:00