Помогите Нужно сделать вывод игроков онлайн с помощью AuthMe и phpMyAdmin

  • Автор темы Автор темы DonMK
  • Дата начала Дата начала

DonMK

Активный участник
Пользователь
Баллы
63
Ник в Minecraft
DonMK
Подскажите, связал authme и sql
игроки отображаются
upload_2015-5-26_23-14-24.pngъ
но все плееры всегда офлайн, то биш не меняется значение когда игрок онлайн и офлайн
upload_2015-5-26_23-15-23.png

значение isLogged всегда 0, я понял что когда человек онлайн оно должно меняться,
или как с помощью sql вывести количество человек онлайн на сервере?

ПОМОГИТЕ ПОЖАЛУЙСТА
 
Подскажите, связал authme и sql
игроки отображаются
Посмотреть вложение 32691ъ
но все плееры всегда офлайн, то биш не меняется значение когда игрок онлайн и офлайн
Посмотреть вложение 32692

значение isLogged всегда 0, я понял что когда человек онлайн оно должно меняться,
или как с помощью sql вывести количество человек онлайн на сервере?

ПОМОГИТЕ ПОЖАЛУЙСТА
Куда вывести то? Если на сайт, то проще просто поставить мониторинг
 
Посмотреть вложение 32694
<?php echo $online;?>

вот скрипт для вывода онлайна,который на главной странице, но он почему то не работает
Если это весь скрипт, то он и не будет работать. Чтобы сделать вывод онлайна, нужно в первую очередь подключиться к бд
 
Если это весь скрипт, то он и не будет работать. Чтобы сделать вывод онлайна, нужно в первую очередь подключиться к бд
<?
require_once("config.class.php");
class Monitoring{
private $config;
private $onlinePlayers;

public function __construct(){
$this->config = new Config();
$this->mysqli = new mysqli($this->config->host, $this->config->user,$this->config->password,$this->config->db);
$this->mysqli->query("SET NAMES 'utf8'");
}
public function getStatsOnline(){
$result = $this->mysqli->query("SELECT username FROM authme WHERE isLOgged='1'"); //Запрос к БД
$i = 0;
while($row = $result->fetch_assoc()){
$data[$i] = $row;
$i++;
}

return $data;
}
public function getStatsAll(){
$result = $this->mysqli->query("SELECT * FROM authme"); //Запрос к БД
$i = 0;
while($row = $result->fetch_assoc()){
$data[$i] = $row;
$i++;
}
return $data;
}
public function getRecord(){
$result = $this->mysqli->query("SELECT * FROM record_players");
$data = $result->fetch_assoc();
$resultOnline = $this->getStatsOnline();
$onlinePlayers = count($resultOnline);
if($data['record'] < $onlinePlayers){
$sql = $this->mysqli->query("UPDATE record_players SET record='$onlinePlayers'");
$result = $this->mysqli->query("SELECT * FROM record_players");
$data = $result->fetch_assoc();
return $data;
}else return $data;
}
}
?>
вот подключение
 
<?
require_once("config.class.php");
class Monitoring{
private $config;
private $onlinePlayers;

public function __construct(){
$this->config = new Config();
$this->mysqli = new mysqli($this->config->host, $this->config->user,$this->config->password,$this->config->db);
$this->mysqli->query("SET NAMES 'utf8'");
}
public function getStatsOnline(){
$result = $this->mysqli->query("SELECT username FROM authme WHERE isLOgged='1'"); //Запрос к БД
$i = 0;
while($row = $result->fetch_assoc()){
$data[$i] = $row;
$i++;
}

return $data;
}
public function getStatsAll(){
$result = $this->mysqli->query("SELECT * FROM authme"); //Запрос к БД
$i = 0;
while($row = $result->fetch_assoc()){
$data[$i] = $row;
$i++;
}
return $data;
}
public function getRecord(){
$result = $this->mysqli->query("SELECT * FROM record_players");
$data = $result->fetch_assoc();
$resultOnline = $this->getStatsOnline();
$onlinePlayers = count($resultOnline);
if($data['record'] < $onlinePlayers){
$sql = $this->mysqli->query("UPDATE record_players SET record='$onlinePlayers'");
$result = $this->mysqli->query("SELECT * FROM record_players");
$data = $result->fetch_assoc();
return $data;
}else return $data;
}
}
?>
вот подключение
А что выводит данный скрипт? Ошибку или что-то другое?
 
А что выводит данный скрипт? Ошибку или что-то другое?
Вот выводит что 0 игроков на сервере и рекорд не растет, если изменить "SELECT username FROM authme WHERE isLOgged='1 на 0'" то он выводит и в онлайне и в рекорде одинаковые цифры, то биш сколько вообщем человек в базе
 

Вложения

  • Безымянный.png
    Безымянный.png
    342,1 КБ · Просмотры: 24
мы не занимаемся ерундой, этот скрипт был в шаблоне, вот и доделываю, не от нечего же делать задал вопрос
Он прав, проще взять готовый скрипт мониторинга и подключить к шаблону. Через бд и authme ничего не добьетесь
 
