diff options
| author | Darkelarious <darkelarious@333networks.com> | 2017-08-22 11:00:13 +0200 |
|---|---|---|
| committer | Darkelarious <darkelarious@333networks.com> | 2017-08-22 11:00:13 +0200 |
| commit | c06322da38b4cb76b2036af1a5448083adb8ff20 (patch) | |
| tree | 189c9f0fec3325be927f763aba23cf18aa68cfe4 /lib/MasterServer/Database/SQLite/dbUTServerInfo.pm | |
| parent | e0d727670cbeda0db0812c5c9efc503d75f8d0a4 (diff) | |
| download | MasterServer-Perl-c06322da38b4cb76b2036af1a5448083adb8ff20.tar.gz MasterServer-Perl-c06322da38b4cb76b2036af1a5448083adb8ff20.zip | |
new server checking mechanism, complete recode of major functionsv2.4.0
Diffstat (limited to 'lib/MasterServer/Database/SQLite/dbUTServerInfo.pm')
| -rwxr-xr-x | lib/MasterServer/Database/SQLite/dbUTServerInfo.pm | 117 |
1 files changed, 1 insertions, 116 deletions
diff --git a/lib/MasterServer/Database/SQLite/dbUTServerInfo.pm b/lib/MasterServer/Database/SQLite/dbUTServerInfo.pm index 119900b..5a579ac 100755 --- a/lib/MasterServer/Database/SQLite/dbUTServerInfo.pm +++ b/lib/MasterServer/Database/SQLite/dbUTServerInfo.pm @@ -5,127 +5,12 @@ use warnings; use MasterServer::Core::Util 'sqlprint'; use Exporter 'import'; -our @EXPORT = qw| get_utserver - add_utserver +our @EXPORT = qw| add_utserver update_utserver delete_utplayers insert_utplayer |; ################################################################################ -## get server details for one or multiple UT servers -## opts: limit, see $order -################################################################################ -sub get_utserver { - my $s = shift; - my %o = ( - sort => '', - @_ - ); - - my %where = ( - $o{id} ? ('server_id = ?' => $o{id}) : (), - $o{minnetver} ? ('minnetver = ?' => $o{minnetver}) : (), - $o{gamever} ? ('gamever = ?' => $o{gamever}) : (), - $o{location} ? ('location = ?' => $o{location}) : (), - $o{listenserver} ? ('listenserver = ?' => $o{listenserver}) : (), - $o{hostport} ? ('hostport = ?' => $o{hostport}) : (), - $o{hostname} ? ('hostname = ?' => $o{hostname}) : (), - $o{adminname} ? ('adminname = ?' => $o{adminname}) : (), - $o{adminemail} ? ('adminemail = ?' => $o{adminemail}) : (), - $o{password} ? ('password = ?' => $o{password}) : (), - $o{gametype} ? ('gametype = ?' => $o{gametype}) : (), - $o{gamestyle} ? ('gamestyle = ?' => $o{gamestyle}) : (), - $o{changelevels} ? ('changelevels = ?' => $o{changelevels}) : (), - $o{maptitle} ? ('maptitle = ?' => $o{maptitle}) : (), - $o{mapname} ? ('mapname = ?' => $o{mapname}) : (), - $o{numplayers} ? ('numplayers = ?' => $o{numplayers}) : (), - $o{maxplayers} ? ('maxplayers = ?' => $o{maxplayers}) : (), - $o{minplayers} ? ('minplayers = ?' => $o{minplayers}) : (), - $o{botskill} ? ('botskill = ?' => $o{botskill}) : (), - $o{balanceteams} ? ('balanceteams = ?' => $o{balanceteams}) : (), - $o{playersbalanceteams} ? ('playersbalanceteams = ?' => $o{playersbalanceteams}) : (), - $o{friendlyfire} ? ('friendlyfire = ?' => $o{friendlyfire}) : (), - $o{maxteams} ? ('maxteams = ?' => $o{maxteams}) : (), - $o{timelimit} ? ('timelimit = ?' => $o{timelimit}) : (), - $o{goalteamscore} ? ('goalteamscore = ?' => $o{goalteamscore}) : (), - $o{fraglimit} ? ('fraglimit = ?' => $o{fraglimit}) : (), - $o{mutators} ? ('hostname ILIKE ?' => "%$o{mutators}%") : (), - $o{updated} ? ('updated > datetime(?, \'unixepoch\')'=> (time-$o{updated})) : (), - ); - - my @select = ( qw| - server_id - minnetver - gamever - location - listenserver - hostport - hostname - adminname - adminemail - password - gametype - gamestyle - changelevels - maptitle - mapname - numplayers - maxplayers - minplayers - botskill - balanceteams - playersbalanceteams - friendlyfire - maxteams - timelimit - goalteamscore - fraglimit - mutators - updated - |); - - my $order = sprintf { - server_id => 'server_id %s', - minnetver => 'minnetver %s', - gamever => 'gamever %s', - location => 'location %s', - listenserver => 'listenserver %s', - hostport => 'hostport %s', - hostname => 'hostname %s', - adminname => 'adminname %s', - adminemail => 'adminemail %s', - password => 'password %s', - gametype => 'gametype %s', - gamestyle => 'gamestyle %s', - changelevels => 'changelevels %s', - maptitle => 'maptitle %s', - mapname => 'mapname %s', - numplayers => 'numplayers %s', - maxplayers => 'maxplayers %s', - minplayers => 'minplayers %s', - botskill => 'botskill %s', - balanceteams => 'balanceteams %s', - playersbalanceteams => 'playersbalanceteams %s', - friendlyfire => 'friendlyfire %s', - maxteams => 'maxteams %s', - timelimit => 'timelimit %s', - goalteamscore => 'goalteamscore %s', - fraglimit => 'fraglimit %s', - mutators => 'mutators %s', - updated => 'updated %s', - }->{ $o{sort}||'server_id' }, $o{reverse} ? 'DESC' : 'ASC'; - - return $s->db_all( q| - SELECT !s FROM utserver_info - !W - ORDER BY !s| - .($o{limit} ? " LIMIT ?" : ""), - join(', ', @select), \%where, $order, ($o{limit} ? $o{limit} : ()), - ); -} - - -################################################################################ ## Update serverinfo for an existing address to the utserver list. ## opts: all server info data fields. ################################################################################ |
