Compare commits

..

No commits in common. "main" and "v1.8.2b-zio16" have entirely different histories.

4 changed files with 74 additions and 15 deletions

View file

@ -22,7 +22,7 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
public override string ModuleName => "CS2-SimpleAdmin" + (Helper.IsDebugBuild ? " (DEBUG)" : " (RELEASE)"); public override string ModuleName => "CS2-SimpleAdmin" + (Helper.IsDebugBuild ? " (DEBUG)" : " (RELEASE)");
public override string ModuleDescription => "Simple admin plugin for Counter-Strike 2 :)"; public override string ModuleDescription => "Simple admin plugin for Counter-Strike 2 :)";
public override string ModuleAuthor => "daffyy"; public override string ModuleAuthor => "daffyy";
public override string ModuleVersion => "1.8.2b-zio17"; public override string ModuleVersion => "1.8.2b-zio16";
public override void Load(bool hotReload) public override void Load(bool hotReload)
{ {
@ -217,8 +217,8 @@ public partial class CS2_SimpleAdmin : BasePlugin, IPluginConfig<CS2_SimpleAdmin
if (!string.IsNullOrEmpty(Config.Discord.DiscordLogWebhook)) if (!string.IsNullOrEmpty(Config.Discord.DiscordLogWebhook))
DiscordWebhookClientLog = new DiscordManager(Config.Discord.DiscordLogWebhook); DiscordWebhookClientLog = new DiscordManager(Config.Discord.DiscordLogWebhook);
// zio: no update check or startup banner (upstream's PluginInfo, removed). EnableUpdateCheck if (Config.EnableUpdateCheck)
// is left in the config so existing files still load, and does nothing. Task.Run(async () => await PluginInfo.CheckVersion(ModuleVersion, Logger));
PermissionManager = new PermissionManager(DatabaseProvider); PermissionManager = new PermissionManager(DatabaseProvider);
BanManager = new BanManager(DatabaseProvider); BanManager = new BanManager(DatabaseProvider);

View file

@ -1006,6 +1006,74 @@ internal static class Helper
} }
public static class PluginInfo
{
internal static async Task CheckVersion(string localVersion, ILogger logger)
{
ShowAd(localVersion);
const string versionUrl = "https://raw.githubusercontent.com/daffyyyy/CS2-SimpleAdmin/main/CS2-SimpleAdmin/VERSION";
var client = CS2_SimpleAdmin.HttpClient;
client.Timeout = TimeSpan.FromSeconds(3);
try
{
var response = await client.GetAsync(versionUrl);
if (response.IsSuccessStatusCode)
{
var remoteVersion = await response.Content.ReadAsStringAsync();
remoteVersion = remoteVersion.Trim();
var comparisonResult = string.CompareOrdinal(localVersion, remoteVersion);
switch (comparisonResult)
{
case < 0:
logger.LogWarning("Plugin is outdated! Check https://github.com/daffyyyy/CS2-SimpleAdmin");
break;
case > 0:
logger.LogInformation("Probably dev version detected");
break;
default:
logger.LogInformation("Plugin is up to date");
break;
}
}
else
{
logger.LogWarning($"Failed to check version. Status Code: {response.StatusCode}");
}
}
catch (HttpRequestException ex)
{
logger.LogError(ex, "Failed to connect to the version server.");
}
catch (Exception ex)
{
logger.LogError(ex, "An error occurred while checking version.");
}
}
private static void ShowAd(string moduleVersion)
{
Console.WriteLine(" ");
Console.WriteLine(" _______ ___ __ __ _______ ___ _______ _______ ______ __ __ ___ __ _ ");
Console.WriteLine("| || | | |_| || || | | || _ || | | |_| || | | | | |");
Console.WriteLine("| _____|| | | || _ || | | ___|| |_| || _ || || | | |_| |");
Console.WriteLine("| |_____ | | | || |_| || | | |___ | || | | || || | | |");
Console.WriteLine("|_____ || | | || ___|| |___ | ___|| || |_| || || | | _ |");
Console.WriteLine(" _____| || | | ||_|| || | | || |___ | _ || || ||_|| || | | | | |");
Console.WriteLine("|_______||___| |_| |_||___| |_______||_______||__| |__||______| |_| |_||___| |_| |__|");
Console.WriteLine(" >> Version: " + moduleVersion);
Console.WriteLine(" >> GitHub: https://github.com/daffyyyy/CS2-SimpleAdmin");
var _m1 = new List<int> { 70,117,99,107,32,121,111,117,32,114,97,118,105,100,44,32,119,104,121,32,121,111,117,32,108,121,105,110,103,32,97,98,111,117,116,32,110,111,32,99,111,110,116,97,99,116,32,119,105,116,104,32,109,101,63,32,74,117,115,116,32,116,101,108,108,32,116,114,117,116,104,44,32,110,105,99,101,32,116,114,121,32,116,111,32,112,114,111,106,101,99,116,32,116,97,107,101,111,118,101,114 };
var _m2 = new List<int> { 32,32,58,68,32,40,97,108,108,32,119,104,111,32,116,114,105,101,100,32,116,111,32,99,111,110,116,97,99,116,32,119,105,116,104,32,109,101,44,32,106,117,115,116,32,119,114,105,116,101,32,109,101,115,115,97,103,101,32,116,111,32,109,101,32,120,68,41 };
Console.WriteLine(" >> " + new string(_m1.Select(c => (char)c).ToArray()));
Console.WriteLine(" >> " + new string(_m2.Select(c => (char)c).ToArray()));
Console.WriteLine(" ");
}
}
public class SchemaString<TSchemaClass>(TSchemaClass instance, string member) public class SchemaString<TSchemaClass>(TSchemaClass instance, string member)
: NativeObject(Schema.GetSchemaValue<nint>(instance.Handle, typeof(TSchemaClass).Name, member)) : NativeObject(Schema.GetSchemaValue<nint>(instance.Handle, typeof(TSchemaClass).Name, member))
where TSchemaClass : NativeObject where TSchemaClass : NativeObject

