From 6bd235f3e62251d8763a552ab0042d59584de842 Mon Sep 17 00:00:00 2001 From: Darkelarious Date: Sat, 8 Mar 2025 15:56:30 +0100 Subject: 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. --- lib/MasterWebInterface/Handler/Json/JsonServerList.pm | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'lib/MasterWebInterface/Handler/Json/JsonServerList.pm') 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//>/g for values %{$_}; } # response as json data -- cgit v1.2.3