init
This commit is contained in:
160
server.php
Normal file
160
server.php
Normal file
@@ -0,0 +1,160 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* 冰雪传奇H5
|
||||
* 2022 XX信息科技有限公司
|
||||
*
|
||||
* @author 123456
|
||||
* @wx 123456
|
||||
* @qq 123456
|
||||
*/
|
||||
|
||||
//header('Access-Control-Allow-Origin: *');
|
||||
|
||||
header('Content-type: text/html; charset=utf-8');
|
||||
|
||||
include 'config.php';
|
||||
include 'function.php';
|
||||
|
||||
$account = input('account');
|
||||
|
||||
// TODO:要做json文件缓存
|
||||
$srvData = [
|
||||
'login' => [999, 997, 990],
|
||||
'serverlist' => [],
|
||||
];
|
||||
$defaultSrvId = 1;
|
||||
$index = 0;
|
||||
$nowTime = time();
|
||||
$newSrvTime = (24 * 60 * 60) * 7;
|
||||
|
||||
// 获取选择的区服ID
|
||||
$mySQLi = new mysqli($_CONFIG_DB['db_host'], $_CONFIG_DB['db_user'], $_CONFIG_DB['db_password'], $_CONFIG_DB['db_name'], $_CONFIG_DB['db_port']);
|
||||
if($mySQLi->connect_errno) returnJson(['code' => 1, 'msg' => $mySQLi->connect_error]);
|
||||
$mySQLi->set_charset($_CONFIG_DB['db_charset']);
|
||||
|
||||
$stmt = $mySQLi->prepare('select server_id from player where username=?');
|
||||
$stmt->bind_param('s', $account);
|
||||
$stmt->execute();
|
||||
|
||||
$result = $stmt->get_result();
|
||||
$row = $result->fetch_array();
|
||||
|
||||
$result->free_result();
|
||||
$stmt->close();
|
||||
|
||||
$serverId = !empty($row) ? intval($row['server_id']) : 0;
|
||||
|
||||
// 查询
|
||||
$status = 1;
|
||||
// $stmt = $mySQLi->prepare('select id, server_id, name, host, port, status, time, merge_id from server where server_id = ? and status >= ? order by server_id asc limit 1000');
|
||||
// $stmt->bind_param('id', $serverId, $status);
|
||||
$stmt = $mySQLi->prepare('select id, server_id, name, host, port, status, time, merge_id from server where status >= ? order by server_id asc limit 1000');
|
||||
$stmt->bind_param('d', $status);
|
||||
$stmt->bind_result($id, $server_id, $name, $host, $port, $status, $time, $merge_id);
|
||||
$stmt->execute();
|
||||
$stmt->store_result();
|
||||
|
||||
$srvData['serverlist'][$index] = [];
|
||||
$srvData['serverlist'][$index]['name'] = '1-100区';
|
||||
|
||||
// 全部显示 --------------------------------------------
|
||||
|
||||
while($stmt->fetch()) {
|
||||
$sid = $merge_id ? $merge_id : $server_id;
|
||||
//echo "$sid, $id, $server_id, $host, $port, $status, $time, $merge_id<br>";
|
||||
$srvData['serverlist'][$index]['serverlist'][] = [
|
||||
'id' => $id,
|
||||
'serverName' => (isset($name) && $name ? $name : $_CONFIG['game_first_name']).$server_id.'区',
|
||||
'srvaddr' => isset($host) && $host && '127.0.0.1' != $host ? $host : $_CONFIG['game_host'],
|
||||
'srvport' => isset($port) && $port ? $port : ($_CONFIG['game_port'] + $sid),
|
||||
'srvid' => $sid,
|
||||
'type' => 3 != $status ? ($nowTime - $time <= $newSrvTime ? 1 : 2) : $status, // 1:新, 2:火爆, 3:维护
|
||||
'opentime' => date('Y-m-d H:i:s', $time),
|
||||
'pf' => $_CONFIG['pf'],
|
||||
'serverAlias' => 's'.$sid,
|
||||
'originalSrvid' => $sid
|
||||
];
|
||||
//$index++;
|
||||
}
|
||||
|
||||
// 自动合并 --------------------------------------------
|
||||
|
||||
/*$list = [];
|
||||
|
||||
while($stmt->fetch()) {
|
||||
//$sid = $merge_id ? $merge_id : $server_id;
|
||||
//echo "$sid, $id, $server_id, $host, $port, $status, $time, $merge_id<br>";
|
||||
|
||||
if(!$merge_id) {
|
||||
$list[$server_id] = $server_id;
|
||||
} else {
|
||||
if(!isset($list[$server_id]) || $server_id > $list[$server_id]) {
|
||||
$list[$merge_id] = $server_id;
|
||||
}
|
||||
}
|
||||
//$index++;
|
||||
}
|
||||
|
||||
//print_r($list);exit;
|
||||
|
||||
foreach ($list as $sid => $last_id) {
|
||||
$srvData['serverlist'][$index]['serverlist'][] = [
|
||||
'id' => $sid,
|
||||
'serverName' => (isset($name) && $name ? $name : $_CONFIG['game_first_name']).$server_id.'区',
|
||||
'srvaddr' => isset($host) && $host && '127.0.0.1' != $host ? $host : $_CONFIG['game_host'],
|
||||
'srvport' => isset($port) && $port ? $port : ($_CONFIG['game_port'] + $sid),
|
||||
'srvid' => $sid,
|
||||
'type' => 3 != $status ? ($nowTime - $time <= $newSrvTime ? 1 : 2) : $status, // 1:新, 2:火爆, 3:维护
|
||||
'opentime' => date('Y-m-d H:i:s', $time),
|
||||
'pf' => $_CONFIG['pf'],
|
||||
'serverAlias' => 's'.$sid,
|
||||
'originalSrvid' => $sid
|
||||
];
|
||||
}*/
|
||||
|
||||
// --------------------------------------------
|
||||
|
||||
//echo "Records:".$stmt->num_rows."<br>";
|
||||
|
||||
// 关闭MySQL
|
||||
$stmt->free_result();
|
||||
$stmt->close();
|
||||
$mySQLi->close();
|
||||
|
||||
returnJson($srvData);
|
||||
|
||||
/*$groupMax = 10;
|
||||
$groupSubMax = 100;
|
||||
|
||||
$nowDate = date('Y-m-d H:i:s');
|
||||
$lastSrvId = $groupMax * $groupSubMax;
|
||||
$_day = $lastSrvId;
|
||||
|
||||
for($gid = 1; $gid <= $groupMax; $gid++) {
|
||||
$srvData['serverlist'][$gid - 1] = [];
|
||||
|
||||
$gidStart = ($gid < 2 ? $gid : ($gid - 1) * $groupSubMax);
|
||||
$gidEnd = $gid * $groupSubMax;
|
||||
|
||||
for($cid = 1; $cid <= $groupSubMax; $cid++) {
|
||||
$srvData['serverlist'][$gid - 1]['name'] = $gidStart.'-'.$gidEnd.'区';
|
||||
$srvData['serverlist'][$gid - 1]['serverlist'][] = [
|
||||
'id' => $index,
|
||||
'serverName' => $_CONFIG['game_first_name'].$index.'区',
|
||||
'srvaddr' => $_CONFIG['game_host'],
|
||||
'srvport' => 9000 + $defaultSrvId,
|
||||
'srvid' => $defaultSrvId,
|
||||
'type' => ($index > ($lastSrvId - 10) ? 1 : 2), // 1:新, 2:火爆, 3:维护
|
||||
'opentime' => ($index == $lastSrvId ? $nowDate : date('Y-m-d H:i:s', strtotime('-'.$_day.' day'))),
|
||||
'pf' => $_CONFIG['pf'],
|
||||
'serverAlias' => 's'.$defaultSrvId,
|
||||
'originalSrvid' => $defaultSrvId
|
||||
];
|
||||
|
||||
$index++;
|
||||
$_day--;
|
||||
}
|
||||
}
|
||||
|
||||
echo json_encode($srvData);*/
|
||||
Reference in New Issue
Block a user