aboutsummaryrefslogtreecommitdiff
path: root/lib/MasterWebInterface/Handler/Json/JsonServerList.pm
diff options
context:
space:
mode:
authorDarkelarious <github@333networks.com>2025-03-08 15:56:30 +0100
committerDarkelarious <github@333networks.com>2025-03-08 15:56:30 +0100
commit6bd235f3e62251d8763a552ab0042d59584de842 (patch)
tree2ff943b6ddb8aa8980a3ed1fb4a1f869fc787d1c /lib/MasterWebInterface/Handler/Json/JsonServerList.pm
parent318a5a20a930192df788dbac54b1f9c60e1b98b8 (diff)
downloadWebInterface-Perl-6bd235f3e62251d8763a552ab0042d59584de842.tar.gz
WebInterface-Perl-6bd235f3e62251d8763a552ab0042d59584de842.zip
Metadata and update to hotfix 4.
Display thumbnails / snippets in 3rd party apps (like discord) and add map thumbnails + icons for multiple games. Minor fixes/optimisations.
Diffstat (limited to 'lib/MasterWebInterface/Handler/Json/JsonServerList.pm')
-rwxr-xr-xlib/MasterWebInterface/Handler/Json/JsonServerList.pm17
1 files changed, 15 insertions, 2 deletions
diff --git a/lib/MasterWebInterface/Handler/Json/JsonServerList.pm b/lib/MasterWebInterface/Handler/Json/JsonServerList.pm
index e108066..d02455f 100755
--- a/lib/MasterWebInterface/Handler/Json/JsonServerList.pm
+++ b/lib/MasterWebInterface/Handler/Json/JsonServerList.pm
@@ -21,10 +21,16 @@ sub serverlist_json
{ get => 's', required => 0, default => 'gamename', enum => [qw|hostname gamename country added gametype numplayers mapname|] },
{ get => 'o', required => 0, default => 'a', enum => ['a','d'] },
{ get => 'p', required => 0, default => 1, template => 'page' },
- { get => 'r', required => 0, default => 100, template => 'page' },
+ { get => 'r', required => 0, default => 50, template => 'page' },
{ get => 'q', required => 0, default => '', maxlength => 90 },
{ get => 'g', required => 0, default => '', maxlength => 90 },
{ get => 'a', required => 0, default => '', maxlength => 200 },
+
+ #{ get => 'gamename', required => 0, default => '', maxlength => 90 }, # gamename in advanced search
+ { get => 'gametype', required => 0, default => '', maxlength => 90 }, # gametype
+ { get => 'hostname', required => 0, default => '', maxlength => 90 }, # hostname (replaces q in advanced search)
+ { get => 'mapname', required => 0, default => '', maxlength => 90 }, # mapname
+ { get => 'country', required => 0, default => '', maxlength => 90 }, # country (code)
);
# allow all outside sources to access the json api
@@ -56,13 +62,20 @@ sub serverlist_json
# parse extra request parameters for ubrowser.333networks.com
($f->{a} =~ m/popserv/ig) ? (popserv => 1) : (),
($f->{a} =~ m/utdemo/ig) ? (utdemo => 1) : (),
+
+ gametype => $f->{gametype},
+ hostname => $f->{hostname},
+ mapname => $f->{mapname},
+ country => $f->{country},
);
# get total number of players in selected page(s)
my $pl = 0;
for (@{$list})
{
- $pl += $_->{numplayers}
+ $pl += $_->{numplayers};
+ s/</&lt;/g for values %{$_};
+ s/>/&gt;/g for values %{$_};
}
# response as json data