View file

@ -41,10 +41,6 @@ from the `build-1.8.2b` tag). Changes, all marked `zio:` in the code:
is picked, and otherwise the reply lists the matches. `css_ungag`, `css_unmute` and is picked, and otherwise the reply lists the matches. `css_ungag`, `css_unmute` and
`css_unsilence` match online players by part of the name too (upstream needed the full name), `css_unsilence` match online players by part of the name too (upstream needed the full name),
falling back to the offline search only when no one online matches. falling back to the offline search only when no one online matches.
- No startup version check or banner: upstream's `PluginInfo` (`CheckVersion`, which asked upstream's
GitHub for its `VERSION` on every load, and `ShowAd`, the console banner with two encoded lines
of personal messages) is removed. `EnableUpdateCheck` stays in the config, so existing files
still load, and does nothing.
Backported from upstream 1.9.0 (commit `530f603`), not marked `zio:`: Backported from upstream 1.9.0 (commit `530f603`), not marked `zio:`:

View file

@ -22,13 +22,8 @@ set -euo pipefail
FORGEJO_URL="https://git.zio.sh" FORGEJO_URL="https://git.zio.sh"
OWNER="cs2" OWNER="cs2"
REPO="SimpleAdmin" REPO="SimpleAdmin"
# Needs write:repository. Only uploading needs it; downloading from the public repo doesn't. From the # Placeholder - replace, or set FORGEJO_TOKEN in the environment instead. Needs write:repository.
# environment, or else from .forgejo-token in the cs2/ folder above every plugin (outside their # Only uploading needs it; downloading from the public repo doesn't. Don't commit a real token.
# repos, mode 600). Don't commit a real token.
TOKEN_FILE="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")/../../.forgejo-token"
if [[ -z "${FORGEJO_TOKEN:-}" && -r "$TOKEN_FILE" ]]; then
FORGEJO_TOKEN="$(tr -d '[:space:]' < "$TOKEN_FILE")"
fi
FORGEJO_TOKEN="${FORGEJO_TOKEN:-CHANGE_ME_FORGEJO_TOKEN}" FORGEJO_TOKEN="${FORGEJO_TOKEN:-CHANGE_ME_FORGEJO_TOKEN}"
TAG="${1:-}" TAG="${1:-}"
@ -37,7 +32,7 @@ if [[ -z "$TAG" ]]; then
exit 1 exit 1
fi fi
if [[ "$FORGEJO_TOKEN" == "CHANGE_ME_FORGEJO_TOKEN" ]]; then if [[ "$FORGEJO_TOKEN" == "CHANGE_ME_FORGEJO_TOKEN" ]]; then
echo "Set FORGEJO_TOKEN (export it, or put it in $TOKEN_FILE) first." >&2 echo "Set FORGEJO_TOKEN (edit release.sh or export it) first." >&2
exit 1 exit 1
fi fi
for tool in podman jq curl git; do for tool in podman jq curl git; do