Something went wrong. Try again.
Perl game server for TLE Community
Something went wrong. Try again.
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273use 5.010;use strict;use lib '/home/lacuna/server/lib';use Lacuna::DB;use Lacuna;use Lacuna::Util qw(format_date);use Getopt::Long;$|=1;
our $quiet;our $all;GetOptions( 'quiet' => \$quiet, 'all' => \$all,);
out('Started');my $start = time;
out('Loading DB');our $db = Lacuna->db;my $empires = Lacuna->db->resultset('Lacuna::DB::Result::Empire');my $ymd = DateTime->now->subtract( days => 5)->ymd;
if ($all) { $empires = $empires->search({ last_login => { '<' => $ymd.' 00:00:00'} });}else { $empires = $empires->search({ last_login => { 'between' => [$ymd.' 00:00:00', $ymd.' 23:59:59']} });}
my $config = Lacuna->config;my $server_url = $config->get('server_url');my $inactivity_time_out = $config->get('self_destruct_after_inactive_days') || 20;while (my $empire = $empires->next) { out($empire->name); my $ttl = $inactivity_time_out - sprintf('%0.f',($start - $empire->last_login->epoch) / (60 * 60 * 24) ); $empire->send_email('We Miss You', $empire->name .",\n\nIt has been a while since we have seen you around the Lacuna Expanse, and we have missed you. It is important that you log in regularly because your empire will automatically activate its self-destruct sequence in " .$ttl ." days.\n\n" .$server_url );}
my $finish = time;out('Finished');out((($finish - $start)/60)." minutes have elapsed");
################# SUBROUTINES###############
# UTILITIES
sub out { my $message = shift; unless ($quiet) { say format_date(DateTime->now), " ", $message; }}