--- deliantra/server/ext/login.ext 2007/07/22 17:10:06 1.68 +++ deliantra/server/ext/login.ext 2007/09/02 12:37:10 1.70 @@ -118,10 +118,8 @@ sub nuke_playerdir { my ($user) = @_; - aio_stat "$PLAYERDIR/$user"; - system "cd \Q$PLAYERDIR\E " - . "&& mv \Q$user\E ~\Q$Coro::current\E~deleting~ 2>/dev/null " - . "&& (rm -rf ~\Q$Coro::current\E~deleting~ &)"; + aio_rename "$PLAYERDIR/$user", "$PLAYERDIR/~$Coro::current~deleting~"; + system "rm -rf \Q$PLAYERDIR/~$Coro::current~deleting~\E &"; } cf::client->attach (on_addme => sub { @@ -144,7 +142,7 @@ *** cfclient: use the -cache commandline option. *** cfclient: map will not redraw automatically (bug). *** gcfclient: use -cache commandline option, or enable -*** gcfclient: Client=>Configure=>Map & Image=>Cache Images. +*** gcfclient: Client => Configure => Map & Image => Cache Images. *** jcrossclient: your client is broken, use CFPlus or gcfclient. *** *** @@ -479,8 +477,8 @@ ############################################################################# -our $SCHEDULE_INTERVAL = 10; # time the player scheduler sleeps between runs -our $SAVE_TIMEOUT = 20; # save players every n seconds +our $SCHEDULE_INTERVAL = $cf::CFG{player_schedule_interval} || 10; # time the player scheduler sleeps between runs +our $SAVE_TIMEOUT = $cf::CFG{player_save_interval} || 20; # save players every n seconds our $SCHEDULER = cf::async_ext { my $schedule_interval = Coro::Event->timer (after => 1); @@ -500,7 +498,6 @@ eval { if ($pl->{last_save} + $SAVE_TIMEOUT <= $cf::RUNTIME) { - cf::wait_for_tick_begin; $pl->save; unless ($pl->active || $pl->ns) {