10162 后台优化(开放入口增加检查开服天及版本号;非手动开新服默认为推荐服,其他服设置为不推荐;)
| | |
| | | ;权限2 |
| | | [Popedom_2] |
| | | key=VERCbmNrbFZQVDE9 |
| | | pack_types=GMT_ItemExpiation,GMT_MoneyExpiation,GMT_AddNewGuyCard,GMT_CardTypeInfo,GMT_NewGuyCardInfo,GMT_CTG,GMT_FreshmanGuide,GMT_BourseOnOff,GMT_AddEntireCompensation,GMT_AddPersonalCompensation,GMT_SetOpenServerTime,GMT_CompensationQuery,GMT_CompensationMgr,GMT_MediaCard,GMT_CrossServerMaintain,GMT_CrossClientServerMaintain,GMT_AddAuctionItem,GMT_AddTitle,GMT_CompensationQueryPersonal,GMT_CrossActServerIDChange,GMT_DelPlayerMoney,GMT_DelPlayerItem,GMT_RefixWorldLV,GMT_Execfile,GMT_SetGMLevel,GMT_CrossBattleChampionSet,GMT_AddPayCoin,GMT_ReloadPymongo,GMT_Worship,GMT_Face |
| | | pack_types=GMT_ItemExpiation,GMT_MoneyExpiation,GMT_AddNewGuyCard,GMT_CardTypeInfo,GMT_NewGuyCardInfo,GMT_CTG,GMT_FreshmanGuide,GMT_BourseOnOff,GMT_AddEntireCompensation,GMT_AddPersonalCompensation,GMT_SetOpenServerTime,GMT_CompensationQuery,GMT_CompensationMgr,GMT_MediaCard,GMT_CrossServerMaintain,GMT_CrossClientServerMaintain,GMT_AddAuctionItem,GMT_AddTitle,GMT_CompensationQueryPersonal,GMT_CrossActServerIDChange,GMT_DelPlayerMoney,GMT_DelPlayerItem,GMT_RefixWorldLV,GMT_Execfile,GMT_SetGMLevel,GMT_CrossBattleChampionSet,GMT_AddPayCoin,GMT_ReloadPymongo,GMT_Worship,GMT_Face,GMT_CheckOpenServer |
| | | |
New file |
| | |
| | | <?php |
| | | include_once "/Common/Logging.php"; |
| | | include_once "/Common/CommFunc.php"; |
| | | |
| | | $channel = $_GET["channel"]; |
| | | $serverID = intval($_GET["serverID"]); |
| | | |
| | | \Logging\CreateLogging("serverops.checkOpenServer.php"); |
| | | |
| | | \Logging\LogInfo("_GET:" . print_r($_GET, true)); |
| | | // 检查服务器开服相关是否正常,如开服天、版本号等 |
| | | $packData = array(); |
| | | $retList = \CommFunc\SendGMTToGameServers(True, "GMT_CheckOpenServer", $packData, $channel, array($serverID)); |
| | | \Logging\LogInfo("retList:" . print_r($retList, true)); |
| | | if (!is_array($retList)) { |
| | | echo "{}"; |
| | | exit; |
| | | } |
| | | $ret = json_decode($retList[$serverID], true); |
| | | if (!$ret || !array_key_exists("ResultType", $ret)) { |
| | | echo "{}"; |
| | | exit; |
| | | } |
| | | echo json_encode($ret["ResultMsg"]); |
| | |
| | | <tr> |
| | | <td class="formTableTDName">开放状态: </td> |
| | | <td class="formTableTDValue"> |
| | | <select name="Statue"> |
| | | <select name="Statue" onchange="OnSelectStatue(this.value)"> |
| | | <?php |
| | | $selected = array_key_exists("Statue", $editInfo) ? $editInfo["Statue"] : \ServerOPS\ServerStatue::InternalOpen; |
| | | foreach (\ServerOPS\ServerStatue::$StatueName as $key => $value) { |
| | |
| | | } |
| | | ?> |
| | | </select> |
| | | <div id="StatueOpenTips" /> |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | |
| | | </form> |
| | | |
| | | <script type='text/javascript' src='/js/calendar.js'></script> |
| | | <script type='text/javascript' src="/js/common.js"></script> |
| | | <script type="text/javascript"> |
| | | function OnSelectStatue(Statue) { |
| | | var openServerTips = document.getElementById("StatueOpenTips"); |
| | | if (Statue != 1) { |
| | | openServerTips.innerHTML = ""; |
| | | return |
| | | } |
| | | var channel = '<?php echo $channel ?>'; |
| | | var serverID = '<?php echo $ServerID ?>'; |
| | | ajaxRequest("checkOpenServer.php?channel=" + channel + "&serverID=" + serverID, |
| | | function(xmlhttp) { |
| | | var br = getbr(); |
| | | var res = JSON.parse(xmlhttp.responseText); |
| | | var errMsg = res.errMsg; |
| | | var errTips = "无法请求服务器开服状态,请检查服务器是否正常"; |
| | | if (errMsg == "OpenServerDayError") { |
| | | errTips = "服务器非开服第一天,开服天:" + res["openServerDay"]; |
| | | } else if (errMsg == "VersionError") { |
| | | errTips = "服务器版本异常,服务器版本:" + res["curVersion"] + ",中心版本:" + res["centerVersion"]; |
| | | } else if (errMsg == "OK") { |
| | | errTips = ""; |
| | | } |
| | | |
| | | if (errTips != "") { |
| | | openServerTips.insertAdjacentHTML("beforeEnd", "<font color='red'>" + errTips + "</font>"); |
| | | openServerTips.errTips = 1; |
| | | } else { |
| | | openServerTips.insertAdjacentHTML("beforeEnd", "服务器正常,可开放入口!"); |
| | | openServerTips.errTips = 0; |
| | | } |
| | | }, |
| | | ); |
| | | } |
| | | |
| | | function CheckSubmit() { |
| | | if (!document.getElementById("ServerID").value || document.getElementById("ServerID").value <= 0) { |
| | | alert("请输入大于0服务器ID!"); |
| | |
| | | document.getElementById('GamePort').focus(); |
| | | return false; |
| | | } |
| | | var openServerTips = document.getElementById("StatueOpenTips"); |
| | | if (openServerTips.errTips == 1) { |
| | | if (!window.confirm("该服务器不是新服开服环境,确定开放入口?")) { |
| | | return false; |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | </script> |
| | |
| | | \Logging\LogError("game server clearState error." . print_r($serverInfo, true)); |
| | | continue; |
| | | } |
| | | |
| | | // 进一步检查最新服务器开服状态是否正常 |
| | | $checkUrl = 'http://' . $_SERVER['HTTP_HOST'] . "/serverops/checkOpenServer.php"; |
| | | $retStr = \CommFunc\DoGet($checkUrl, array("channel" => $Channel, "serverID" => $ServerID)); |
| | | $checkRet = json_decode($retStr, true); |
| | | if (!isset($checkRet) || !array_key_exists("errMsg", $checkRet) || $checkRet["errMsg"] != "OK") { |
| | | \Logging\LogError("checkOpenServer error. Channel:" . $Channel . " ServerID:" . $ServerID . " ret:" . print_r($checkRet, true)); |
| | | continue; |
| | | } |
| | | $JsonBranch = $serverInfo["JsonBranch"]; |
| | | |
| | | $find = array("Channel" => $Channel, "ServerID" => $ServerID); |
| | | $set = array( |
| | | "RunningStatus" => \ServerOPS\ServerRunningStatus::Light, |
| | | "Statue" => \ServerOPS\ServerStatue::Open, |
| | | "Recommend" => 1, // 新开放入口服默认推荐 |
| | | ); |
| | | if (\DBOper\Update("GameServers", $find, $set)) { |
| | | \Logging\LogInfo("set server open ok." . print_r($serverInfo, true)); |
| | | // 其他服设置为不推荐 |
| | | \DBOper\Update("GameServers", array( |
| | | "Channel" => $Channel, |
| | | "ServerID" => array('$nin' => array($ServerID)) |
| | | ), array("Recommend" => 0), false, false, true); |
| | | } else { |
| | | \Logging\LogError("set server open error." . print_r($serverInfo, true)); |
| | | } |