С твоим скриптом все в порядке, тут проблема в authme
думаете переустановить? или другой?
С твоим скриптом все в порядке, тут проблема в authme
а в authme нет функции контроля пользователей онлайн?
DataSource:
mySQLColumnName: username
mySQLTablename: authme
mySQLUsername: имя к базе
backend: MYSQL
mySQLColumnLastLogin: lastlogin
mySQLDatabase: имя базы
mySQLPort: '3306'
mySQLColumnIp: ip
mySQLHost: ip базы
mySQLColumnPassword: password
mySQLPassword: пароль базы
caching: true
mySQLlastlocX: x
mySQLlastlocY: y
mySQLlastlocZ: z
mySQLColumnEmail: email
mySQLColumnId: id
GroupOptions:
UnregisteredPlayerGroup: ''
RegisteredPlayerGroup: ''
Permissions:
PermissionsOnJoin: []
settings:
sessions:
enabled: true
timeout: 10
sessionExpireOnIpChange: true
restrictions:
allowChat: false
allowCommands:
- /login
- /register
- /l
- /reg
- /passpartu
- /email
- /captcha
maxRegPerIp: 3
maxNicknameLength: 20
ForceSingleSession: true
ForceSpawnLocOnJoinEnabled: false
SaveQuitLocation: false
AllowRestrictedUser: false
AllowedRestrictedUser: []
kickNonRegistered: false
kickOnWrongPassword: false
teleportUnAuthedToSpawn: false
minNicknameLength: 3
allowMovement: false
timeout: 30
allowedNicknameCharacters: '[a-zA-Z0-9_?]*'
allowedMovementRadius: 100
enablePasswordVerifier: true
ProtectInventoryBeforeLogIn: true
displayOtherAccounts: false
ForceSpawnOnTheseWorlds:
- world
- world_nether
- world_the_end
banUnsafedIP: false
GameMode:
ForceSurvivalMode: false
ResetInventoryIfCreative: false
security:
minPasswordLength: 1
unLoggedinGroup: unLoggedinGroup
passwordHash: SHA256
doubleMD5SaltLength: 8
registration:
enabled: true
messageInterval: 5
force: true
enableEmailRegistrationSystem: false
doubleEmailCheck: false
unrestrictions:
UnrestrictedName: []
messagesLanguage: en
ExternalBoardOptions:
mySQLColumnSalt: ''
mySQLColumnGroup: ''
nonActivedUserGroup: -1
mySQLOtherUsernameColumns: []
Xenoforo:
predefinedSalt: ''
permission:
EnablePermissionCheck: false
BackupSystem:
ActivateBackup: false
OnServerStart: true
OnServerStop: true
MysqlWindowsPath: C:\\Program Files\\MySQL\\MySQL Server 5.1\\
Passpartu:
enablePasspartu: false
Security:
SQLProblem:
stopServer: true
ReloadCommand:
useReloadCommandSupport: true
console:
noConsoleSpam: false
removePassword: true
logConsole: false
captcha:
useCaptcha: false
maxLoginTry: 5
captchaLength: 5
Converter:
Rakamak:
fileName: users.rak
useIP: false
ipFileName: UsersIp.rak
newPasswordHash: SHA256
Email:
mailSMTP: smtp.gmail.com
mailPort: 465
mailAccount: ''
mailPassword: ''
mailSenderName: ''
RecoveryPasswordLength: 8
mailSubject: Your new AuthMe Password
mailText: 'Dear <playername>, \n\n This is your new AuthMe password for the server
\n\n <servername> : \n\n <generatedpass>\n\nDo not forget to change password after
login! \n /changepassword <generatedpass> newPassword'
maxRegPerEmail: 1
Hooks:
multiverse: true
chestshop: true
bungeecord: false
notifications: true


правильно настроен плагин?
 
А с чего там должен выводится онлайн? Кроме обновления времени сессии там ничего и нету.
 
А с чего там должен выводится онлайн? Кроме обновления времени сессии там ничего и нету.
ну вроде как по скрипту так база соединяется с authme и потом выводит данные на сайт
 
А с чего там должен выводится онлайн? Кроме обновления времени сессии там ничего и нету.
Нет. По задумке автора там должна быть единица, если игрок авторизован и ноль, если нет. Но, как показывает практика, что-то пошло не так.
 
Нет. По задумке автора там должна быть единица, если игрок авторизован и ноль, если нет. Но, как показывает практика, что-то пошло не так.
ну а как доработать скрипт? можете подсказать? чтобы был вывод количество игроков на сервере?
 
ну а как доработать скрипт? можете подсказать? чтобы был вывод количество игроков на сервере?

Плагин наверное переделывать или использовать дополнительный плагин, который будет заносить в бд ники игроков которые онлайн. Но только из-за запросов, так как игроки будут выходить из игры или входить на сервер, могут быть задержки, если база будет располагаться на другом сервере.
 
Назад
Верх Низ