Статус сервера

Подскажите пожалуйста, где можно взять значение из базы данных онлайн ли сервер или оффлайн?
 
Подскажите пожалуйста, где можно взять значение из базы данных онлайн ли сервер или оффлайн?
Нигде, по ip чекай в гугле примеров полно
На php самый простой напиши
 
А ещё такой вопрос. Все конфиги обыскал и не могу найти, чтобы опыт не терялся после смерти на 80 лвл и 100%
 
Вообще можешь скил Luck выдавать на 80 лвле по умолчанию и все
Скил при котором до 5 лвла вроде опыт не теряется.
Ток скил перенастрой под свой лвл
Или скопируй и сделай новый скил
 
Last edited:
Вообще можешь скил Luck выдавать на 80 лвле по умолчанию и все
Скил при котором до 5 лвла вроде опыт не теряется.
Ток скил перенастрой под свой лвл
Или скопируй и сделай новый скил
Тоже верно, его бы в прем закинуть
 
Статус сервера / текущий онлайн / топ 10 игроков.
Оставлю тут, чтобы не пришлось искать после этой ветки в гугле. Написано классом на Laravel, но суть должна быть ясна.

PHP:
class Server extends Model
{
    public static function status()
    {
        return Cache::remember('server_status', 60, function()
        {
            $host = env('GAMESERVER_HOST','127.0.0.1');
            $port = env('GAMESERVER_PORT',7777);
            
            if(@fsockopen((string) $host, (int) $port, $errno, $errstr, 1)){
                return true;
            }
            
            return false;
        });
    }
    
    public static function online()
    {
        if( !self::status() ) return 0;
        
        return Cache::remember('server_online', 60, function(){
            $server_online = DB::connection('game')->table('characters')
                ->where('online', true)
                ->select('id')->count();
            return $server_online * config('app.online_multiplier',1);
        });
    }
    
    public static function topUsers()
    {
        return Cache::remember('top_users', 60, function(){
            return DB::connection('game')->table('characters')
                ->select(['char_name','pvpkills','pkkills'])
                ->where('pvpkills','>',0)
                ->orderBy('pvpkills','desc')->limit(10)->get();
        });
    }
}
 
Back
Top