├── adm ├── c │ ├── Admin.php │ ├── Base.php │ ├── Build.php │ ├── Cache.php │ ├── Index.php │ ├── Manger.php │ ├── Map.php │ ├── Server.php │ ├── System.php │ ├── User.php │ └── War.php ├── lib │ ├── PHPExcel.php │ └── PHPExcel │ │ ├── Autoloader.php │ │ ├── CachedObjectStorage │ │ ├── APC.php │ │ ├── CacheBase.php │ │ ├── DiscISAM.php │ │ ├── ICache.php │ │ ├── Igbinary.php │ │ ├── Memcache.php │ │ ├── Memory.php │ │ ├── MemoryGZip.php │ │ ├── MemorySerialized.php │ │ ├── PHPTemp.php │ │ ├── SQLite.php │ │ ├── SQLite3.php │ │ └── Wincache.php │ │ ├── CachedObjectStorageFactory.php │ │ ├── Calculation.php │ │ ├── Calculation │ │ ├── Database.php │ │ ├── DateTime.php │ │ ├── Engineering.php │ │ ├── Exception.php │ │ ├── ExceptionHandler.php │ │ ├── Financial.php │ │ ├── FormulaParser.php │ │ ├── FormulaToken.php │ │ ├── Function.php │ │ ├── Functions.php │ │ ├── Logical.php │ │ ├── LookupRef.php │ │ ├── MathTrig.php │ │ ├── Statistical.php │ │ ├── TextData.php │ │ └── functionlist.txt │ │ ├── Cell.php │ │ ├── Cell │ │ ├── AdvancedValueBinder.php │ │ ├── DataType.php │ │ ├── DataValidation.php │ │ ├── DefaultValueBinder.php │ │ ├── Hyperlink.php │ │ └── IValueBinder.php │ │ ├── Chart.php │ │ ├── Chart │ │ ├── DataSeries.php │ │ ├── DataSeriesValues.php │ │ ├── Layout.php │ │ ├── Legend.php │ │ ├── PlotArea.php │ │ ├── Renderer │ │ │ ├── PHP Charting Libraries.txt │ │ │ └── jpgraph.php │ │ └── Title.php │ │ ├── Comment.php │ │ ├── DocumentProperties.php │ │ ├── DocumentSecurity.php │ │ ├── HashTable.php │ │ ├── IComparable.php │ │ ├── IOFactory.php │ │ ├── NamedRange.php │ │ ├── Reader │ │ ├── CSV.php │ │ ├── DefaultReadFilter.php │ │ ├── Excel2003XML.php │ │ ├── Excel2007.php │ │ ├── Excel2007 │ │ │ ├── Chart.php │ │ │ └── Theme.php │ │ ├── Excel5.php │ │ ├── Excel5 │ │ │ └── Escher.php │ │ ├── Gnumeric.php │ │ ├── IReadFilter.php │ │ ├── IReader.php │ │ ├── OOCalc.php │ │ └── SYLK.php │ │ ├── ReferenceHelper.php │ │ ├── RichText.php │ │ ├── RichText │ │ ├── ITextElement.php │ │ ├── Run.php │ │ └── TextElement.php │ │ ├── Settings.php │ │ ├── Shared │ │ ├── CodePage.php │ │ ├── Date.php │ │ ├── Drawing.php │ │ ├── Escher.php │ │ ├── Escher │ │ │ ├── DgContainer.php │ │ │ ├── DgContainer │ │ │ │ ├── SpgrContainer.php │ │ │ │ └── SpgrContainer │ │ │ │ │ └── SpContainer.php │ │ │ ├── DggContainer.php │ │ │ └── DggContainer │ │ │ │ ├── BstoreContainer.php │ │ │ │ └── BstoreContainer │ │ │ │ ├── BSE.php │ │ │ │ └── BSE │ │ │ │ └── Blip.php │ │ ├── Excel5.php │ │ ├── File.php │ │ ├── Font.php │ │ ├── OLE.php │ │ ├── OLE │ │ │ ├── ChainedBlockStream.php │ │ │ ├── PPS.php │ │ │ └── PPS │ │ │ │ ├── File.php │ │ │ │ └── Root.php │ │ ├── OLERead.php │ │ ├── PCLZip │ │ │ ├── gnu-lgpl.txt │ │ │ ├── pclzip.lib.php │ │ │ └── readme.txt │ │ ├── PasswordHasher.php │ │ ├── String.php │ │ ├── XMLWriter.php │ │ ├── ZipArchive.php │ │ ├── ZipStreamWrapper.php │ │ └── trend │ │ │ ├── bestFitClass.php │ │ │ ├── exponentialBestFitClass.php │ │ │ ├── linearBestFitClass.php │ │ │ ├── logarithmicBestFitClass.php │ │ │ ├── polynomialBestFitClass.php │ │ │ ├── powerBestFitClass.php │ │ │ └── trendClass.php │ │ ├── Style.php │ │ ├── Style │ │ ├── Alignment.php │ │ ├── Border.php │ │ ├── Borders.php │ │ ├── Color.php │ │ ├── Conditional.php │ │ ├── Fill.php │ │ ├── Font.php │ │ ├── NumberFormat.php │ │ └── Protection.php │ │ ├── Worksheet.php │ │ ├── Worksheet │ │ ├── BaseDrawing.php │ │ ├── CellIterator.php │ │ ├── ColumnDimension.php │ │ ├── Drawing.php │ │ ├── Drawing │ │ │ └── Shadow.php │ │ ├── HeaderFooter.php │ │ ├── HeaderFooterDrawing.php │ │ ├── MemoryDrawing.php │ │ ├── PageMargins.php │ │ ├── PageSetup.php │ │ ├── Protection.php │ │ ├── Row.php │ │ ├── RowDimension.php │ │ ├── RowIterator.php │ │ └── SheetView.php │ │ ├── WorksheetIterator.php │ │ ├── Writer │ │ ├── CSV.php │ │ ├── Excel2007.php │ │ ├── Excel2007 │ │ │ ├── Chart.php │ │ │ ├── Comments.php │ │ │ ├── ContentTypes.php │ │ │ ├── DocProps.php │ │ │ ├── Drawing.php │ │ │ ├── Rels.php │ │ │ ├── StringTable.php │ │ │ ├── Style.php │ │ │ ├── Theme.php │ │ │ ├── Workbook.php │ │ │ ├── Worksheet.php │ │ │ └── WriterPart.php │ │ ├── Excel5.php │ │ ├── Excel5 │ │ │ ├── BIFFwriter.php │ │ │ ├── Escher.php │ │ │ ├── Font.php │ │ │ ├── Parser.php │ │ │ ├── Workbook.php │ │ │ ├── Worksheet.php │ │ │ └── Xf.php │ │ └── IWriter.php │ │ └── locale │ │ └── en │ │ └── uk │ │ └── config └── v │ ├── Base │ ├── ArmyAdd.php │ ├── ArmyList.php │ ├── AwardImport.php │ ├── AwardList.php │ ├── AwardView.php │ ├── BoutImport.php │ ├── BoutList.php │ ├── BuildBaseAdd.php │ ├── BuildBaseList.php │ ├── BuildUpgAdd.php │ ├── BuildUpgList.php │ ├── CampaignImport.php │ ├── CampaignList.php │ ├── ConsumerList.php │ ├── EquipImport.php │ ├── EquipList.php │ ├── EquipSuit.php │ ├── EquipSuitAddTpl.php │ ├── EquipSuitImport.php │ ├── EquipView.php │ ├── ExchangeImport.php │ ├── ExchangeList.php │ ├── HeroAddTpl.php │ ├── HeroList.php │ ├── HeroTplImport.php │ ├── MallImport.php │ ├── MallList.php │ ├── MultiFBImport.php │ ├── MultiFBList.php │ ├── ProbeImport.php │ ├── ProbeList.php │ ├── ProbeView.php │ ├── PropsAdd.php │ ├── PropsImport.php │ ├── PropsList.php │ ├── QqShareImport.php │ ├── QqShareList.php │ ├── QuestImport.php │ ├── QuestList.php │ ├── QuestionImport.php │ ├── SkillImport.php │ ├── SkillList.php │ ├── SkillView.php │ ├── TaskAdd.php │ ├── TaskList.php │ ├── TechBaseAdd.php │ ├── TechBaseList.php │ ├── TechUpgAdd.php │ ├── TechUpgList.php │ ├── UnionList.php │ ├── WeaponAdd.php │ ├── WeaponImport.php │ └── WeaponList.php │ ├── Cache │ ├── File.php │ ├── Index.php │ ├── Info.php │ ├── InfoList.php │ ├── List.php │ └── Tip.php │ ├── DataAccess.php │ ├── DataCom.php │ ├── DataMenu.php │ ├── Index │ └── Login.php │ ├── Manger │ ├── AdmView.php │ ├── DebugIp.php │ ├── DelPayRow.php │ ├── GMUser.php │ ├── GroupView.php │ ├── List.php │ ├── RestoreMerge.php │ └── UserGroup.php │ ├── Map │ ├── BuildEditor.php │ ├── CellList.php │ ├── CellView.php │ ├── CityInMapEdiotr.php │ ├── SecneList.php │ ├── SecneView.php │ ├── WarMapEditor.php │ └── WarMapImport.php │ ├── Server │ ├── Apc.php │ ├── Cron.php │ ├── Deamon.php │ ├── Index.php │ ├── Mysql.php │ ├── Php.php │ ├── ReqNum.php │ ├── Sys.php │ └── UploadCode.php │ ├── System │ ├── Config_Active.php │ ├── Config_Army.php │ ├── Config_Base.php │ ├── Config_Build.php │ ├── Config_Drama.php │ ├── Config_Equip.php │ ├── Config_Event.php │ ├── Config_Fascist.php │ ├── Config_FascistAdd.php │ ├── Config_Floor.php │ ├── Config_Hero.php │ ├── Config_Horse.php │ ├── Config_InviteFriend.php │ ├── Config_Liveness.php │ ├── Config_Lottery.php │ ├── Config_Online.php │ ├── Config_Pay.php │ ├── Config_PayAward.php │ ├── Config_ProbeMap.php │ ├── Config_QQ.php │ ├── Config_Question.php │ ├── Config_Server.php │ ├── Config_TmpNpc.php │ ├── Config_Union.php │ ├── Config_VipNew.php │ ├── Config_Weapon.php │ ├── NoticeAdd.php │ └── NoticeList.php │ ├── User │ ├── Add.php │ └── List.php │ ├── War │ ├── FbCateList.php │ ├── FbCateView.php │ ├── FbList.php │ ├── FbMapView.php │ ├── FbView.php │ ├── NpcHeroList.php │ ├── NpcHeroView.php │ ├── NpcImport.php │ ├── NpcList.php │ ├── NpcView.php │ ├── ProbeMap.php │ └── WarFbImport.php │ ├── footer.php │ ├── header.php │ ├── index.php │ ├── layout.php │ └── nav.php ├── etc ├── cn │ ├── blocklist.txt │ ├── heroname_1_1.txt │ ├── heroname_1_2.txt │ ├── heroname_2_1.txt │ ├── heroname_2_2.txt │ ├── randname_1.txt │ └── randname_2.txt └── config.php ├── inc.php ├── lib ├── Amfphp │ ├── amf │ │ ├── app │ │ │ ├── Actions.php │ │ │ ├── Filters.php │ │ │ └── Gateway.php │ │ ├── io │ │ │ ├── AMFBaseDeserializer.php │ │ │ ├── AMFBaseSerializer.php │ │ │ ├── AMFDeserializer.php │ │ │ └── AMFSerializer.php │ │ ├── readme.txt │ │ └── util │ │ │ ├── AMFObject.php │ │ │ ├── DateWrapper.php │ │ │ ├── DescribeService.php │ │ │ ├── PageAbleResult.php │ │ │ ├── TraceHeader.php │ │ │ └── WrapperClasses.php │ └── shared │ │ ├── app │ │ ├── BasicActions.php │ │ ├── BasicGateway.php │ │ ├── Constants.php │ │ ├── Globals.php │ │ └── php5Executive.php │ │ ├── exception │ │ ├── MessageException.php │ │ └── php5Exception.php │ │ └── util │ │ ├── Authenticate.php │ │ ├── CharsetHandler.php │ │ ├── CompatPhp5.php │ │ ├── Headers.php │ │ ├── MessageBody.php │ │ ├── MessageHeader.php │ │ ├── MethodTable.php │ │ ├── NetDebug.php │ │ └── functions.php ├── OpenApiV3.php └── openqq │ ├── SnsNetwork.php │ └── SnsSigCheck.php ├── log └── readme.txt ├── run └── s1 │ ├── common.php │ ├── cron │ ├── CronPerMin.php │ ├── crontab_root │ ├── crontab_www │ ├── dbbakup.php │ ├── nginx_cut_log.sh │ └── readme.txt │ ├── deamon │ ├── DeamonBattleHandler.php │ ├── DeamonCityVisitQueue.php │ ├── DeamonMarchHandler.php │ ├── run.php │ └── test.php │ ├── init │ ├── InitWildNpc.php │ └── ResetWildMap.php │ ├── merge │ ├── move_export_data.php │ └── move_verify_data.php │ ├── reset │ └── ResetGameData.php │ └── test │ ├── phar.php │ └── vvTest.php ├── srv ├── A │ ├── GM │ │ ├── Action.php │ │ └── User.php │ ├── Rmon │ │ ├── Cache.php │ │ └── Server.php │ ├── Server │ │ ├── Base.php │ │ └── Consumer.php │ └── Stats │ │ ├── ActiveUser.php │ │ ├── Assistance.php │ │ ├── Card.php │ │ ├── DayActiveUser.php │ │ ├── GetNickname.php │ │ ├── HistoryHigh.php │ │ ├── Info.php │ │ ├── Log.php │ │ ├── OutflowUser.php │ │ ├── Pay.php │ │ ├── RankingRecord.php │ │ ├── RetentionList.php │ │ ├── Retentionrate.php │ │ ├── SendGoodsAll.php │ │ └── User.php ├── B │ ├── Cache │ │ ├── APC.php │ │ ├── File.php │ │ └── RC.php │ ├── Common.php │ ├── Controller.php │ ├── Crypt.php │ ├── DB.php │ ├── DB │ │ └── Dao.php │ ├── DBStats.php │ ├── Exception.php │ ├── Log │ │ ├── Queue.php │ │ └── Trade.php │ ├── Logger.php │ ├── Page.php │ ├── Request.php │ ├── Utils.php │ ├── View.php │ └── Xml.php ├── C │ ├── Army.php │ ├── Auction.php │ ├── Base.php │ ├── Battle.php │ ├── Breakout.php │ ├── Buddy.php │ ├── Build.php │ ├── Camp.php │ ├── Challenge.php │ ├── Chat.php │ ├── City.php │ ├── Collect.php │ ├── College.php │ ├── Colony.php │ ├── Compensate.php │ ├── Equip.php │ ├── Fb.php │ ├── FbTeam.php │ ├── Floor.php │ ├── Friend.php │ ├── Hero.php │ ├── Horse.php │ ├── I.php │ ├── Index.php │ ├── Lottery.php │ ├── Mall.php │ ├── MallExchange.php │ ├── Map.php │ ├── March.php │ ├── Market.php │ ├── Message.php │ ├── MultiFB.php │ ├── Props.php │ ├── Qq.php │ ├── Quest.php │ ├── Question.php │ ├── Rank.php │ ├── Report.php │ ├── SeekHero.php │ ├── Skill.php │ ├── Sync.php │ ├── Task.php │ ├── Tech.php │ ├── Test.php │ ├── Union.php │ ├── User.php │ ├── Vip.php │ ├── War.php │ └── Weapon.php ├── M │ ├── Adm.php │ ├── AntiAddiction.php │ ├── Army.php │ ├── Auction.php │ ├── Auth.php │ ├── Award.php │ ├── Base.php │ ├── Battle │ │ ├── AI.php │ │ ├── Calc.php │ │ ├── Handler.php │ │ ├── Info.php │ │ ├── List.php │ │ ├── Path.php │ │ ├── QueueAI.php │ │ ├── QueueHandler.php │ │ └── Quick.php │ ├── BreakOut.php │ ├── Buddy.php │ ├── Build.php │ ├── CacheToDB.php │ ├── Campaign.php │ ├── Card.php │ ├── Chat.php │ ├── City.php │ ├── CityCollege.php │ ├── Client.php │ ├── ColonyCity.php │ ├── Compensate.php │ ├── Config.php │ ├── Consumer.php │ ├── Cron.php │ ├── Deamon.php │ ├── Effect.php │ ├── Email.php │ ├── Equip.php │ ├── Exchange.php │ ├── Extra.php │ ├── Formula.php │ ├── Hero.php │ ├── Horse.php │ ├── Icon.php │ ├── Item.php │ ├── Liveness.php │ ├── Lottery.php │ ├── Mall.php │ ├── MapBattle.php │ ├── MapCity.php │ ├── MapWild.php │ ├── March.php │ ├── March │ │ ├── Action.php │ │ ├── Hold.php │ │ ├── Info.php │ │ ├── List.php │ │ ├── Queue.php │ │ └── Wait.php │ ├── Merge.php │ ├── Message.php │ ├── MultiFB.php │ ├── NPC.php │ ├── Pay.php │ ├── Probe.php │ ├── Props.php │ ├── Qq.php │ ├── QqShare.php │ ├── RandName.php │ ├── Ranking.php │ ├── Rmon.php │ ├── Skill.php │ ├── SoloFB.php │ ├── Stats.php │ ├── Sync.php │ ├── Task.php │ ├── Task │ │ └── QqShare.php │ ├── Tech.php │ ├── Union.php │ ├── User.php │ ├── Vip.php │ ├── War.php │ ├── WarReport.php │ └── Weapon.php ├── O │ ├── Answer.php │ ├── Army.php │ ├── Build.php │ ├── CD.php │ ├── City.php │ ├── ColonyNpc.php │ ├── Equip.php │ ├── FindHero.php │ ├── Floor.php │ ├── Hero.php │ ├── I.php │ ├── Liveness.php │ ├── Log.php │ ├── Pack.php │ ├── Player.php │ ├── Props.php │ ├── Quest.php │ ├── Res.php │ ├── SeekHero.php │ ├── Team.php │ ├── Tech.php │ ├── Vip.php │ └── Weapon.php ├── Q │ ├── AdmConsumer.php │ ├── AdmUser.php │ ├── Alliance.php │ ├── AllianceMember.php │ ├── Auction.php │ ├── AuctionOl.php │ ├── BaseArmy.php │ ├── BaseAward.php │ ├── BaseBreakout.php │ ├── BaseBuild.php │ ├── BaseBuildAttr.php │ ├── BaseCampaign.php │ ├── BaseConfig.php │ ├── BaseEquipSuit.php │ ├── BaseEquipTpl.php │ ├── BaseExchange.php │ ├── BaseHeroTpl.php │ ├── BaseMall.php │ ├── BaseMultiFB.php │ ├── BaseNpcHero.php │ ├── BaseNpcTroop.php │ ├── BaseProbe.php │ ├── BaseProps.php │ ├── BaseQqShare.php │ ├── BaseQuest.php │ ├── BaseQuestion.php │ ├── BaseSkill.php │ ├── BaseTask.php │ ├── BaseTech.php │ ├── BaseTechAttr.php │ ├── BaseWarFB.php │ ├── BaseWarFbChapter.php │ ├── BaseWarMapCell.php │ ├── BaseWarMapData.php │ ├── BaseWeapon.php │ ├── Campaign.php │ ├── City.php │ ├── CityBreakout.php │ ├── CityCard.php │ ├── CityCollege.php │ ├── CityColony.php │ ├── CityEquip.php │ ├── CityExtra.php │ ├── CityHero.php │ ├── CityHorse.php │ ├── CityItem.php │ ├── CityLottery.php │ ├── CityMultiFB.php │ ├── CityQqShare.php │ ├── CityTask.php │ ├── FbPass.php │ ├── Horse.php │ ├── LogCoin.php │ ├── LogOp.php │ ├── Map.php │ ├── Message.php │ ├── ServerCompensate.php │ ├── ServerConfig.php │ ├── ServerNews.php │ ├── ServerNotice.php │ ├── StatsLogCityBuild.php │ ├── StatsLogExpense.php │ ├── StatsLogIncome.php │ ├── StatsLogPay.php │ ├── TeamMultiFb.php │ ├── User.php │ ├── WarMarch.php │ ├── WarReport.php │ └── WildMap.php ├── T │ ├── App.php │ ├── Battle.php │ ├── Build.php │ ├── Chat.php │ ├── DBField.php │ ├── Effect.php │ ├── Equip.php │ ├── ErrNo.php │ ├── Hero.php │ ├── Key.php │ ├── Lang.php │ ├── Map.php │ ├── Props.php │ ├── Weapon.php │ └── Word.php └── v │ ├── index.php │ ├── layout.php │ └── report.php └── www ├── adm.php ├── api.php ├── call.php ├── common.php ├── crossdomain.xml ├── login.php ├── qq ├── QqLive.php ├── QqShare.php ├── confirmpay.php ├── pay.php └── py_openapi.js ├── styles ├── adm │ ├── css │ │ ├── base.css │ │ ├── images │ │ │ ├── buttons.gif │ │ │ └── toolbar.gif │ │ ├── jquery.cleditor.css │ │ └── start │ │ │ ├── images │ │ │ ├── ui-bg_flat_55_999999_40x100.png │ │ │ ├── ui-bg_flat_75_aaaaaa_40x100.png │ │ │ ├── ui-bg_glass_45_0078ae_1x400.png │ │ │ ├── ui-bg_glass_55_f8da4e_1x400.png │ │ │ ├── ui-bg_glass_75_79c9ec_1x400.png │ │ │ ├── ui-bg_gloss-wave_45_e14f1c_500x100.png │ │ │ ├── ui-bg_gloss-wave_50_6eac2c_500x100.png │ │ │ ├── ui-bg_gloss-wave_75_2191c0_500x100.png │ │ │ ├── ui-bg_inset-hard_100_fcfdfd_1x100.png │ │ │ ├── ui-icons_0078ae_256x240.png │ │ │ ├── ui-icons_056b93_256x240.png │ │ │ ├── ui-icons_d8e7f3_256x240.png │ │ │ ├── ui-icons_e0fdff_256x240.png │ │ │ ├── ui-icons_f5e175_256x240.png │ │ │ ├── ui-icons_f7a50d_256x240.png │ │ │ └── ui-icons_fcd113_256x240.png │ │ │ └── jquery-ui-1.8.13.custom.css │ ├── images │ │ ├── add-icon.gif │ │ ├── adm_flash │ │ │ ├── BattlerCopyScene.swf │ │ │ ├── build_editor.swf │ │ │ ├── builds.swf │ │ │ ├── city_map_editor.swf │ │ │ └── war_map_editor.swf │ │ ├── arrow.gif │ │ ├── bg-center-column.jpg │ │ ├── del-icon.gif │ │ ├── edit-icon.gif │ │ ├── hr.gif │ │ ├── login-icon.gif │ │ ├── logo.gif │ │ ├── save-icon.gif │ │ └── war_map_cell │ │ │ ├── 1.jpg │ │ │ ├── 10.jpg │ │ │ ├── 11.jpg │ │ │ ├── 12.jpg │ │ │ ├── 13.jpg │ │ │ ├── 14.jpg │ │ │ ├── 15.jpg │ │ │ ├── 16.jpg │ │ │ ├── 17.jpg │ │ │ ├── 18.jpg │ │ │ ├── 19.jpg │ │ │ ├── 2.jpg │ │ │ ├── 20.jpg │ │ │ ├── 21.jpg │ │ │ ├── 3.jpg │ │ │ ├── 4.jpg │ │ │ ├── 5.jpg │ │ │ ├── 6.jpg │ │ │ ├── 7.jpg │ │ │ ├── 8.jpg │ │ │ └── 9.jpg │ └── js │ │ ├── CopyMapEditor.js │ │ ├── My97DatePicker │ │ ├── My97DatePicker.htm │ │ ├── WdatePicker.js │ │ ├── calendar.js │ │ ├── config.js │ │ ├── lang │ │ │ ├── en.js │ │ │ ├── zh-cn.js │ │ │ └── zh-tw.js │ │ └── skin │ │ │ ├── WdatePicker.css │ │ │ ├── datePicker.gif │ │ │ ├── default │ │ │ ├── datepicker.css │ │ │ └── img.gif │ │ │ └── whyGreen │ │ │ ├── bg.jpg │ │ │ ├── datepicker.css │ │ │ └── img.gif │ │ ├── jquery-1.5.1.min.js │ │ ├── jquery-ui-1.8.13.custom.min.js │ │ ├── jquery.cleditor.min.js │ │ ├── jquery.swfobject.1-1-1.min.js │ │ └── swfobject.js ├── bg.jpg ├── index.css ├── jquery.js ├── loading.gif ├── logo.png ├── main.css ├── qqmain.css └── swfobject.js ├── testdev.php ├── testlogin.php ├── tool ├── auth.php ├── gm_city.php ├── gm_hero.php ├── gm_union.php └── makecard.php └── wait.html /adm/c/Build.php: -------------------------------------------------------------------------------- 1 | 0 && $zhou > 0 && $areaVal) { 20 | $info = B_DB::instance('BaseBuild')->getOne($id); 21 | $oldArea = json_decode($info['area'], true); 22 | $oldArea[$zhou] = $areaVal; 23 | $newArea = json_encode($oldArea); 24 | //占地区域:(208,112,32,0,0,0,0,0) 25 | $res = B_DB::instance('BaseBuild')->update(array('area' => $newArea), $id); 26 | $flag = $res ? 1 : 0; 27 | } 28 | $json['flag'] = $flag; 29 | $json['data'] = array( 30 | 'id' => $id, 31 | 'area' => $area 32 | ); 33 | M_Build::delBuildBaseCache(); 34 | echo json_encode($json); 35 | 36 | } 37 | } 38 | 39 | ?> -------------------------------------------------------------------------------- /adm/c/Index.php: -------------------------------------------------------------------------------- 1 | verifyLogin($username, md5($password)); 21 | if ($ret) { 22 | M_Adm::setLoginInfo($ret); 23 | B_Common::redirect('?r=Index/Index'); 24 | } 25 | } 26 | B_Common::redirect('?r=Index/Login'); 27 | } 28 | 29 | static public function ALogout() { 30 | M_Adm::delLoginInfo(); 31 | B_Common::redirect('?r=Index/Login'); 32 | } 33 | } 34 | 35 | ?> -------------------------------------------------------------------------------- /adm/c/User.php: -------------------------------------------------------------------------------- 1 | FILTER_SANITIZE_NUMBER_INT, 17 | ); 18 | $formVals = filter_var_array($_REQUEST, $args); 19 | $offset = 25; 20 | $curPage = max(1, $formVals['page']); 21 | 22 | $pageData['list'] = B_DB::instance('City')->getPage($curPage, $offset); 23 | $totalNum = B_DB::instance('City')->total(); 24 | $pageData['page'] = B_Page::make($curPage, $totalNum, $offset, 20); 25 | 26 | B_View::setVal('pageData', $pageData); 27 | B_View::render('User/List'); 28 | } 29 | 30 | public function AAdd() { 31 | $args = array( 32 | 'id' => FILTER_SANITIZE_NUMBER_INT, 33 | ); 34 | $formVals = filter_var_array($_REQUEST, $args); 35 | 36 | $pageData['info'] = B_DB::instance('User')->get($formVals['id']); 37 | 38 | B_View::setVal('pageData', $pageData); 39 | B_View::render('User/Add'); 40 | } 41 | 42 | public function ADel() { 43 | 44 | B_Common::redirect('?r=user/list'); 45 | } 46 | } 47 | 48 | ?> -------------------------------------------------------------------------------- /adm/lib/PHPExcel/Calculation/ExceptionHandler.php: -------------------------------------------------------------------------------- 1 | 'Base/Index', 5 | '兵种列表' => 'Base/ArmyList&page=1', 6 | ); 7 | ?> 8 | 9 |
10 |

兵种数据列表

11 | 12 | 15 |
16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | $val) { ?> 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 43 | 44 | 45 |
ID兵种名描述金钱粮食石油人口操作
39 | 编辑  42 |
46 |
-------------------------------------------------------------------------------- /adm/v/Base/AwardImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '奖励导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 |

奖励管理

12 | 13 | 14 |
15 |
16 | $v): 20 | echo "{$k}#{$v}    "; 21 | if ($i % 7 == 0) { 22 | echo "
"; 23 | } 24 | $i++; 25 | endforeach; 26 | } 27 | 28 | ?> 29 |
30 | 31 | 32 | 33 | 34 | 35 | 36 | 39 | 40 | 41 | 42 | 43 | 44 | 45 |
奖励数据文件: 37 | 38 |
 
46 |
47 |
48 | 49 | -------------------------------------------------------------------------------- /adm/v/Base/BoutImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '突围导入' => '#', 6 | ); 7 | ?> 8 | 9 | 10 |
11 |

突围管理

12 | 13 | 14 |
15 |
16 | $v): 20 | echo "{$k}#{$v}    "; 21 | if ($i % 7 == 0) { 22 | echo "
"; 23 | } 24 | $i++; 25 | endforeach; 26 | } 27 | 28 | ?> 29 |
30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |
突围列表: 35 | 36 |
 
44 |
45 |
46 | 47 | -------------------------------------------------------------------------------- /adm/v/Base/CampaignImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '据点导入' => '#', 6 | ); 7 | ?> 8 | 9 | 10 |
11 |

据点管理

12 | 13 | 14 |
15 |
16 | $v): 20 | echo "{$k}#{$v}    "; 21 | if ($i % 7 == 0) { 22 | echo "
"; 23 | } 24 | $i++; 25 | endforeach; 26 | } 27 | 28 | ?> 29 |
30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |
据点列表: 35 | 36 |
 
44 |
45 |
46 | 47 | -------------------------------------------------------------------------------- /adm/v/Base/ConsumerList.php: -------------------------------------------------------------------------------- 1 | 'Base/Index', 5 | '运营商列表' => 'Base/ConsumerList', 6 | ); 7 | ?> 8 | 23 |
24 |

运营商管理

25 | 26 | 29 |
30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | $val) { ?> 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
ID运营商账号运营商密码运营商域名
47 |
-------------------------------------------------------------------------------- /adm/v/Base/EquipImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '装备导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 | 12 |

装备数据列表 13 |

14 | 15 | 19 |
20 |
21 | $v): 25 | echo "{$k}#{$v}    "; 26 | if ($i % 7 == 0) { 27 | echo "
"; 28 | } 29 | $i++; 30 | endforeach; 31 | } 32 | 33 | ?> 34 | 35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
装备: 43 | 44 |
 
52 |
53 | 54 | 55 |
56 | 57 | -------------------------------------------------------------------------------- /adm/v/Base/EquipSuitImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '套装装备导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 | 12 |

套装装备数据列表 13 |

14 | 15 | 21 |
22 |
23 | $v): 27 | echo "{$k}#{$v}    "; 28 | if ($i % 7 == 0) { 29 | echo "
"; 30 | } 31 | $i++; 32 | endforeach; 33 | } 34 | 35 | ?> 36 | 37 |
38 | 39 | 40 | 41 | 42 | 43 | 44 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |
装备: 45 | 46 |
 
54 |
55 | 56 | 57 |
58 | 59 | -------------------------------------------------------------------------------- /adm/v/Base/ExchangeImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '兑换列表' => 'Base/ExchangeList', 6 | ); 7 | ?> 8 | 9 | 10 |
11 | 12 |

兑换列表

13 | 14 | 18 |
19 |
20 | $v): 24 | echo "{$k}#{$v}    "; 25 | if ($i % 7 == 0) { 26 | echo "
"; 27 | } 28 | $i++; 29 | endforeach; 30 | } 31 | 32 | ?> 33 |
34 | 35 | 36 | 37 | 38 | 39 | 40 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
文件: 41 | 42 |
 
50 |
51 | 52 |
53 | 54 | -------------------------------------------------------------------------------- /adm/v/Base/HeroTplImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | 'NPC导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 |

英雄管理

12 | 13 | 14 |
15 |
16 | $v): 20 | echo "{$k}#{$v}    "; 21 | if ($i % 7 == 0) { 22 | echo "
"; 23 | } 24 | $i++; 25 | endforeach; 26 | } 27 | 28 | ?> 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
NPC英雄: 38 | 39 |
 
47 |
48 | 49 |
50 | 51 | -------------------------------------------------------------------------------- /adm/v/Base/MallImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '商城物品导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 | 12 |

商城物品数据列表 13 |

14 | 15 | 19 |
20 |
21 | $v): 25 | echo "{$k}#{$v}    "; 26 | if ($i % 7 == 0) { 27 | echo "
"; 28 | } 29 | $i++; 30 | endforeach; 31 | } 32 | 33 | ?> 34 | 35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
商城物品: 43 | 44 |
 
52 |
53 | 54 | 55 | 商城栏目[1内政道具,2军官道具,3宝物道具,4战斗道具,5图纸,6点券商城,7材料] 56 |
57 | 58 | -------------------------------------------------------------------------------- /adm/v/Base/MultiFBImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '多人副本列表' => 'Base/MultiFBList', 6 | ); 7 | ?> 8 | 9 | 10 |
11 | 12 |

多人副本导入

13 | 14 | 18 |
19 |
20 | $v): 24 | echo "{$k}#{$v}    "; 25 | if ($i % 7 == 0) { 26 | echo "
"; 27 | } 28 | $i++; 29 | endforeach; 30 | } 31 | 32 | ?> 33 |
34 | 35 | 36 | 37 | 38 | 39 | 40 | 43 | 44 | 45 | 46 | 47 | 48 | 49 |
文件: 41 | 42 |
 
50 |
51 | 52 |
53 | 54 | -------------------------------------------------------------------------------- /adm/v/Base/ProbeImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '事件导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 |

事件管理

12 | 13 | 14 |
15 |
16 | $v): 20 | echo "{$k}#{$v}    "; 21 | if ($i % 7 == 0) { 22 | echo "
"; 23 | } 24 | $i++; 25 | endforeach; 26 | } 27 | 28 | ?> 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
事件导入: 38 | 39 |
 
47 |
48 | 49 |
50 | 51 | -------------------------------------------------------------------------------- /adm/v/Base/QuestionImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '指引导入' => '#', 6 | ); 7 | ?> 8 | 9 | 10 |
11 |

新手指引管理

12 | 13 | 14 |
15 |
16 | $v): 20 | echo "{$k}#{$v}    "; 21 | if ($i % 7 == 0) { 22 | echo "
"; 23 | } 24 | $i++; 25 | endforeach; 26 | } 27 | 28 | ?> 29 |
30 | 31 | 32 | 33 | 34 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |
问题列表: 35 | 36 |
 
44 |
45 | 46 |
47 | 48 | -------------------------------------------------------------------------------- /adm/v/Base/SkillImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '技能列表导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 | 12 |

技能数据列表 13 |

14 | 15 | 21 |
22 |
23 | $v): 27 | echo "{$k}#{$v}    "; 28 | if ($i % 7 == 0) { 29 | echo "
"; 30 | } 31 | $i++; 32 | endforeach; 33 | } 34 | 35 | ?> 36 | 37 |
38 | 39 | 40 | 41 | 42 | 43 | 44 | 47 | 48 | 49 | 50 | 51 | 52 | 53 |
装备: 45 | 46 |
 
54 |
55 | 56 | 57 |
58 | 59 | -------------------------------------------------------------------------------- /adm/v/Base/UnionList.php: -------------------------------------------------------------------------------- 1 | 'Base/Index', 5 | '联盟列表' => 'Base/UnionList', 6 | ); 7 | ?> 8 | 9 |
10 |

游戏联盟管理

11 | 12 | 15 |
16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | $val) { ?> 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 41 | 42 | 43 |
ID名称等级排名军团长总人数总威望修正操作
39 | 总人数/威望 40 |
44 |
-------------------------------------------------------------------------------- /adm/v/Base/WeaponImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '武器导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 | 12 |

道具数据列表 13 |

14 | 15 | 19 |
20 |
21 | $v): 25 | echo "{$k}#{$v}    "; 26 | if ($i % 7 == 0) { 27 | echo "
"; 28 | } 29 | $i++; 30 | endforeach; 31 | } 32 | 33 | ?> 34 | 35 |
36 | 37 | 38 | 39 | 40 | 41 | 42 | 45 | 46 | 47 | 48 | 49 | 50 | 51 |
道具: 43 | 44 |
 
52 |
53 | 54 | 55 |
56 | 57 | -------------------------------------------------------------------------------- /adm/v/Cache/File.php: -------------------------------------------------------------------------------- 1 | 'index/index', 4 | 'Bin文件' => '', 5 | ); 6 | ?> 7 | 8 |
9 |

Bin文件列表

10 |
11 | 12 |
13 | ... 14 |
15 | 16 | 更新Bin文件 17 |
18 | -------------------------------------------------------------------------------- /adm/v/Cache/InfoList.php: -------------------------------------------------------------------------------- 1 | 'index/index', 4 | '缓存KEY列表' => '', 5 | ); 6 | ?> 7 | 8 |
9 |

缓存KEY信息列表

10 |
11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | $val) { 20 | ?> 21 | 22 | 23 | 29 | 30 | 31 |
KEY名 共 操作 清空
24 | 28 |
32 |
33 | -------------------------------------------------------------------------------- /adm/v/Cache/List.php: -------------------------------------------------------------------------------- 1 | 'index/index', 4 | '缓存KEY列表' => '', 5 | ); 6 | ?> 7 | 8 |
9 |

缓存KEY列表

10 |
11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 | $val) { ?> 20 | 21 | 22 | 23 | 24 | 27 | 28 | 29 |
KEY名KEY名操作
25 | 查看 26 |
30 |
31 | -------------------------------------------------------------------------------- /adm/v/Cache/Tip.php: -------------------------------------------------------------------------------- 1 | 'index/index', 4 | '缓存信息' => '', 5 | ); 6 | ?> 7 | 8 |
9 |

缓存信息

10 |
11 | 12 | 13 |
14 | 17 |
18 | 19 | 20 | -------------------------------------------------------------------------------- /adm/v/DataAccess.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /adm/v/DataCom.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /adm/v/Index/Login.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | ); 6 | ?> 7 | 8 | 9 |
10 |

登录操作

11 |
12 | 13 |
14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 | 24 | 25 | 26 | 27 | 30 | 31 | 32 | 33 | 34 | 37 | 38 |
登录操作
用户名称 22 | 23 |
用户密码 28 | 29 |
  35 | 36 |
39 |
40 | 41 |
-------------------------------------------------------------------------------- /adm/v/Manger/DebugIp.php: -------------------------------------------------------------------------------- 1 | 'index/index', 6 | ); 7 | ?> 8 |
9 |

调试IP列表

10 | 11 | 14 |
15 | 16 |
17 | 18 |
19 | 20 | 21 | 22 | 31 | 32 | 33 |
ip列表
23 | 192.168.0.1
24 | 192.168.*.* 25 |
26 | 28 |
29 | 30 |
34 |
35 |
-------------------------------------------------------------------------------- /adm/v/Manger/DelPayRow.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | ); 6 | ?> 7 |
8 |

清除特定用户充值记录

9 | 10 | 13 |
14 | 15 |
16 | 17 |
18 | 19 | 20 | 21 | 26 | 27 |
城市ID 22 | 23 |
24 | 25 |
28 |
29 |
-------------------------------------------------------------------------------- /adm/v/Manger/GMUser.php: -------------------------------------------------------------------------------- 1 | 'index/index', 6 | ); 7 | ?> 8 |
9 |

GM列表

10 | 11 | 14 |
15 | 16 |
17 | 18 |
19 | 20 | 21 | 22 | 30 | 31 | 32 |
GM用户列表 23 | username|password 24 |
25 | 27 |
28 | 29 |
33 |
34 |
-------------------------------------------------------------------------------- /adm/v/Manger/RestoreMerge.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | ); 6 | ?> 7 |
8 |

合服重新迁移

9 | 10 | 13 |
14 | 15 | 16 |
17 |
18 | 19 | 20 | 21 | 31 | 32 | 33 |
重新迁移的用户 22 | merge_80031_ww2,战神之风杀 23 |
24 | 25 |
26 | 是否删除 27 | 28 |
29 | 30 |
34 |
35 |
36 | 37 |
38 | "; 41 | echo "合服列表"; 42 | foreach ($pageData['mergeConf']['db']['database'] as $k => $v) { 43 | echo "[" . $k . '=>' . $v . '],'; 44 | } 45 | echo "
"; 46 | $info = M_Props::baseInfo($pageData['mergeConf']["compensate_props_id"]); 47 | echo "玩家补偿ID:" . $pageData['mergeConf']["compensate_props_id"] . "=>{$info['name']}
"; 48 | $info = M_Props::baseInfo($pageData['mergeConf']["union_props_id"]); 49 | echo "联盟补偿ID:" . $pageData['mergeConf']["union_props_id"] . "=>{$info['name']}
"; 50 | ?> 51 |
-------------------------------------------------------------------------------- /adm/v/Manger/UserGroup.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '权限组列表' => 'Manger/UserGroup', 6 | ); 7 | ?> 8 |
9 | 添加 10 | 11 |

权限组列表

12 | 13 | 16 |
17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | $val): ?> 27 | 28 | 29 | 30 | 35 | 36 | 37 |
ID权限组名称操作
31 | 删除 32 | 编辑 34 |
38 | 39 |
-------------------------------------------------------------------------------- /adm/v/Map/SecneList.php: -------------------------------------------------------------------------------- 1 | '', 6 | $name => '', 7 | ); 8 | ?> 9 | 10 |
11 |

地图编辑器

12 | 13 | 16 |
17 | 18 |
19 |
20 | 28 |
29 |
-------------------------------------------------------------------------------- /adm/v/Map/SecneView.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '装备列表' => '', 6 | ); 7 | ?> 8 | 9 |
10 | 11 |

地图编辑器

12 | 13 | 17 |
18 |
19 | 20 |
21 | 22 | 23 | 26 | 30 | 31 | 32 | 33 | 34 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 |
标记物名称: 25 | 27 | 29 |
图标: 35 | 37 |
 
46 |
47 |
48 | -------------------------------------------------------------------------------- /adm/v/Map/WarMapEditor.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '战场地图编辑器' => 'Map/WarMapEditor', 6 | ); 7 | 8 | $info = isset($pageData['info']) ? $pageData['info'] : ''; 9 | ?> 10 | 11 |
12 |

战场地图编辑器

13 | 14 | 17 |
18 | 19 | 33 | 34 |
35 | 36 |
-------------------------------------------------------------------------------- /adm/v/Map/WarMapImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '地图导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 |

地图管理

12 |
13 |
14 | $v): 18 | echo "{$k}#{$v}    "; 19 | if ($i % 7 == 0) { 20 | echo "
"; 21 | } 22 | $i++; 23 | endforeach; 24 | } 25 | ?> 26 | 27 |
导出每页100记录: 28 | ' . $i . ' '; 32 | } 33 | ?> 34 |
35 | 36 | 37 | 38 | 39 | 40 | 41 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
战场地图: 42 | 43 |
 
51 |
52 |
53 | 54 | -------------------------------------------------------------------------------- /adm/v/Server/Cron.php: -------------------------------------------------------------------------------- 1 |
2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | $val) { 14 | ?> 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 |
星期脚本
25 | 26 |
27 | -------------------------------------------------------------------------------- /adm/v/Server/Index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/adm/v/Server/Index.php -------------------------------------------------------------------------------- /adm/v/Server/Php.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /adm/v/Server/ReqNum.php: -------------------------------------------------------------------------------- 1 | 4 |
5 | 6 | 7 |
8 | 9 |
10 | -------------------------------------------------------------------------------- /adm/v/Server/Sys.php: -------------------------------------------------------------------------------- 1 | $val) { 5 | $list[$key] = $val; 6 | $arr[$val[3]]['cpu'] = isset($arr[$val[3]]['cpu']) ? $arr[$val[3]]['cpu'] + $val[1] : $val[1]; 7 | $arr[$val[3]]['mem'] = isset($arr[$val[3]]['mem']) ? $arr[$val[3]]['mem'] + $val[2] : $val[2]; 8 | $arr[$val[3]]['num'] = isset($arr[$val[3]]['num']) ? $arr[$val[3]]['num'] + 1 : 1; 9 | } 10 | 11 | ?> 12 | 18 |
19 | 进程概况: 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | $val) { 29 | ?> 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 |
CMDCPU VALMEM VALNUM
38 | 39 | 进程详细: 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | $val) { 50 | $i++; 51 | ?> 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 |
PIDCPUMEMCMD
60 | 共有 个进程 61 | 62 |
63 | 64 | -------------------------------------------------------------------------------- /adm/v/Server/UploadCode.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '代码更新' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 | 12 |

代码更新 13 |

14 | 15 | 19 |
20 | 21 |
22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
ZIP代码: 30 | 31 |
 
39 |
40 |
41 | -------------------------------------------------------------------------------- /adm/v/System/Config_Army.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '兵种' => 'System/Config&type=army', 6 | '英雄' => 'System/Config&type=hero', 7 | '装备' => 'System/Config&type=equip', 8 | ); 9 | $baselist = $pageData['baselist']; 10 | ?> 11 | 12 |
13 |

兵种配置

14 | 15 | 18 |
19 |
20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 | 29 | 30 | 31 | 32 | 33 | 35 | 36 | 37 | 38 | 39 | 40 | 41 |
用户信息
元首名称
用户昵称
42 |
43 |
44 | -------------------------------------------------------------------------------- /adm/v/System/Config_Drama.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '系统管理' => 'System/index', 6 | '剧情任务奖励配置' => 'System/ConfigDrama', 7 | ); 8 | 9 | $dramaAward = $pageData['info']; 10 | $dramaNum = $pageData['dramaNum']; 11 | $baselist = $pageData['baselist']; 12 | ?> 13 | 14 |
15 |

剧情任务奖励配置

16 | 17 | 20 |
21 |
22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 |
服务器配置信息 重要内容!请勿随意更改!!!
章节编号(从1开始)奖励内容(填奖励ID N个战役填N个值 用逗号,隔开)
46 |
47 |
48 | -------------------------------------------------------------------------------- /adm/v/System/Config_Weapon.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '系统管理' => 'System/index', 6 | ); 7 | $baselist = $pageData['baselist']; 8 | ?> 9 | 10 |
11 |

武器配置

12 | 13 | 16 |
17 | 18 |
19 | 20 |
21 | 22 | 23 | 24 | 37 | 38 | 39 | 40 | 41 | 44 | 45 |
租借武器设置 25 | 武器ID,租借时间(小时),军饷,军械所等级 26 |
27 | $val) { 31 | array_unshift($val, $id); 32 | $tmp[] = implode(",", $val); 33 | } 34 | ?> 35 | 36 |
42 | 43 |
46 |
47 |
48 | 49 | -------------------------------------------------------------------------------- /adm/v/User/Add.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | '用户列表' => 'user/list', 6 | '用户添加' => '', 7 | ); 8 | 9 | $info = $pageData['info']; 10 | ?> 11 | 12 |
13 |

用户管理

14 | 15 | 18 |
19 | 20 |
21 |
22 | 23 | '> 24 | 25 | 26 | 27 | 28 | 29 | 31 | 32 | 33 | 34 | 35 | 37 | 38 | 39 | 40 | 41 | 42 | 43 |
用户信息
元首名称
用户昵称
44 |
45 |
-------------------------------------------------------------------------------- /adm/v/War/WarFbImport.php: -------------------------------------------------------------------------------- 1 | 'index/index', 5 | 'NPC导入' => '', 6 | ); 7 | ?> 8 | 9 | 10 |
11 |

NPC管理

12 | 13 | 14 |
15 |
16 | $v): 20 | echo "{$k}#{$v}    "; 21 | if ($i % 7 == 0) { 22 | echo "
"; 23 | } 24 | $i++; 25 | endforeach; 26 | } 27 | 28 | ?> 29 | 30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 40 | 41 | 42 | 43 | 44 | 45 | 46 |
关卡对话: 38 | 39 |
 
47 |
48 | 49 |
50 | 51 | 52 | 53 | 54 | 57 | 58 | 59 | 60 | 61 | 62 | 63 |
NPC部队: 55 | 56 |
 
64 |
65 | 66 |
67 | 68 | -------------------------------------------------------------------------------- /adm/v/footer.php: -------------------------------------------------------------------------------- 1 | 4 | -------------------------------------------------------------------------------- /adm/v/header.php: -------------------------------------------------------------------------------- 1 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /adm/v/index.php: -------------------------------------------------------------------------------- 1 | 2 |
3 | 清除缓存 5 |
6 | -------------------------------------------------------------------------------- /adm/v/nav.php: -------------------------------------------------------------------------------- 1 | 1 -------------------------------------------------------------------------------- /etc/config.php: -------------------------------------------------------------------------------- 1 | 'localhost', 5 | 'database' => 's1_ww2', 6 | 'username' => 's1_user', 7 | 'password' => '', 8 | 'port' => '3306', 9 | ); 10 | 11 | /** 统计数据库配置 **/ 12 | $config['statsdb'] = array( 13 | 'hostname' => 'localhost', 14 | 'database' => 's1_ww2_stats', 15 | 'username' => 's1_user', 16 | 'password' => '', 17 | 'port' => '3306', 18 | ); 19 | 20 | /** 统计数据库配置 **/ 21 | $config['basedb'] = array( 22 | 'hostname' => 'localhost', 23 | 'database' => 's1_ww2_base', 24 | 'username' => 'base_user', 25 | 'password' => '', 26 | 'port' => '3306', 27 | ); 28 | 29 | /** 备份数据库配置 **/ 30 | $config['backup'] = array( 31 | 'hostname' => '127.0.0.1', 32 | 'username' => 'root', 33 | 'password' => '', 34 | 'port' => '3328', 35 | ); 36 | 37 | /** redis配置 **/ 38 | $config['redis'] = array( 39 | 'hostname' => array('127.0.0.1:6379'), 40 | 'db' => 1, 41 | ); 42 | 43 | 44 | return $config; 45 | ?> -------------------------------------------------------------------------------- /lib/Amfphp/amf/app/Actions.php: -------------------------------------------------------------------------------- 1 | getValue(); 18 | $time = microtime_float(); 19 | 20 | 21 | $results = B_Controller::call($args); 22 | 23 | global $amfphp; 24 | $amfphp['callTime'] += microtime_float() - $time; 25 | 26 | if ($results !== '__amfphp_error') { 27 | $amfbody->setResults($results); 28 | $amfbody->responseURI = $amfbody->responseIndex . "/onResult"; 29 | } 30 | return false; 31 | } 32 | 33 | ?> -------------------------------------------------------------------------------- /lib/Amfphp/amf/readme.txt: -------------------------------------------------------------------------------- 1 | The files located here are part of the amfphp core functionality. 2 | 3 | Unless you want to patch or add functionality to amfphp, you probably don't want to play with these files. -------------------------------------------------------------------------------- /lib/Amfphp/amf/util/DateWrapper.php: -------------------------------------------------------------------------------- 1 | _date = $input / 1000; 21 | } else { 22 | $this->_date = time(); 23 | } 24 | } 25 | 26 | /** 27 | * Get date according to client timezone 28 | */ 29 | function getClientDate() { 30 | return $this->_date + DateWrapper::getTimezone(); 31 | } 32 | 33 | /** 34 | * Get date according to server timezone 35 | */ 36 | function getServerDate() { 37 | return ($this->_date + date("Z")); 38 | } 39 | 40 | /** 41 | * Get raw date 42 | */ 43 | function getRawDate() { 44 | return $this->_date; 45 | } 46 | 47 | /** 48 | * Set utc date 49 | */ 50 | function setDate($input) { 51 | $this->_date = $input; 52 | } 53 | 54 | /** 55 | * Get timezone 56 | */ 57 | function getTimezone($val = NULL) { 58 | static $timezone = 0; 59 | if ($val != NULL) { 60 | $timezone = $val; 61 | } 62 | return $timezone; 63 | } 64 | 65 | /** 66 | * Set timezone 67 | */ 68 | function setTimezone($val = 0) { 69 | return DateWrapper::getTimezone($val); 70 | } 71 | } 72 | 73 | ?> -------------------------------------------------------------------------------- /lib/Amfphp/amf/util/TraceHeader.php: -------------------------------------------------------------------------------- 1 | EventType = "trace"; 16 | $this->Time = time(); 17 | $this->Source = "Server"; 18 | $this->Date = array(date("D M j G:i:s T O Y")); 19 | $this->messages = $traceStack; 20 | } 21 | } 22 | 23 | class ProfilingHeader { 24 | function ProfilingHeader() { 25 | global $amfphp; 26 | $this->EventType = "profiling"; 27 | 28 | $this->includeTime = (int)($amfphp['includeTime'] * 1000); 29 | $this->decodeTime = (int)($amfphp['decodeTime'] * 1000); 30 | $this->callTime = (int)($amfphp['callTime'] * 1000); 31 | $this->totalTime = (int)($amfphp['totalTime'] * 1000); 32 | $this->frameworkTime = ((int)($amfphp['totalTime'] * 1000)) 33 | - $this->includeTime 34 | - $this->decodeTime 35 | - $this->callTime; 36 | } 37 | } 38 | 39 | ?> -------------------------------------------------------------------------------- /lib/Amfphp/shared/app/Constants.php: -------------------------------------------------------------------------------- 1 | = 5 ? true : false); 47 | /** 48 | * The Content Type String 49 | */ 50 | $tmp = pack("d", 1); // determine the multi-byte ordering of this machine temporarily pack 1 51 | define("AMFPHP_BIG_ENDIAN", $tmp == "\0\0\0\0\0\0\360\77"); 52 | 53 | ?> 54 | -------------------------------------------------------------------------------- /lib/Amfphp/shared/app/Globals.php: -------------------------------------------------------------------------------- 1 | 'peardb', //PEAR::DB 36 | 'pdostatement' => 'pdo', //PDO 37 | 'mysqli_result' => 'mysqliobject', //Mysqli 38 | 'sqliteresult' => 'sqliteobject', //SQLite 39 | 'sqliteunbuffered' => 'sqliteobject', 40 | 'adorecordset' => 'adodb', //ADODB 41 | 'zend_db_table_row' => 'zendrow', //Zend::DB 42 | 'zend_db_table_rowset' => 'zendrowset', 43 | 'recordset' => 'plainrecordset', //Plain recordset 44 | 'doctrine_collection_immediate' => 'doctrine' //Doctrine table 45 | ); 46 | 47 | ?> -------------------------------------------------------------------------------- /lib/Amfphp/shared/app/php5Executive.php: -------------------------------------------------------------------------------- 1 | 53 | -------------------------------------------------------------------------------- /lib/Amfphp/shared/exception/php5Exception.php: -------------------------------------------------------------------------------- 1 | description = $string; 24 | $this->level = $level; 25 | $this->code = "AMFPHP_RUNTIME_ERROR"; 26 | $this->file = $file; 27 | $this->line = $line; 28 | Exception::__construct($string); 29 | } 30 | } 31 | 32 | function amfErrorHandler($level, $string, $file, $line, $context) { 33 | //forget about errors not defined at reported 34 | $msg = new VerboseException($string, $level, $file, $line); 35 | Logger::write($msg, 'php', false); 36 | } 37 | 38 | set_error_handler("amfErrorHandler"); 39 | ?> -------------------------------------------------------------------------------- /lib/Amfphp/shared/util/CompatPhp5.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/Amfphp/shared/util/Headers.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/Amfphp/shared/util/MessageHeader.php: -------------------------------------------------------------------------------- 1 | name = $name; 44 | $this->required = $required; 45 | $this->value = $value; 46 | } 47 | } 48 | 49 | ?> -------------------------------------------------------------------------------- /lib/Amfphp/shared/util/NetDebug.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/Amfphp/shared/util/functions.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /lib/openqq/SnsSigCheck.php: -------------------------------------------------------------------------------- 1 | $val) { 39 | array_push($query_string, $key . '=' . $val); 40 | } 41 | $query_string = join('&', $query_string); 42 | 43 | return $strs . rawurlencode($query_string); 44 | } 45 | } 46 | 47 | 48 | // end of script 49 | -------------------------------------------------------------------------------- /log/readme.txt: -------------------------------------------------------------------------------- 1 | 一、服务器错误日志 2 | apc是否正常 3 | mysql系统是否正常 4 | redis系统是否正常 5 | 6 | 二、程序错误日志 7 | 8 | 三、军饷 礼卷消耗日志 9 | 10 | 四、资源日志 11 | 12 | 五、 非法访问日志 13 | 14 | -------------------------------------------------------------------------------- /run/s1/common.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /run/s1/cron/CronPerMin.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | -------------------------------------------------------------------------------- /run/s1/cron/crontab_root: -------------------------------------------------------------------------------- 1 | #每1小时同步时间 2 | 10 * * * * /usr/sbin/ntpdate time.windows.com 3 | -------------------------------------------------------------------------------- /run/s1/cron/crontab_www: -------------------------------------------------------------------------------- 1 | #每1分钟统计一次 2 | * * * * * /opt/ww2/run/cron/CronPerMin.php 3 | -------------------------------------------------------------------------------- /run/s1/cron/dbbakup.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | -------------------------------------------------------------------------------- /run/s1/cron/nginx_cut_log.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | ## 零点执行该脚本 3 | ## 日志切割脚本 4 | ## Nginx 日志文件所在的目录 5 | LOGS_PATH=/opt/nginx/logs 6 | ## 获取昨天的 yyyy-MM-dd 7 | YESTERDAY=$(date -d "yesterday" +%Y%m%d) 8 | ## 移动文件 9 | mv ${LOGS_PATH}/access.log ${LOGS_PATH}/access_${YESTERDAY}.log 10 | mv ${LOGS_PATH}/error.log ${LOGS_PATH}/error_${YESTERDAY}.log 11 | ## 向 Nginx 主进程发送 USR1 信号。USR1 信号是重新打开日志文件 12 | kill -USR1 $(cat /opt/nginx/run/nginx.pid) 13 | -------------------------------------------------------------------------------- /run/s1/cron/readme.txt: -------------------------------------------------------------------------------- 1 | minute hour day month dayofweek command 2 | */1 * * * * (/usr/local/bin/php /home/eygle/tw2ohter/cron.php) 3 | 每分钟执行一次 4 | 5 | # record the memory usage of the system every monday 6 | # at 3:30AM in the file /tmp/meminfo 7 | 30 3 * * * cat /proc/meminfo >> /tmp/meminfo 8 | 9 | 10 | # run custom script the first day of every month at 4:10AM 11 | 10 4 1 * * /root/scripts/backup.sh 12 | 13 | 14 | minute — 分钟,从 0 到 59 之间的任何整数 15 | 16 | hour — 小时,从 0 到 23 之间的任何整数 17 | 18 | day — 日期,从 1 到 31 之间的任何整数(如果指定了月份,必须是该月份的有效日期) 19 | 20 | month — 月份,从 1 到 12 之间的任何整数(或使用月份的英文简写如 jan、feb 等等) 21 | 22 | dayofweek — 星期,从 0 到 7 之间的任何整数,这里的 0 或 7 代表星期日(或使用星期的英文简写如 sun、mon 等等) 23 | 24 | command — 要执行的命令(命令可以是 ls /proc >> /tmp/proc 之类的命令,也可以是执行你自行编写的脚本的命令。) 25 | 26 | 27 | 如果需要按秒钟 则需要用C 来写守护进程脚本 -------------------------------------------------------------------------------- /run/s1/deamon/DeamonBattleHandler.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | " . time(). "\n"; 18 | } 19 | */ 20 | if ($pids[$i] == -1) { 21 | echo "couldn't fork" . "\n"; 22 | } elseif (!$pids[$i]) { 23 | while (1) { 24 | $pid = getmypid(); 25 | $now = microtime(true); 26 | //战斗的ID队列列表 27 | M_Battle_QueueHandler::run($i); 28 | $end = microtime(true); 29 | echo "[{$i}][{$pid}][M_Battle_QueueHandler::run]CostTime:" . sprintf("%f secs.", $end - $now) . " \n"; 30 | 31 | M_Battle_QueueAI::run($i); 32 | $end2 = microtime(true); 33 | $costTime = sprintf("%f secs.\n", $end2 - $end); 34 | echo "[{$i}][{$pid}][M_Battle_QueueAI::run]#CostTime:" . sprintf("%f secs.", $end2 - $end) . "\n"; 35 | 36 | sleep(3); 37 | } 38 | 39 | exit(0); //子进程要exit否则会进行递归多进程,父进程不要exit否则终止多进程 40 | } 41 | if ($bWaitFlag) { 42 | pcntl_waitpid($pids[$i], $status, WUNTRACED); 43 | echo "wait $i -> " . time() . "\n"; 44 | } 45 | } 46 | $elapsed = microtime(TRUE) - $starttime; 47 | print "\n==> total elapsed: " . sprintf("%f secs.\n", $elapsed); 48 | 49 | 50 | ?> 51 | -------------------------------------------------------------------------------- /run/s1/deamon/DeamonCityVisitQueue.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | " . time(). "\n"; 19 | } 20 | */ 21 | if ($pids[$i] == -1) { 22 | echo "couldn't fork" . "\n"; 23 | } elseif (!$pids[$i]) { 24 | while (1) { 25 | $pid = getmypid(); 26 | $now = microtime(true); 27 | M_March::run($i); 28 | $end = microtime(true); 29 | echo "[{$i}][{$pid}][M_March::run]#CostTime:" . sprintf("%f secs.", $end - $now) . "\n"; 30 | 31 | sleep(3); 32 | } 33 | 34 | exit(0); //子进程要exit否则会进行递归多进程,父进程不要exit否则终止多进程 35 | } 36 | if ($bWaitFlag) { 37 | pcntl_waitpid($pids[$i], $status, WUNTRACED); 38 | echo "wait $i -> " . time() . "\n"; 39 | } 40 | } 41 | $elapsed = microtime(TRUE) - $starttime; 42 | print "\n==> total elapsed: " . sprintf("%f secs.\n", $elapsed); 43 | 44 | 45 | 46 | ?> -------------------------------------------------------------------------------- /run/s1/deamon/run.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | '行军守护进程', 14 | 'DeamonBattleHandler.php' => '战斗队列守护进程', 15 | 'DeamonCityVisitQueue.php' => '访问队列', 16 | ); 17 | 18 | 19 | $proc = array(); 20 | foreach ($outArr as $val) { 21 | if (!empty($val)) { 22 | list($pid, $pname) = explode(',', $val); 23 | $info = pathinfo($pname); 24 | $name = $info['filename']; 25 | $proc[$name] = $pid; 26 | } 27 | } 28 | 29 | 30 | if (!empty($argv[1])) { 31 | switch ($argv[1]) { 32 | 33 | case 'stop': 34 | foreach ($outArr as $val) { 35 | if (!empty($val)) { 36 | list($pid, $pname) = explode(',', $val); 37 | posix_kill($pid, 9); 38 | echo "Kill $pname $pid [OK]\n"; 39 | } 40 | } 41 | break; 42 | case 'restart': 43 | case 'start': 44 | foreach ($enableArr as $fileName => $desc) { 45 | if (isset($proc[$fileName])) { 46 | echo "{$desc} Pid:[{$proc[$fileName]}] {$fileName} [Found]\n"; 47 | } else { 48 | $cmd = "nohup {$dir_path}/{$fileName} > /dev/null & "; 49 | $cmdout = shell_exec($cmd); 50 | echo $cmdout; 51 | echo "Run {$desc} {$fileName} [OK]\n"; 52 | } 53 | } 54 | break; 55 | } 56 | } else { 57 | echo "需要参数: (start,restart,stop)\n"; 58 | } 59 | 60 | 61 | $end = microtime(true); 62 | $costTime = $end - $start; 63 | echo "End Cost Time: {$costTime} \n\n"; 64 | ?> 65 | -------------------------------------------------------------------------------- /run/s1/deamon/test.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | $info['user_id'], 16 | 'sess_id' => $sessId, 17 | 'city_id' => $info['city_id'], 18 | 'ip_addr' => $ip, 19 | 'expire' => $expire, 20 | 'verify' => sha1($info['user_id'] . '|' . $sessId . '|' . $info['city_id'] . '|' . $ip . '|' . $expire . '|' . M_Auth::COOKIE_KEY), 21 | ); 22 | 23 | 24 | $cookieStr = B_Crypt::encode(json_encode($data)); 25 | M_Auth::addOnline($info['user_id'], $sessId, $ip); 26 | $apiurl = "http://www.mswar2.com/dev.php?r=city/info"; 27 | $r = new HttpRequest($apiurl, HttpRequest::METH_GET); 28 | 29 | $r->setOptions(array('cookies' => array('A' => $cookieStr))); 30 | $out = $r->send()->getBody(); 31 | echo json_encode($out); 32 | var_dump($i); 33 | 34 | 35 | } 36 | usleep(1000); 37 | } 38 | 39 | ?> 40 | -------------------------------------------------------------------------------- /run/s1/init/InitWildNpc.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | -------------------------------------------------------------------------------- /run/s1/init/ResetWildMap.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | $zname) { 12 | $pid = pcntl_fork(); 13 | //这里最好不要有其他的语句 14 | if ($pid == -1) { 15 | die('could not fork'); 16 | } else if ($pid) { 17 | $p[$pid] = 'ok'; 18 | echo "we are the parent $pid\n"; 19 | //pcntl_wait($status); //Protect against Zombie children 20 | //echo $status."\n"; 21 | } else { 22 | $id = posix_getpid(); 23 | //posix_kill($id, SIGHUP); 24 | //posix_kill($id, SIGINT); 25 | echo "I am the child $id\n"; 26 | 27 | echo "start clean zone#{$zone}\n"; 28 | $no = 1; 29 | foreach ($baseAreaList as $areaNo => $posArr) { 30 | $bDel = array(); 31 | foreach ($posArr as $posXY) { 32 | list($x, $y) = explode('_', $posXY); 33 | $posNo = M_MapWild::calcWildMapPosNoByXY($zone, $x, $y); 34 | $mapInfo = M_MapWild::getWildMapInfo($posNo, true); 35 | if ($mapInfo['type'] == T_Map::WILD_MAP_CELL_NPC) { 36 | M_MapWild::delWildMapInfo($posNo); 37 | $bDel[] = $posNo; 38 | } 39 | } 40 | 41 | $rc = new B_Cache_RC(T_Key::WILD_MAP_AREA, $zone . ':' . $areaNo); 42 | $ret = $rc->delete(); 43 | 44 | //$ret = M_MapWild::setWildMapAreaCache($zone, $areaNo); 45 | echo "{$zone}=>{$no}#{$areaNo}#" . json_encode($ret) . "==" . json_encode($bDel) . "\n"; 46 | $no++; 47 | } 48 | echo "end clean zone#{$zone}\n"; 49 | 50 | exit; 51 | } 52 | 53 | 54 | } 55 | 56 | ?> -------------------------------------------------------------------------------- /run/s1/merge/move_export_data.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | 10) { 11 | echo "init num need in [1, 10]\n"; 12 | exit; 13 | } 14 | 15 | 16 | $s = microtime(true); 17 | 18 | //设置拍卖行数据过期 19 | $nowtime = time(); 20 | $expiretime = time() - T_App::ONE_HOUR; 21 | 22 | $ret = B_DB::instance('Auction')->updateBy(array('auction_expired' => $expiretime), array('auction_expired' => array('>', $nowtime))); 23 | 24 | //更新所有拍卖交易数据 25 | M_Auction::updateAucInfoTimer(); 26 | 27 | //同步数据到内存 28 | M_CacheToDB::runQueue(); 29 | 30 | M_Merge::exportData($initNum); 31 | $e = microtime(true); 32 | echo "cost time:" . ceil($e - $s) . "s\n"; 33 | 34 | 35 | ?> -------------------------------------------------------------------------------- /run/s1/merge/move_verify_data.php: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env php 2 | -------------------------------------------------------------------------------- /run/s1/test/phar.php: -------------------------------------------------------------------------------- 1 | buildFromDirectory('/opt/ww2/srv/v1'); 10 | ?> 11 | -------------------------------------------------------------------------------- /srv/A/Rmon/Cache.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/A/Rmon/Server.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/A/Server/Base.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/A/Server/Consumer.php: -------------------------------------------------------------------------------- 1 | delete($params['cid']); 26 | Logger::debug(array("Del Consumer", array($params, $ret))); 27 | if ($ret) { 28 | M_Consumer::clean(); 29 | } 30 | } 31 | return $ret; 32 | } 33 | 34 | static public function addConsumer($params) { 35 | $ret = false; 36 | if (!empty($params['id']) && 37 | !empty($params['name']) && 38 | !empty($params['key']) 39 | ) { 40 | $params['create_at'] = time(); 41 | $ret = B_DB::instance('AdmConsumer')->insert($params); 42 | Logger::debug(array("Add Consumer", $params)); 43 | if ($ret) { 44 | M_Consumer::clean(); 45 | } 46 | } 47 | return $ret; 48 | 49 | } 50 | } 51 | 52 | ?> -------------------------------------------------------------------------------- /srv/A/Stats/ActiveUser.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/A/Stats/Assistance.php: -------------------------------------------------------------------------------- 1 | jsonget(); 14 | if (empty($infoArr)) { 15 | $infoArr = B_DB::instance('ServerNews')->all(); 16 | $rc->jsonset($infoArr); 17 | } 18 | $listArr = $infoArr; 19 | } 20 | 21 | 22 | return $listArr; 23 | } 24 | 25 | static public function AddAssistance($params = array()) { 26 | $ret = false; 27 | $ret1 = false; 28 | if (!empty($params['id'])) { 29 | $ret = B_DB::instance('ServerNews')->update($params, $params['id']); 30 | } else { 31 | $ret = B_DB::instance('ServerNews')->insert($params); 32 | } 33 | $rc = new B_Cache_RC(T_Key::SERVER_NEWS); 34 | $ret1 = $rc->delete(); 35 | return $ret && $ret1; 36 | 37 | } 38 | 39 | static public function DelAssistance($params = array()) { 40 | $ret = false; 41 | $ret1 = false; 42 | $ret = B_DB::instance('ServerNews')->delete($params['id']); 43 | $rc = new B_Cache_RC(T_Key::SERVER_NEWS); 44 | $ret1 = $rc->delete(); 45 | return $ret && $ret1; 46 | } 47 | } 48 | 49 | ?> -------------------------------------------------------------------------------- /srv/A/Stats/Card.php: -------------------------------------------------------------------------------- 1 | getRows($curPage, $offset, $params); //根据条件获得卡类道具使用记录 15 | $propsArr = M_Base::propsAll(); 16 | foreach ($list as $key => $value) { 17 | $city_info = M_City::getInfo($value['city_id']); 18 | $list[$key]['nickname'] = $city_info['nickname']; 19 | $propsInfo = $propsArr[$value['props_id']]; 20 | $list[$key]['props_name'] = $propsInfo['name']; 21 | $list[$key]['create_at'] = date('Y-m-d H:i:s', $value['create_at']); 22 | } 23 | 24 | $ret['list'] = $list; 25 | $ret['total'] = B_DB::instance('CityCard')->total($params); 26 | 27 | return $ret; 28 | } 29 | 30 | 31 | } 32 | 33 | ?> -------------------------------------------------------------------------------- /srv/A/Stats/DayActiveUser.php: -------------------------------------------------------------------------------- 1 | hgetall(); 18 | $row[date('Ymd')] = $data; 19 | return $row; 20 | } 21 | 22 | static public function DayActiveUserList($params = array()) { 23 | $row = array(); 24 | $date = isset($params['date']) ? $params['date'] : ''; //当月的天数 25 | $start = $date; //1日0时0分0秒 26 | $end = $date; //月末23时59分59秒 27 | if ($date == date('Ymd')) { 28 | $rc = new B_Cache_RC(T_Key::CITY_ACTIVE_NUM, date('Ymd')); 29 | $data = $rc->hgetall(); 30 | $cityIdArr = array_keys($data); 31 | } else { 32 | $row = B_DBStats::totalOnline('stats_active_num', $start, $end); 33 | $cityIdArr = array_keys(json_decode(gzuncompress(base64_decode($row[0]['city_list'], true)), true)); 34 | } 35 | 36 | foreach ($cityIdArr as $cityId) { 37 | $list[] = M_City::getInfo($cityId); 38 | 39 | } 40 | 41 | return $list; 42 | } 43 | } 44 | 45 | ?> -------------------------------------------------------------------------------- /srv/A/Stats/GetNickname.php: -------------------------------------------------------------------------------- 1 | = 0) { 46 | for ($i = 0; $i <= $num; $i++) { 47 | $cityId = $cityId1 + $i; 48 | $cityInfo = M_City::getInfo($cityId); //获取城市信息 49 | if (!empty($cityInfo)) { 50 | $nickNameArr[] = $cityInfo['nickname']; 51 | } 52 | } 53 | $nickName = implode("\n", $nickNameArr); 54 | } 55 | return $nickName; 56 | 57 | } 58 | } 59 | 60 | ?> -------------------------------------------------------------------------------- /srv/A/Stats/HistoryHigh.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/A/Stats/OutflowUser.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/A/Stats/RankingRecord.php: -------------------------------------------------------------------------------- 1 | $val) { 22 | $cityId = M_City::getCityIdByNickName(trim($val)); 23 | if ($cityId > 0) { 24 | $cityInfo = M_City::getInfo($cityId); 25 | if (isset($consumerIds[$cityInfo['consumer_id']])) { 26 | $newName[$key] = array( 27 | 'id' => $cityId, 28 | 'nickname' => trim($val) 29 | ); 30 | } 31 | } 32 | } 33 | 34 | if (empty($newName)) { 35 | return (array)false; 36 | } 37 | 38 | $nickname = $newName; 39 | foreach ($nickname as $val) { 40 | $rc = new B_Cache_RC(T_Key::RANKINGS_RECORD); 41 | $rc->zAdd($params['ranking_value'], $val['id']); 42 | } 43 | 44 | return 1; 45 | } 46 | } 47 | 48 | ?> -------------------------------------------------------------------------------- /srv/B/Cache/APC.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/B/Cache/File.php: -------------------------------------------------------------------------------- 1 | self::$Data, 32 | 'ErrNo' => self::$RetErr, 33 | ); 34 | 35 | return $ret; 36 | } 37 | 38 | static public function call($args) { 39 | $tc = ucfirst($args[0]); 40 | $ta = ucfirst($args[1]); 41 | $c = 'C_' . $tc; 42 | $a = 'A' . $ta; 43 | unset($args[0]); 44 | unset($args[1]); 45 | 46 | $data = array(); 47 | 48 | $objC = new $c(); 49 | if (!$objC->isLogin()) { 50 | $errNo = T_ErrNo::NO_LOGIN; 51 | $outData = B_Common::result($errNo, $data); 52 | } else if ($objC->hasCity() || $c == 'C_User' || $a == 'ACreate' || $a == 'ARandName' || $a == 'ACheckCityNickname') { 53 | $outData = call_user_func_array(array($objC, $a), $args); 54 | } else { 55 | $errNo = T_ErrNo::CITY_NO_EXIST; 56 | $outData = B_Common::result($errNo, $data); 57 | } 58 | 59 | $results = B_Common::outData($c, $a, $outData); 60 | 61 | return $results; 62 | } 63 | } 64 | 65 | ?> -------------------------------------------------------------------------------- /srv/B/Crypt.php: -------------------------------------------------------------------------------- 1 | level = $level; 13 | $this->code = "WW2PHP_RUNTIME_ERROR"; 14 | $this->file = $file; 15 | $this->line = $line; 16 | Exception::__construct($string); 17 | } 18 | } -------------------------------------------------------------------------------- /srv/B/Log/Queue.php: -------------------------------------------------------------------------------- 1 | rpush(json_encode(array($msg, $fileDir, $fileName))); 16 | return $ret; 17 | } 18 | 19 | static public function run() { 20 | $rc = new B_Cache_RC(T_Key::LOG_QUEUE); 21 | while ($val = $rc->rPop()) { 22 | list($msg, $fileDir, $fileName) = json_decode($val); 23 | 24 | if (!file_exists($fileDir)) { 25 | @mkdir($fileDir, 0777, true); 26 | @chmod($fileDir, 0777); 27 | } 28 | $logFile = $fileDir . $fileName; 29 | error_log($msg, 3, $logFile); 30 | usleep(500); 31 | } 32 | } 33 | 34 | 35 | } 36 | 37 | ?> -------------------------------------------------------------------------------- /srv/B/Page.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/B/View.php: -------------------------------------------------------------------------------- 1 | 11000, 15 | 'max_rank' => 1, 16 | 'cur_rank' => 1, 17 | 'max_win_num' => 100, 18 | 'cur_win_num' => 100, 19 | 'next_award_time' => time() + 180, 20 | 'rank_award_list' => array( 21 | array('rank' => 100, 'award_data' => array()), 22 | array('rank' => 200, 'award_data' => array()), 23 | array('rank' => 300, 'award_data' => array()), 24 | array('rank' => 500, 'award_data' => array()), 25 | array('rank' => 1000, 'award_data' => array()), 26 | ), 27 | 'city_list' => array( 28 | array('nickname' => 'xxx1', 'rank' => 1001, 'id' => 1), 29 | array('nickname' => 'xxx2', 'rank' => 1002, 'id' => 2), 30 | array('nickname' => 'xxx3', 'rank' => 1003, 'id' => 3), 31 | array('nickname' => 'xxx4', 'rank' => 1004, 'id' => 4), 32 | array('nickname' => 'xxx5', 'rank' => 1005, 'id' => 5), 33 | ), 34 | 'log' => array( 35 | array('title' => 'xxxx', 'id' => 1), 36 | array('title' => 'xxxx', 'id' => 1), 37 | array('title' => 'xxxx', 'id' => 1), 38 | array('title' => 'xxxx', 'id' => 1), 39 | ), 40 | ); 41 | 42 | return B_Common::result($errNo, $data); 43 | } 44 | 45 | /** 46 | * 挑战 47 | * 48 | */ 49 | public function ADo($rankNo = 0) { 50 | 51 | } 52 | 53 | /** 54 | * 领取奖励 55 | * 56 | */ 57 | public function AAward() { 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /srv/C/College.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/C/Compensate.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/C/FbTeam.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/C/I.php: -------------------------------------------------------------------------------- 1 | objPlayer = new O_Player($cityId); 10 | } 11 | 12 | public function isLogin() { 13 | $cityId = $this->objPlayer->getId(); 14 | return $cityId; 15 | } 16 | 17 | public function hasCity() { 18 | $ret = false; 19 | $id = $this->objPlayer->City()->id; 20 | if (!empty($id)) { 21 | $ret = $id; 22 | } 23 | return $ret; 24 | } 25 | } -------------------------------------------------------------------------------- /srv/C/Index.php: -------------------------------------------------------------------------------- 1 | FILTER_SANITIZE_STRING, 16 | 'cid' => FILTER_SANITIZE_STRING, 17 | ); 18 | $formVals = filter_var_array($_REQUEST, $args); 19 | if (!empty($formVals['vk'])) { 20 | $pageData['server_res_url'] = M_Config::getSvrCfg('server_res_url'); 21 | $pageData['server_title'] = M_Config::getSvrCfg('server_title'); 22 | $domain = B_Utils::getHost(); 23 | $pageData['domain'] = $domain; 24 | $pageData['sid'] = 1; 25 | $pageData['resXmlFile'] = str_replace('.', '_', $domain) . '.xml'; 26 | $pageData['ver'] = ETC_NO; 27 | $pageData['val'] = $formVals['vk']; 28 | B_View::render('report', $pageData); 29 | exit; 30 | } else { 31 | headers_sent() OR header('HTTP/1.0 404 Page Not Found!!!'); 32 | exit; 33 | } 34 | return true; 35 | } 36 | } 37 | 38 | ?> -------------------------------------------------------------------------------- /srv/M/Adm.php: -------------------------------------------------------------------------------- 1 | $info['id'], 15 | 'username' => $info['username'], 16 | ); 17 | $cookieStr = B_Crypt::encode(json_encode($data)); 18 | 19 | $ret = setcookie('Adm', $cookieStr, 0); 20 | } 21 | 22 | static public function delLoginInfo() { 23 | $ret = setcookie('Adm', '', time() - 3600); 24 | } 25 | 26 | /** 27 | * 解析登录cookie信息 28 | * @author huwei 29 | * @return array/bool 30 | */ 31 | static public function getLoginInfo() { 32 | $ret = false; 33 | $args = array( 34 | 'Adm' => FILTER_SANITIZE_STRING, 35 | ); 36 | $formVals = filter_input_array(INPUT_COOKIE, $args); 37 | 38 | if (!empty($formVals['Adm'])) { 39 | $decodeStr = B_Crypt::decode($formVals['Adm']); 40 | $now = time(); 41 | $info = json_decode($decodeStr, true); 42 | $logout = true; 43 | $userId = 0; 44 | 45 | if (count($info) == 2 && isset($info['username'])) { 46 | $ret = $info; 47 | } 48 | } 49 | 50 | return $ret; 51 | } 52 | } 53 | 54 | ?> -------------------------------------------------------------------------------- /srv/M/AntiAddiction.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/M/Army.php: -------------------------------------------------------------------------------- 1 | '步兵', 18 | self::ID_ARMOR => '装甲兵', 19 | self::ID_AIR => '航空兵', 20 | self::ID_GUN => '炮兵', 21 | ); 22 | /** 兵种升级所需军营等级 */ 23 | static $upgbuild = array( 24 | self::ID_FOOT => array(1, 2), //初始需求等级,间隔等级 25 | self::ID_ARMOR => array(1, 3), 26 | self::ID_AIR => array(1, 4), 27 | self::ID_GUN => array(1, 4), 28 | ); 29 | 30 | 31 | static $rate = array( 32 | self::ID_FOOT => 1, 33 | self::ID_ARMOR => 3, 34 | self::ID_AIR => 4, 35 | self::ID_GUN => 4, 36 | ); 37 | 38 | /** 39 | * 根据兵种ID获取兵种基础信息 40 | * @author chenhui on 20110414 41 | * @param int build_id 兵种ID 42 | * @return array 兵种基础信息(一维数组) 43 | */ 44 | static public function baseInfo($armyId) { 45 | $list = M_Base::armyAll(); 46 | return isset($list[$armyId]) ? $list[$armyId] : array(); 47 | } 48 | 49 | 50 | 51 | 52 | /**********兵种模块管理后台所需接口*******************/ 53 | /** 删除兵种 基础 数据 缓存 */ 54 | static public function delArmyCache() { 55 | APC::del(T_Key::BASE_ARMY); //删除缓存,用完注释 56 | } 57 | } 58 | 59 | ?> -------------------------------------------------------------------------------- /srv/M/Battle/Info.php: -------------------------------------------------------------------------------- 1 | jsonset($BD, T_App::ONE_HOUR); 27 | $log = $ret ? "成功" : "失败"; 28 | $log = ">>>>#{$BD['Id']}更新缓存<<<" . $log; 29 | Logger::battle($log, $BD['Id']); 30 | } 31 | return $ret; 32 | } 33 | 34 | /** 35 | * 直接获取缓存中的战斗数据 主要用于AI计算 36 | * @author huwei on 20110704 37 | * @param int $battleId 38 | * @return array 39 | */ 40 | static public function get($id) { 41 | $rc = new B_Cache_RC(T_Key::BATTLE_DATA, $id); 42 | $ret = $rc->jsonget(); 43 | return $ret; 44 | } 45 | 46 | /** 47 | * 删除战斗数据 48 | * @author huwei on 20110704 49 | * @param int $battleId 50 | * @return bool 51 | */ 52 | static public function del($id) { 53 | $rc = new B_Cache_RC(T_Key::BATTLE_DATA, $id); 54 | $ret = $rc->delete(); 55 | return $ret; 56 | } 57 | } 58 | 59 | ?> -------------------------------------------------------------------------------- /srv/M/Buddy.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/srv/M/Buddy.php -------------------------------------------------------------------------------- /srv/M/Compensate.php: -------------------------------------------------------------------------------- 1 | jsonget(); 20 | 21 | if (empty($info)) { 22 | $info = B_DB::instance('ServerCompensate')->all(); 23 | 24 | $rc->jsonset($info, T_App::ONE_DAY); 25 | } 26 | $list = $info; 27 | } 28 | return $list; 29 | } 30 | } 31 | 32 | ?> -------------------------------------------------------------------------------- /srv/M/Consumer.php: -------------------------------------------------------------------------------- 1 | getAll(); 12 | foreach ($list as $val) { 13 | $arr[$val['id']] = $val; 14 | } 15 | APC::set($key, $arr); 16 | } 17 | self::$list = $arr; 18 | } 19 | return self::$list; 20 | } 21 | 22 | 23 | static public function getByName($name) { 24 | $ret = array(); 25 | $list = self::getList(); 26 | foreach ($list as $id => $val) { 27 | if ($val['name'] == $name) { 28 | $ret = $val; 29 | break; 30 | } 31 | } 32 | return $ret; 33 | } 34 | 35 | static public function getById($id) { 36 | $list = self::getList(); 37 | return isset($list[$id]) ? $list[$id] : array(); 38 | } 39 | 40 | /** 41 | * 改变状态 42 | * @param int $id 43 | * @param int $status 44 | * @return bool 45 | */ 46 | static public function changeOpen($id, $status) { 47 | $status = $status > 0 ? 1 : 0; 48 | $setArr = array( 49 | 'id' => $id, 50 | 'is_open' => $status, 51 | ); 52 | $ret = B_DB::instance('AdmConsumer')->update($setArr, $setArr['id']); 53 | if ($ret) { 54 | self::clean(); 55 | } 56 | return $ret; 57 | } 58 | 59 | static public function clean() { 60 | APC::del(T_Key::CONSUMER_LIST); 61 | } 62 | } 63 | 64 | ?> -------------------------------------------------------------------------------- /srv/M/Effect.php: -------------------------------------------------------------------------------- 1 | Build()->get(); 16 | if (isset($bArr[M_Build::ID_TOWN_CENTER])) { 17 | $keys = array_keys($bArr[M_Build::ID_TOWN_CENTER]); 18 | $lv = $bArr[M_Build::ID_TOWN_CENTER][$keys[0]]; 19 | 20 | $bBaseAttr = M_Build::baseUpgInfo(M_Build::ID_TOWN_CENTER, $lv); 21 | $rate = isset($bBaseAttr['effect']) ? $bBaseAttr['effect'] : 0; 22 | return $time * (1 - $rate); 23 | } 24 | } 25 | 26 | /** 27 | * 减少科技时间 28 | * @author huwei 29 | * @param int $time 升级需要的时间 30 | * @return int 31 | */ 32 | static public function decrTechTime($cityId, $time) { 33 | $objPlayer = new O_Player($cityId); 34 | $objTech = $objPlayer->Tech(); 35 | $tArr = $objTech->get(); 36 | if (isset($tArr[M_Build::ID_TECH_CENTER])) { 37 | $lv = $tArr[M_Build::ID_TECH_CENTER]; 38 | 39 | $bTechAttr = M_Tech::getUpgInfoByLevel(M_Build::ID_TOWN_CENTER, $lv); 40 | $rate = isset($bTechAttr['effect']) ? $bTechAttr['effect'] : 0; 41 | return $time * (1 - $rate); 42 | } 43 | } 44 | 45 | } 46 | 47 | ?> -------------------------------------------------------------------------------- /srv/M/Exchange.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/M/Icon.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/M/Liveness.php: -------------------------------------------------------------------------------- 1 | '登陆游戏', 24 | M_Liveness::GET_POINT_UNION_OCCUPIED => '军团占领要塞', 25 | M_Liveness::GET_POINT_DAILY_TASK => '完成日常任务', 26 | M_Liveness::GET_POINT_TEMPNPC => '消灭法西斯', 27 | M_Liveness::GET_POINT_ATK_CITY => '攻击玩家', 28 | M_Liveness::GET_POINT_EXPLORE => '探索NPC属地', 29 | ); 30 | } 31 | 32 | ?> -------------------------------------------------------------------------------- /srv/M/Probe.php: -------------------------------------------------------------------------------- 1 | all(); 14 | Logger::base(__METHOD__); 15 | APC::set($apcKey, $info); 16 | } 17 | } 18 | return $info; 19 | } 20 | 21 | static public function getInfo($probeId) { 22 | $arr = M_Base::probeAll(); 23 | return isset($arr[$probeId]) ? $arr[$probeId] : false; 24 | } 25 | } 26 | 27 | ?> -------------------------------------------------------------------------------- /srv/M/Rmon.php: -------------------------------------------------------------------------------- 1 | connect($host, $port); 16 | $status = $redis->info(); 17 | 18 | $data = array( 19 | date('YmdHis'), 20 | $status['connected_clients'], 21 | $status['blocked_clients'], 22 | $status['keyspace_hits'], //命中key的次数 23 | $status['keyspace_misses'], //不命中key的次数 24 | $status['used_cpu_sys'], 25 | $status['used_cpu_user'], 26 | $status['used_cpu_sys_children'], 27 | $status['used_cpu_user_children'], 28 | $status['used_memory_peak_human'], //Redis所用内存的高峰值 29 | $status['total_commands_processed'], //运行以来执行过的命令的总数量 30 | $status['mem_fragmentation_ratio'], //内存碎片比率 31 | ); 32 | 33 | $logFile = $fileDir . '/' . date('Ymd') . '_' . $port . '.log'; 34 | error_log(implode(',', $data) . "\n", 3, $logFile); 35 | $redis->close(); 36 | } 37 | } 38 | } 39 | 40 | ?> -------------------------------------------------------------------------------- /srv/M/Stats.php: -------------------------------------------------------------------------------- 1 | hincrby($reqNo, 1); 7 | } 8 | 9 | static public function getReqNo($tmpH) { 10 | $rc = new B_Cache_RC('StatsNum', $tmpH); 11 | return $rc->hgetall(); 12 | } 13 | } 14 | 15 | ?> -------------------------------------------------------------------------------- /srv/O/Equip.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/srv/O/Equip.php -------------------------------------------------------------------------------- /srv/O/Hero.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/srv/O/Hero.php -------------------------------------------------------------------------------- /srv/O/I.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/AdmConsumer.php: -------------------------------------------------------------------------------- 1 | get($userId); 15 | return $rows; 16 | } 17 | 18 | /** 19 | * 验证用户登陆 20 | * @param array $info (username, password) 21 | * @return bool/array 22 | */ 23 | public function verifyLogin($username, $password) { 24 | $row = $this->getBy(array('username' => $username, 'password' => $password)); 25 | 26 | return $row; 27 | } 28 | 29 | /** 30 | * 通过分页获取记录数 for admin 31 | * @author huwei 32 | * @param int $page 当前页 33 | * @param int $offset 每页记录数 34 | * @return array 35 | */ 36 | public function getRowsByPage($page, $offset) { 37 | $start = ($page - 1) * $offset; 38 | $rows = $this->getList($start, $offset); 39 | return $rows; 40 | } 41 | } 42 | 43 | ?> -------------------------------------------------------------------------------- /srv/Q/Alliance.php: -------------------------------------------------------------------------------- 1 | getsBy(array(), array('level' => 'DESC', 'total_renown' => 'DESC', 'id' => 'ASC')); 11 | return $rows; 12 | } 13 | 14 | /** 15 | * 根据联盟名称查询联盟ID 16 | * @author HeJunyun 17 | * @param string $name 联盟名称 18 | * @return array/bool 19 | */ 20 | public function getIdByName($name) { 21 | $row = $this->getBy(array('name' => $name)); 22 | return $row['id']; 23 | } 24 | 25 | } 26 | 27 | ?> -------------------------------------------------------------------------------- /srv/Q/AllianceMember.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/BaseAward.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/BaseBreakout.php: -------------------------------------------------------------------------------- 1 | getAll(); 16 | $rows = array(); 17 | 18 | foreach ($row as $key => $val) { 19 | $rows[$val['id']] = $val; 20 | } 21 | 22 | return $rows; 23 | } 24 | 25 | } 26 | 27 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseBuildAttr.php: -------------------------------------------------------------------------------- 1 | 1); 15 | if ($all) { 16 | $arrWhere = array(); 17 | } 18 | $list = $this->getsBy($arrWhere); 19 | $rows = array(); 20 | foreach ($list as $val) { 21 | $rows[$val['id']] = $val; 22 | } 23 | return $rows; 24 | 25 | } 26 | } 27 | 28 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseConfig.php: -------------------------------------------------------------------------------- 1 | insert($info); 20 | return $id; 21 | 22 | } 23 | 24 | /** 25 | * 根据配置名字更新配置数据 26 | * @author chenhui on 20110616 27 | * @param string name 配置的名字 28 | * @param array updinfo 要更新的配置名字对应数组 29 | * @return bool true/false 30 | */ 31 | public function set($key, $val) { 32 | $ret = $this->updateBy(array('value' => $val), array('name' => $key)); 33 | return $ret; 34 | } 35 | 36 | 37 | /** 38 | * 获取配置 39 | * @return array 40 | */ 41 | public function all() { 42 | $list = $this->getAll(); 43 | $rows = array(); 44 | foreach ($list as $val) { 45 | $rows[$val['name']] = json_decode($val['value'], true); 46 | } 47 | 48 | return $rows; 49 | } 50 | } 51 | 52 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseEquipSuit.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/BaseEquipTpl.php: -------------------------------------------------------------------------------- 1 | getsBy(array('type' => 1)); 11 | return $row; 12 | } 13 | 14 | /** 15 | * @author huwei 16 | * @return array 17 | */ 18 | public function all($all = false) { 19 | 20 | $list = $this->getAll(); 21 | $rows = array(); 22 | foreach ($list as $val) { 23 | $rows[$val['id']] = $val; 24 | } 25 | return $rows; 26 | 27 | } 28 | 29 | 30 | public function getIdByName($name, $quality) { 31 | $whereArr = array('name' => $name, 'quality' => $quality); 32 | $row = $this->getBy($whereArr); 33 | return $row['id']; 34 | } 35 | 36 | public function getId($needLevel, $pos, $quality) { 37 | $whereArr = array( 38 | 'need_level' => $needLevel, 39 | 'pos' => $pos, 40 | 'quality' => $quality, 41 | ); 42 | $row = $this->getBy($whereArr); 43 | return $row['id']; 44 | } 45 | 46 | 47 | } 48 | 49 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseExchange.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/BaseHeroTpl.php: -------------------------------------------------------------------------------- 1 | getBy(array('nickname' => $name)); 10 | return $row['id']; 11 | } 12 | 13 | /** 14 | * 获取全部基础军官模板 15 | * @author chenhui on 20110824 16 | * @return array 军官模板数据 17 | */ 18 | public function all() { 19 | $list = $this->getAll(array('quality' => 'ASC', 'id' => 'ASC')); 20 | $rows = array(); 21 | foreach ($list as $val) { 22 | $rows[$val['id']] = $val; 23 | } 24 | return $rows; 25 | 26 | } 27 | 28 | } 29 | 30 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseMall.php: -------------------------------------------------------------------------------- 1 | getAll(array('sort' => 'ASC', 'id' => 'ASC')); 15 | $rows = array(); 16 | foreach ($row as $key => $val) { 17 | $rows[$val['id']] = $val; 18 | } 19 | return $rows; 20 | } 21 | 22 | public function getInfoByName($name) { 23 | $row = $this->getBy(array('name' => $name)); 24 | return $row; 25 | 26 | } 27 | } 28 | 29 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseMultiFB.php: -------------------------------------------------------------------------------- 1 | getAll(); 10 | foreach ($row as $key => $val) { 11 | $rows[$val['id']] = $val; 12 | } 13 | return $rows; 14 | } 15 | } 16 | 17 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseNpcHero.php: -------------------------------------------------------------------------------- 1 | fetchAll($sql); 11 | return $rows; 12 | 13 | } 14 | 15 | /** 16 | * 获取所有NPC英雄信息 17 | * @author Hejunyun 18 | * @return array 19 | */ 20 | public function all() { 21 | $list = $this->getAll(); 22 | $rows = array(); 23 | foreach ($list as $val) { 24 | $rows[$val['id']] = $val; 25 | } 26 | return $rows; 27 | 28 | } 29 | 30 | public function getInfoByName($nickname) { 31 | $row = $this->fetch(array('nickname' => $nickname)); 32 | return $row; 33 | 34 | } 35 | 36 | } 37 | 38 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseNpcTroop.php: -------------------------------------------------------------------------------- 1 | getAll(); 20 | $rows = array(); 21 | foreach ($list as $val) { 22 | $rows[$val['id']] = $val; 23 | } 24 | return $rows; 25 | 26 | } 27 | 28 | /** 29 | * 获取所有副本NPC 30 | */ 31 | public function getAllFbNpc() { 32 | $rows = $this->getsBy(array('type' => M_NPC::FB_NPC)); 33 | return $rows; 34 | 35 | } 36 | 37 | /** 38 | * 获取所有野外NPC 39 | */ 40 | public function getAllMapNpc() { 41 | $rows = $this->getsBy(array('type' => array('<', M_NPC::FB_NPC))); 42 | return $rows; 43 | 44 | } 45 | 46 | } 47 | 48 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseProbe.php: -------------------------------------------------------------------------------- 1 | getAll(); 13 | foreach ($rows as $val) { 14 | $row[$val['id']] = $val; 15 | } 16 | return $row; 17 | } 18 | } -------------------------------------------------------------------------------- /srv/Q/BaseProps.php: -------------------------------------------------------------------------------- 1 | getAll(array('sort' => 'ASC', 'id' => 'ASC')); 15 | foreach ($row as $key => $val) { 16 | $rows[$val['id']] = $val; 17 | } 18 | return $rows; 19 | } 20 | 21 | public function getInfoByName($name) { 22 | $row = $obj->getBy(array('name' => $name)); 23 | return $row; 24 | 25 | } 26 | } 27 | 28 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseQqShare.php: -------------------------------------------------------------------------------- 1 | getAll(); 10 | foreach ($list as $val) { 11 | $rows[$val['id']] = $val; 12 | } 13 | return $rows; 14 | } 15 | 16 | } 17 | 18 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseQuest.php: -------------------------------------------------------------------------------- 1 | getAll(array('id'=>'ASC')); 10 | foreach ($list as $val) { 11 | $rows[$val['id']] = $val; 12 | } 13 | return $rows; 14 | } 15 | } 16 | 17 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseQuestion.php: -------------------------------------------------------------------------------- 1 | getAll(); 10 | foreach ($list as $val) { 11 | $rows[$val['id']] = $val; 12 | } 13 | return $rows; 14 | } 15 | } 16 | 17 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseSkill.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/BaseTask.php: -------------------------------------------------------------------------------- 1 | getAll(array('sort' => 'ASC', 'id' => 'ASC')); 15 | foreach ($row as $key => $val) { 16 | $rows[$val['id']] = $val; 17 | } 18 | return $rows; 19 | } 20 | } 21 | 22 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseTech.php: -------------------------------------------------------------------------------- 1 | get($id); 10 | $row['upg'] = $this->getUpgInfoById($id); 11 | return $row; 12 | 13 | } 14 | 15 | /** 16 | * 获取所有科技基础信息 17 | * @author chenhui on 20110413 18 | * @return array 科技基础信息(二维数组) 19 | */ 20 | public function all() { 21 | $row = $this->getAll(); 22 | foreach ($row as $key => $val) { 23 | $rows[$val['id']] = $val; 24 | $rows[$val['id']]['upg'] = $this->getUpgInfoById($val['id']); 25 | } 26 | return $rows; 27 | 28 | } 29 | 30 | public function getUpgInfoById($techId) { 31 | $techId = intval($techId); 32 | $row = B_DB::instance('BaseTechAttr')->getsBy(array('tech_id' => $techId)); 33 | foreach ($row as $val) { 34 | $val['need_build'] = B_Utils::kv2vv(json_decode($val['need_build'], true)); 35 | $val['need_tech'] = B_Utils::kv2vv(json_decode($val['need_tech'], true)); 36 | 37 | $rows[$val['level']] = $val; 38 | } 39 | return $rows; 40 | 41 | } 42 | } 43 | 44 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseTechAttr.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/BaseWarFB.php: -------------------------------------------------------------------------------- 1 | getsBy(array('chapter_no' => $chapter_no)); 17 | return $rows; 18 | 19 | } 20 | 21 | /** 22 | * 获取副本数据 23 | * @author huwei 24 | * @param int $chapterNo 章节编号 25 | * @param int $campaignNo 战役编号 26 | * @return int 27 | */ 28 | public function getInfoByCC($chapterNo, $campaignNo) { 29 | $row = $this->getsBy(array('campaign_no' => $campaignNo, 'chapter_no' => $chapterNo)); 30 | return $row; 31 | 32 | } 33 | 34 | } 35 | 36 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseWarFbChapter.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/BaseWarMapCell.php: -------------------------------------------------------------------------------- 1 | getAll(); 15 | $data = array(); 16 | foreach ($rows as $k => $v) { 17 | $data[$v['id']] = $v; 18 | } 19 | return $data; 20 | 21 | } 22 | 23 | 24 | } 25 | 26 | ?> -------------------------------------------------------------------------------- /srv/Q/BaseWarMapData.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/BaseWeapon.php: -------------------------------------------------------------------------------- 1 | getAll(array('sort' => 'ASC')); 17 | foreach ($row as $key => $val) { 18 | $val['need_tech'] = !empty($val['need_tech']) ? B_Utils::kv2vv(json_decode($val['need_tech'], true)) : array(); 19 | $val['need_build'] = !empty($val['need_build']) ? B_Utils::kv2vv(json_decode($val['need_build'], true)) : array(); 20 | $rows[$val['id']] = $val; 21 | } 22 | return $rows; 23 | 24 | } 25 | 26 | public function getInfoByName($name) { 27 | $row = $this->getBy(array('name' => $name)); 28 | return $row; 29 | 30 | } 31 | 32 | /** 33 | * 获取所有NPC武器基础信息 34 | * @author Hejunyun 35 | * @return array 武器基础信息(二维数组) 36 | */ 37 | public function getNpcList() { 38 | $rows = $this->getsBy(array('is_npc' => 1)); 39 | return $rows; 40 | } 41 | 42 | } 43 | 44 | ?> -------------------------------------------------------------------------------- /srv/Q/Campaign.php: -------------------------------------------------------------------------------- 1 | getBy(array('id' => intval($id))); 16 | 17 | if (!empty($row)) { 18 | return $row; 19 | } else { 20 | $no = json_encode(array(0, array(0, 0, 0))); 21 | $rowInfo = array( 22 | 'id' => $id, 23 | 'owner_union_id' => 0, 24 | 'join_union_ids' => '[]', 25 | 'no_11' => $no, 26 | 'no_12' => $no, 27 | 'no_13' => $no, 28 | 'no_14' => $no, 29 | 'no_15' => $no, 30 | 'no_16' => $no, 31 | 'no_21' => $no, 32 | 'no_22' => $no, 33 | 'no_23' => $no, 34 | 'no_31' => $no, 35 | 'no_32' => $no, 36 | 'no_41' => $no, 37 | ); 38 | 39 | return $this->insert($rowInfo); 40 | } 41 | } 42 | 43 | 44 | /** 45 | * 根据据点ID 更新据点信息 46 | * @author huwei on 20120321 47 | * @param int id 城市ID 48 | * @param array $updInfo 要更新的键值对数组 49 | * @return bool true/false 50 | */ 51 | public function updateInfo($id, $updInfo) { 52 | $ret = $this->update($updInfo, $id); 53 | return $ret; 54 | } 55 | } 56 | 57 | ?> -------------------------------------------------------------------------------- /srv/Q/CityBreakout.php: -------------------------------------------------------------------------------- 1 | get($cityId); 18 | 19 | if (!empty($row)) { 20 | return $row; 21 | } else { 22 | $nowtime = time(); 23 | $bout_times_cost = M_Config::getVal('bout_times_cost'); 24 | $breakoutInfo = array( 25 | 'city_id' => $cityId, 26 | 'breakout_date' => date('Ymd'), 27 | 'free_times_left' => $bout_times_cost[0], 28 | 'buy_times_left' => 0, 29 | 'buy_times' => 0, 30 | 'breakout_pass' => '1', 31 | 'breakout_data' => '[]', 32 | 'breakout_cd' => '0_1', 33 | 'battle_id' => 0, 34 | 'point' => 0, 35 | 'create_at' => $nowtime, 36 | 'sys_sync_time' => $nowtime, 37 | ); 38 | $initRet = $this->insert($breakoutInfo); 39 | if ($initRet) { 40 | return $breakoutInfo; 41 | } else { 42 | return false; 43 | } 44 | } 45 | } 46 | 47 | 48 | public function getRankByPoint($limit = 10) { 49 | $sql = "SELECT city_id, point FROM city_breakout order by point DESC limit 0, {$limit} "; 50 | $rows = $this->fetchAll($sql); 51 | return $rows; 52 | 53 | } 54 | 55 | } 56 | 57 | ?> -------------------------------------------------------------------------------- /srv/Q/CityCollege.php: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /srv/Q/CityColony.php: -------------------------------------------------------------------------------- 1 | 0) { 18 | $row = $this->get($cityId); 19 | 20 | if (!empty($row)) { 21 | return $row; 22 | } else { 23 | $row = array( 24 | 'city_id' => $cityId, 25 | 'rescue_date' => 0, 26 | 'atk_city_id' => 0, 27 | 'atk_march_id' => 0, 28 | 'hold_time' => 0, 29 | 'colony_city' => '', 30 | 'rescue_num' => 0, 31 | ); 32 | $bSucc = $this->insert($row); 33 | if (!$bSucc) { 34 | return false; 35 | } 36 | } 37 | 38 | } 39 | return $row; 40 | } 41 | 42 | 43 | } 44 | 45 | ?> -------------------------------------------------------------------------------- /srv/Q/CityEquip.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/CityExtra.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/CityItem.php: -------------------------------------------------------------------------------- 1 | getsBy(array('city_id' => $cityId), array('id' => 'ASC')); 17 | $data = array(); 18 | foreach ($rows as $val) { 19 | $data[$val['id']] = $val; 20 | } 21 | return $data; 22 | 23 | 24 | } 25 | 26 | 27 | 28 | /****************以下是pm系统需要***************************************/ 29 | /** 30 | * 玩家拥有某道具数量排行 31 | * @author chenhui on 20130118 32 | * @param int $propsId 道具ID 33 | * @param int $cityId 城市ID 34 | * @return array 2D 35 | */ 36 | public function getPropsRank($propsId, $cityId) { 37 | $cityId = intval($cityId); 38 | $pid = intval($propsId); 39 | $whereAnd = !empty($cityId) ? " AND i.city_id = {$cityId} " : ''; 40 | $sql = "SELECT SUM(i.num) AS num,i.city_id,c.nickname FROM city c LEFT JOIN city_item i ON i.city_id = c.id WHERE i.props_id = {$pid} {$whereAnd} GROUP BY i.city_id ORDER BY num DESC LIMIT 100"; 41 | $rows = $this->fetchAll($sql); 42 | return $rows; 43 | 44 | } 45 | 46 | } 47 | 48 | ?> -------------------------------------------------------------------------------- /srv/Q/CityLottery.php: -------------------------------------------------------------------------------- 1 | get($cityId); 16 | 17 | if (empty($row['city_id'])) { 18 | $row = array( 19 | 'city_id' => $cityId, 20 | 'refresh_date' => date('Ymd'), 21 | 'refresh_num' => 0, 22 | 'award_content' => '[]', 23 | 'award_no' => 0, 24 | ); 25 | $bSucc = $this->insert($row); 26 | if (!$bSucc) { 27 | return false; 28 | } 29 | } 30 | return $row; 31 | } 32 | 33 | } 34 | 35 | ?> -------------------------------------------------------------------------------- /srv/Q/CityMultiFB.php: -------------------------------------------------------------------------------- 1 | get($cityId); 10 | if (empty($row)) { 11 | $fieldArr = array( 12 | 'city_id' => $cityId, 13 | 'daily_date' => '', 14 | 'daily_free_times' => 0, 15 | 'daily_buy_times' => 0, 16 | 'left_buy_times' => 0, 17 | 'team_id' => 0, 18 | 'sys_sync_time' => 0, 19 | ); 20 | 21 | $ret = $this->insert($fieldArr); 22 | $row = $ret ? $fieldArr : false; 23 | } 24 | 25 | return $row; 26 | } 27 | 28 | } 29 | 30 | ?> -------------------------------------------------------------------------------- /srv/Q/CityQqShare.php: -------------------------------------------------------------------------------- 1 | get($cityId); 16 | if (empty($row['city_id'])) { 17 | $row = array( 18 | 'city_id' => $cityId, 19 | 'complete_txt' => '', //array(完成状态,完成条件,完成数) 20 | ); 21 | $bSucc = $this->insert($row); 22 | if (!$bSucc) { 23 | return false; 24 | } 25 | } 26 | return $row; 27 | } 28 | 29 | } 30 | 31 | ?> -------------------------------------------------------------------------------- /srv/Q/CityTask.php: -------------------------------------------------------------------------------- 1 | get($city_id); 16 | 17 | if (!empty($row)) { 18 | return $row; 19 | } else { 20 | $taskInfo = array( 21 | 'city_id' => $city_id, 22 | 'tasks_ok' => '[]', 23 | 'tasks_end' => '[]', 24 | 'tasks_daily_ok' => '[]', 25 | 'tasks_daily_end' => '[]', 26 | 'daily_date' => '', 27 | 'drama_end' => '[]', 28 | 'create_at' => time() 29 | ); 30 | $initRet = $this->insert($taskInfo); 31 | if ($initRet) { 32 | return $taskInfo; 33 | } else { 34 | return false; 35 | } 36 | } 37 | } 38 | } 39 | 40 | ?> -------------------------------------------------------------------------------- /srv/Q/FbPass.php: -------------------------------------------------------------------------------- 1 | get($fbNo); 16 | if (empty($rows)) { 17 | $rows = array( 18 | 'fb_no' => $fbNo, 19 | 'recently_passed' => json_encode(array()), 20 | 'first_passed' => json_encode(array()), 21 | 'loss_least' => json_encode(array()), 22 | 'level_lowest' => json_encode(array()), 23 | ); 24 | $ret = $this->insert($rows); 25 | } 26 | return $rows; 27 | } 28 | 29 | /** 30 | * 获取战役排行 31 | * @author duhuihui 32 | * @return array 33 | */ 34 | public function all() { 35 | $rows = $this->getAll(); 36 | $row = array(); 37 | foreach ($rows as $key => $val) { 38 | $row[$val['fb_no']] = $val; 39 | } 40 | return $row; 41 | } 42 | 43 | 44 | } 45 | 46 | ?> -------------------------------------------------------------------------------- /srv/Q/LogCoin.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/LogOp.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/Map.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/Message.php: -------------------------------------------------------------------------------- 1 | getsBy(array('owner' => $ownerId, 'status' => M_Message::MSG_UNDEL)); 14 | return $rows; 15 | } 16 | 17 | /** 18 | * 获取某玩家所有发送的信息 19 | * @author chenhui on 20110728 20 | * @param int sender 发送者cityId 21 | * @return array 相应信息(二维数组) 22 | */ 23 | public function getAllBySender($sender) { 24 | $row = $this->getsBy(array('sender' => $sender)); 25 | return $row; 26 | } 27 | } 28 | 29 | ?> -------------------------------------------------------------------------------- /srv/Q/ServerCompensate.php: -------------------------------------------------------------------------------- 1 | getAll(); 15 | $row = array(); 16 | foreach ($rows as $key => $val) { 17 | $row[$val['id']] = $val; 18 | } 19 | return $row; 20 | } 21 | 22 | } 23 | 24 | ?> -------------------------------------------------------------------------------- /srv/Q/ServerConfig.php: -------------------------------------------------------------------------------- 1 | insert($info); 17 | return $id; 18 | } 19 | 20 | /** 21 | * 更新服务器配置 22 | * @param string $key 23 | * @param string $val 24 | * @return bool true/false 25 | */ 26 | public function set($key, $val) { 27 | $info['value'] = $val; 28 | $ret = $this->updateBy($info, array('name'=>$key)); 29 | return $ret; 30 | 31 | } 32 | 33 | /** 34 | * 获取配置 35 | * @return array 36 | */ 37 | public function all() { 38 | $list = $this->getAll(); 39 | $rows = array(); 40 | foreach ($list as $val) { 41 | $rows[$val['name']] = json_decode($val['value'], true); 42 | } 43 | 44 | return $rows; 45 | } 46 | } 47 | 48 | ?> -------------------------------------------------------------------------------- /srv/Q/ServerNews.php: -------------------------------------------------------------------------------- 1 | getAll(); 15 | $row = array(); 16 | foreach ($rows as $key => $val) { 17 | $row[$val['id']] = $val; 18 | } 19 | return $row; 20 | 21 | } 22 | 23 | 24 | } 25 | 26 | ?> -------------------------------------------------------------------------------- /srv/Q/ServerNotice.php: -------------------------------------------------------------------------------- 1 | getsBy(array('type' => array('>', 0)), array('sord' => 'DESC', 'create_at' => 'ASC')); 17 | return $data; 18 | } 19 | 20 | 21 | } 22 | 23 | ?> -------------------------------------------------------------------------------- /srv/Q/StatsLogCityBuild.php: -------------------------------------------------------------------------------- 1 | prepare($sql); 13 | $ret = $sth->execute(); 14 | $rows = $sth->fetchAll(); 15 | if (!$ret) { 16 | Logger::db(__METHOD__, $sth->errorInfo(), func_get_args()); 17 | return false; 18 | } 19 | return $rows; 20 | } 21 | 22 | } 23 | 24 | ?> -------------------------------------------------------------------------------- /srv/Q/TeamMultiFb.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/WarMarch.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/Q/WarReport.php: -------------------------------------------------------------------------------- 1 | M_War::DEL_ATK, 21 | 'def_city_id' => M_War::DEL_DEF, 22 | ); 23 | if (isset($reportNum[$attOrDef]) && !empty($cityId)) { 24 | $start = microtime(); 25 | 26 | $subwhere = ($type != 2) ? " AND LENGTH(replay_address) > 0 " : ''; 27 | 28 | $sql = 'SELECT * FROM %s WHERE %s=%d ' . $subwhere . ' AND type = %d AND (flag_del & %d = 0) ORDER BY id ASC'; 29 | $sql = sprintf($sql, $this->_name, $attOrDef, $cityId, $type, $reportNum[$attOrDef]); 30 | 31 | $data = $this->fetchAll($sql); 32 | 33 | $diff = microtime() - $start; 34 | if ($diff > 0.1) { 35 | Logger::debug(array(__METHOD__, $diff, $sql)); 36 | } 37 | 38 | } 39 | return $data; 40 | } 41 | 42 | /** 43 | * 清除过期的战报日志 44 | * @param int $t 45 | * @return boolean 46 | */ 47 | public function cleanExpireData($t) { 48 | $ret = 0; 49 | if ($t) { 50 | $ret = $this->deleteBy(array('create_at' => array('<', $t))); 51 | } 52 | return $ret; 53 | } 54 | 55 | } 56 | 57 | ?> -------------------------------------------------------------------------------- /srv/Q/WildMap.php: -------------------------------------------------------------------------------- 1 | count(array('type' => T_Map::WILD_MAP_CELL_NPC, 'npc_id' => $npcId)); 12 | } 13 | return $num; 14 | } 15 | 16 | public function clean($zone, $npcId) { 17 | if (empty($npcId)) { 18 | return false; 19 | } 20 | 21 | if ($zone == 1) { 22 | $where = "pos_no < 2000000"; 23 | } else if ($zone == 3) { 24 | $where = "pos_no > 3000000"; 25 | } else { 26 | $where = "pos_no > 2000000 AND pos_no < 3000000"; 27 | } 28 | 29 | $sql = "DELETE FROM wild_map WHERE {$where} AND npc_id={$npcId}"; 30 | 31 | return $this->execute($sql, array(), true);; 32 | } 33 | 34 | public function total($zone) { 35 | if ($zone == 1) { 36 | $where = "pos_no < 2000000"; 37 | } else if ($zone == 3) { 38 | $where = "pos_no > 3000000"; 39 | } else { 40 | $where = "pos_no > 2000000 AND pos_no < 3000000"; 41 | } 42 | 43 | $sql = "SELECT count(pos_no) as num FROM wild_map WHERE {$where}"; 44 | $rows = $this->fetch($sql); 45 | return $rows['num']; 46 | } 47 | } 48 | 49 | ?> -------------------------------------------------------------------------------- /srv/T/Build.php: -------------------------------------------------------------------------------- 1 | array(1, 1), 8 | 4 => array(1, 2), 9 | 5 => array(1, 3), 10 | 6 => array(1, 4), 11 | 7 => array(1, 5), 12 | 8 => array(1, 6), 13 | 9 => array(1, 7), 14 | 10 => array(1, 8), 15 | 16 | 11 => array(2, 2), 17 | 12 => array(2, 4), 18 | 13 => array(2, 6), 19 | 14 => array(2, 8), 20 | 15 => array(3, 9), 21 | 22 | 23 | 16 => array(3, 2), 24 | 17 => array(3, 4), 25 | 18 => array(3, 6), 26 | 19 => array(3, 8), 27 | 20 => array(3, 10), 28 | 29 | 30 | 21 => array(4, 2), 31 | 22 => array(4, 4), 32 | 23 => array(4, 6), 33 | 24 => array(4, 8), 34 | 25 => array(4, 10), 35 | 36 | 37 | 26 => array(5, 2), 38 | 27 => array(5, 4), 39 | 28 => array(5, 6), 40 | 29 => array(5, 8), 41 | 30 => array(5, 10), 42 | 43 | 44 | 31 => array(6, 2), 45 | 32 => array(6, 4), 46 | 33 => array(6, 6), 47 | 34 => array(6, 8), 48 | 35 => array(6, 10), 49 | 50 | 36 => array(7, 2), 51 | 37 => array(7, 4), 52 | 38 => array(7, 6), 53 | 39 => array(7, 8), 54 | 40 => array(7, 10), 55 | 56 | 57 | 41 => array(8, 2), 58 | 42 => array(8, 4), 59 | 43 => array(8, 6), 60 | 44 => array(8, 8), 61 | 45 => array(8, 10), 62 | 63 | 46 => array(9, 2), 64 | 47 => array(9, 4), 65 | 48 => array(9, 6), 66 | 49 => array(9, 8), 67 | 50 => array(9, 10), 68 | ); 69 | } -------------------------------------------------------------------------------- /srv/T/Chat.php: -------------------------------------------------------------------------------- 1 | '世界', 26 | self::CHAT_UNION => '联盟', 27 | self::CHAT_WAR => '战场', 28 | self::CHAT_OWNER => '私人', 29 | self::CHAT_SYS => '系统', 30 | self::CHAT_TEAM => '队伍', 31 | self::CHAT_CITY_RADIO => '玩家广播', 32 | self::CHAT_SYS_RADIO => '系统广播', 33 | ); 34 | 35 | /** 能取到记录的最小时间段(秒) */ 36 | const CHAT_MIN_TIME = 30; 37 | 38 | /** 广播停留时间 **/ 39 | const SYS_RADIO_STAY_TIME = 5; 40 | /** 广播优先级 **/ 41 | const SYS_RADIO_PRIO = 0; 42 | 43 | /** 广播消耗军饷 */ 44 | const RADIO_COST = 20; 45 | } 46 | 47 | -------------------------------------------------------------------------------- /srv/T/Map.php: -------------------------------------------------------------------------------- 1 | '空地', 18 | self::WILD_MAP_CELL_SCENIC => '地貌', 19 | self::WILD_MAP_CELL_CITY => '玩家城市', 20 | self::WILD_MAP_CELL_NPC => 'NPC城市', 21 | self::WILD_MAP_CELL_CAMP => '据点', 22 | ); 23 | 24 | } 25 | 26 | ?> -------------------------------------------------------------------------------- /srv/T/Props.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /srv/T/Word.php: -------------------------------------------------------------------------------- 1 | '清除建筑CD', 7 | 2 => '清除科技CD', 8 | 3 => '清除武器CD', 9 | 4 => '军官更名', 10 | 5 => '军官洗点', 11 | 6 => '寻将', 12 | 7 => '开启武器槽', 13 | 8 => '军官复活', 14 | 9 => '增加建筑队列', 15 | 10 => '遗忘技能', 16 | 11 => '购买道具', 17 | 12 => '刷新学院', 18 | 13 => 'VIP购买活力', 19 | 14 => '购买VIP资源包', 20 | 15 => '购买VIP功能', 21 | 16 => 'VIP减少出征时间', 22 | 17 => '军团升级', 23 | 18 => '学习技能', 24 | 19 => '拍卖行保管费', 25 | 20 => '拍卖行购买', 26 | 21 => '拍卖行竞价', 27 | 22 => '玩家改名', 28 | 23 => '购买军令', 29 | 24 => '清除副本CD时间', 30 | 25 => '购买野地权限', 31 | 26 => '装备升级 ', 32 | 27 => '培养军官 ', 33 | 28 => '全服广播', 34 | 29 => '尝试招募 ', 35 | 30 => '抽奖 ', 36 | 31 => '购买商品 ', 37 | 32 => '军官兑换 ', 38 | 33 => '清除解救CD时间', 39 | 34 => '购买突围次数', 40 | 35 => '购买多人副本次数', 41 | 36 => '购买多人副本加成', 42 | 37 => '清除突围CD时间', 43 | 38 => '跑马系统投注', 44 | 39 => '跑马系统打气', 45 | 40 => '兑换', 46 | ); 47 | 48 | /** 白1, 绿2, 蓝3, 紫4, 红5, 金6*/ 49 | static $EQUIP_QUAL = array( 50 | T_Equip::EQUIP_WHITE => '白', 51 | T_Equip::EQUIP_GREEEN => '绿', 52 | T_Equip::EQUIP_BLUE => '蓝', 53 | T_Equip::EQUIP_PURPLE => '紫', 54 | T_Equip::EQUIP_RED => '红', 55 | T_Equip::EQUIP_GOLD => '金', 56 | ); 57 | 58 | /** 装备名称 */ 59 | static $EQUIP_NAME = array( 60 | 1 => '少尉', 61 | 10 => '中尉', 62 | 20 => '上尉', 63 | 30 => '少校', 64 | 40 => '中校', 65 | 50 => '上校', 66 | 60 => '少将', 67 | 70 => '中将', 68 | 80 => '上将', 69 | 90 => '元帅', 70 | ); 71 | 72 | /** 装备位置 */ 73 | static $EQUIP_POS = array( 74 | T_Equip::EQUIP_HAT => '军帽', 75 | T_Equip::EQUIP_UNIFORM => '军服', 76 | T_Equip::EQUIP_WEAPON => '手枪', 77 | T_Equip::EQUIP_MEDAL => '军徽', 78 | T_Equip::EQUIP_SHOES => '军靴', 79 | T_Equip::EQUIP_SIT => '座驾', 80 | ); 81 | } 82 | 83 | ?> -------------------------------------------------------------------------------- /srv/v/layout.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /srv/v/report.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | <?php echo $server_title; ?> 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 |
>>loading...
15 |
16 |
17 | 18 | 39 | 40 | 41 | -------------------------------------------------------------------------------- /www/adm.php: -------------------------------------------------------------------------------- 1 | FILTER_SANITIZE_STRING, 23 | ); 24 | 25 | $formVals = filter_var_array($_REQUEST, $args); 26 | 27 | $c = $a = 'Index'; 28 | 29 | if (!empty($formVals['r'])) { 30 | $arr = explode('/', $formVals['r']); 31 | $c = isset($arr[0]) ? trim($arr[0]) : ''; 32 | $a = isset($arr[1]) ? trim($arr[1]) : ''; 33 | } 34 | 35 | $c = !empty($c) ? ucfirst($c) : 'Index'; 36 | $a = !empty($a) ? ucfirst($a) : 'Index'; 37 | 38 | if (isset($_REQUEST['r'])) { 39 | unset($_REQUEST['r']); 40 | } 41 | 42 | $params = array(); 43 | foreach ($_REQUEST as $val) { 44 | $params[] = filter_var($val, FILTER_SANITIZE_STRING); 45 | } 46 | 47 | 48 | require_once ADM_PATH . "/c/{$c}.php"; 49 | $c = 'C_' . $c; 50 | $a = 'A' . $a; 51 | if (!method_exists($c, $a)) { 52 | Logger::debug("404 Not Found [{$c}::{$a}]"); 53 | Logger::halt('Err06'); 54 | } else { 55 | if (method_exists($c, 'AInit')) { 56 | call_user_func_array(array($c, 'AInit'), array()); 57 | } 58 | $data = call_user_func_array(array($c, $a), $params); 59 | $ret = B_Common::outData($c, $a, $data); 60 | return $ret; 61 | } 62 | ?> -------------------------------------------------------------------------------- /www/api.php: -------------------------------------------------------------------------------- 1 | FILTER_SANITIZE_STRING, 16 | 'a' => FILTER_SANITIZE_STRING, 17 | 'auth' => FILTER_SANITIZE_STRING, 18 | ); 19 | 20 | $formVals = filter_var_array($_REQUEST, $args); 21 | $params = array(); 22 | $ret = array('err' => -1, 'data' => "err args:[{$formVals['c']}|{$formVals['a']}]"); 23 | if (!empty($formVals['m']) && !empty($formVals['a'])) { 24 | $file = CORE_PATH . '/Api/' . str_replace('_', '/', $formVals['m']) . '.php'; 25 | if (file_exists($file)) { 26 | $hash = md5($formVals['m'] . '|' . $formVals['a'] . '|' . M_Config::getSvrCfg('server_api_key')); 27 | if ($hash == $formVals['auth']) { 28 | require_once($file); 29 | $params = !empty($_REQUEST['params']) ? json_decode($_REQUEST['params'], true) : array(); 30 | $func = array('A_' . $formVals['m'], $formVals['a']); 31 | // Logger::debug(array(__METHOD__,$formVals['params'] )); 32 | $data = call_user_func_array($func, array($params)); 33 | 34 | $ret = array('err' => 0, 'data' => $data); 35 | } else { 36 | $ret = array('err' => -3, 'data' => "err auth:{$hash}"); 37 | } 38 | } else { 39 | $ret = array('err' => -2, 'data' => "err file:{$file}"); 40 | } 41 | } 42 | 43 | 44 | $eTime = microtime(1); 45 | $diff = $sTime - $eTime; 46 | 47 | $ret['debug'] = array('cost_time' => sprintf('%.3f', $diff), 'params' => $formVals); 48 | echo json_encode($ret); 49 | exit; 50 | 51 | ?> -------------------------------------------------------------------------------- /www/call.php: -------------------------------------------------------------------------------- 1 | setClassPath($sysLibPath); 18 | $gateway->setCharsetHandler("none", "utf8", "utf8"); 19 | $gateway->setErrorHandling(1); 20 | 21 | //Disable profiling, remote tracing, and service browser 22 | $gateway->disableDebug(); 23 | // Keep the Flash/Flex IDE player from connecting to the gateway. Used for security to stop remote connections. 24 | $gateway->disableStandalonePlayer(); 25 | 26 | //Explicitly disable the native extension if it is installed 27 | //$gateway->disableNativeExtension(); 28 | 29 | //Enable gzip compression of output if zlib is available, 30 | //beyond a certain byte size threshold 31 | $gateway->enableGzipCompression(25 * 1024); 32 | 33 | //Service now 34 | $gateway->service(); 35 | $eTime = microtime(1); 36 | 37 | $tmpDiff = sprintf('%.3f', ($eTime - $sTime)); 38 | $body = $gateway->getBody(); 39 | $reqNo = $body->_value[0] . $body->_value[1]; 40 | M_Stats::setReqNo($reqNo, $tmpDiff); 41 | 42 | if ($tmpDiff > T_App::METHOD_EXEC_TIME) { 43 | Logger::perform("Time#" . $tmpDiff . " => " . implode('|', $body->_value)); 44 | } 45 | ?> -------------------------------------------------------------------------------- /www/common.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /www/crossdomain.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /www/login.php: -------------------------------------------------------------------------------- 1 | FILTER_SANITIZE_STRING, 8 | 'oid' => FILTER_SANITIZE_NUMBER_INT, 9 | 'sid' => FILTER_SANITIZE_STRING, 10 | 't' => FILTER_SANITIZE_NUMBER_INT, 11 | 'sign' => FILTER_SANITIZE_STRING, 12 | 'adult' => FILTER_SANITIZE_NUMBER_INT, 13 | ); 14 | 15 | $formVals = filter_var_array($_REQUEST, $args); 16 | 17 | header('Content-Type:application/json;charset=utf-8'); 18 | 19 | if (empty($formVals['name']) || 20 | empty($formVals['oid']) || 21 | empty($formVals['sid']) || 22 | empty($formVals['t']) || 23 | empty($formVals['sign']) 24 | ) { 25 | echo json_encode(array('ret' => -1, 'err' => 'args')); 26 | exit; 27 | } 28 | 29 | $difftime = time() - strtotime($formVals['t']); 30 | if (abs($difftime) > 900) { 31 | echo json_encode(array('ret' => -1, 'err' => 't')); 32 | exit; 33 | } 34 | 35 | 36 | $opInfo = M_Consumer::getById($formVals['oid']); 37 | if (empty($opInfo['id'])) { 38 | echo json_encode(array('ret' => -1, 'err' => 'oid')); 39 | exit; 40 | } 41 | 42 | $key = $opInfo['key']; 43 | $sign = md5("{$formVals['oid']}&{$key}&{$formVals['name']}&{$formVals['sid']}&{$formVals['t']}"); 44 | if ($sign != strtolower($formVals['sign'])) { 45 | echo json_encode(array('ret' => -1, 'err' => 'sign')); 46 | exit; 47 | } 48 | 49 | $maintenance = M_Config::getSvrCfg('maintenance'); 50 | $now = time(); 51 | $m_start = strtotime($maintenance['start']); 52 | $m_end = strtotime($maintenance['end']); 53 | if (($m_start <= $m_end) && ($m_start < $now) && ($m_end > $now)) { 54 | echo json_encode(array('ret' => 1, 'err' => $maintenance['msg'])); 55 | exit; 56 | } 57 | 58 | M_Auth::render($formVals['name'],$formVals['oid'],$formVals['sid']); -------------------------------------------------------------------------------- /www/qq/QqLive.php: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /www/styles/adm/css/images/buttons.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/images/buttons.gif -------------------------------------------------------------------------------- /www/styles/adm/css/images/toolbar.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/images/toolbar.gif -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_flat_55_999999_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_flat_55_999999_40x100.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_flat_75_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_flat_75_aaaaaa_40x100.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_glass_45_0078ae_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_glass_45_0078ae_1x400.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_glass_55_f8da4e_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_glass_55_f8da4e_1x400.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_glass_75_79c9ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_glass_75_79c9ec_1x400.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_gloss-wave_45_e14f1c_500x100.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_gloss-wave_50_6eac2c_500x100.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_gloss-wave_75_2191c0_500x100.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-bg_inset-hard_100_fcfdfd_1x100.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-icons_0078ae_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_0078ae_256x240.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-icons_056b93_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_056b93_256x240.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-icons_d8e7f3_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_d8e7f3_256x240.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-icons_e0fdff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_e0fdff_256x240.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-icons_f5e175_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_f5e175_256x240.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-icons_f7a50d_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_f7a50d_256x240.png -------------------------------------------------------------------------------- /www/styles/adm/css/start/images/ui-icons_fcd113_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/css/start/images/ui-icons_fcd113_256x240.png -------------------------------------------------------------------------------- /www/styles/adm/images/add-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/add-icon.gif -------------------------------------------------------------------------------- /www/styles/adm/images/adm_flash/BattlerCopyScene.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/BattlerCopyScene.swf -------------------------------------------------------------------------------- /www/styles/adm/images/adm_flash/build_editor.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/build_editor.swf -------------------------------------------------------------------------------- /www/styles/adm/images/adm_flash/builds.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/builds.swf -------------------------------------------------------------------------------- /www/styles/adm/images/adm_flash/city_map_editor.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/city_map_editor.swf -------------------------------------------------------------------------------- /www/styles/adm/images/adm_flash/war_map_editor.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/adm_flash/war_map_editor.swf -------------------------------------------------------------------------------- /www/styles/adm/images/arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/arrow.gif -------------------------------------------------------------------------------- /www/styles/adm/images/bg-center-column.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/bg-center-column.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/del-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/del-icon.gif -------------------------------------------------------------------------------- /www/styles/adm/images/edit-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/edit-icon.gif -------------------------------------------------------------------------------- /www/styles/adm/images/hr.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/hr.gif -------------------------------------------------------------------------------- /www/styles/adm/images/login-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/login-icon.gif -------------------------------------------------------------------------------- /www/styles/adm/images/logo.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/logo.gif -------------------------------------------------------------------------------- /www/styles/adm/images/save-icon.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/save-icon.gif -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/1.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/10.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/11.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/12.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/12.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/13.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/13.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/14.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/14.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/15.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/15.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/16.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/16.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/17.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/17.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/18.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/18.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/19.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/19.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/2.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/20.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/20.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/21.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/21.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/3.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/4.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/5.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/6.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/7.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/8.jpg -------------------------------------------------------------------------------- /www/styles/adm/images/war_map_cell/9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/images/war_map_cell/9.jpg -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/config.js: -------------------------------------------------------------------------------- 1 | var langList = 2 | [ 3 | {name: 'en', charset: 'UTF-8'}, 4 | {name: 'zh-cn', charset: 'UTF-8'}, 5 | {name: 'zh-tw', charset: 'UTF-8'} 6 | ]; 7 | 8 | var skinList = 9 | [ 10 | {name: 'default', charset: 'UTF-8'}, 11 | {name: 'whyGreen', charset: 'UTF-8'} 12 | ]; -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/lang/en.js: -------------------------------------------------------------------------------- 1 | var $lang = { 2 | errAlertMsg: "Invalid date or the date out of range,redo or not?", 3 | aWeekStr: ["wk", "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], 4 | aLongWeekStr: ["wk", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"], 5 | aMonStr: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], 6 | aLongMonStr: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], 7 | clearStr: "Clear", 8 | todayStr: "Today", 9 | okStr: "OK", 10 | updateStr: "OK", 11 | timeStr: "Time", 12 | quickStr: "Quick Selection", 13 | err_1: 'MinDate Cannot be bigger than MaxDate!' 14 | } -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/lang/zh-cn.js: -------------------------------------------------------------------------------- 1 | var $lang = { 2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u8303\u56F4,\u9700\u8981\u64A4\u9500\u5417?", 3 | aWeekStr: ["\u5468", "\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"], 4 | aLongWeekStr: ["\u5468", "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D"], 5 | aMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00", "\u5341\u4E8C"], 6 | aLongMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"], 7 | clearStr: "\u6E05\u7A7A", 8 | todayStr: "\u4ECA\u5929", 9 | okStr: "\u786E\u5B9A", 10 | updateStr: "\u786E\u5B9A", 11 | timeStr: "\u65F6\u95F4", 12 | quickStr: "\u5FEB\u901F\u9009\u62E9", 13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u4E8E\u6700\u5927\u65E5\u671F!' 14 | } -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/lang/zh-tw.js: -------------------------------------------------------------------------------- 1 | var $lang = { 2 | errAlertMsg: "\u4E0D\u5408\u6CD5\u7684\u65E5\u671F\u683C\u5F0F\u6216\u8005\u65E5\u671F\u8D85\u51FA\u9650\u5B9A\u7BC4\u570D,\u9700\u8981\u64A4\u92B7\u55CE?", 3 | aWeekStr: ["\u5468", "\u65E5", "\u4E00", "\u4E8C", "\u4E09", "\u56DB", "\u4E94", "\u516D"], 4 | aLongWeekStr: ["\u5468", "\u661F\u671F\u65E5", "\u661F\u671F\u4E00", "\u661F\u671F\u4E8C", "\u661F\u671F\u4E09", "\u661F\u671F\u56DB", "\u661F\u671F\u4E94", "\u661F\u671F\u516D"], 5 | aMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00", "\u5341\u4E8C"], 6 | aLongMonStr: ["\u4E00\u6708", "\u4E8C\u6708", "\u4E09\u6708", "\u56DB\u6708", "\u4E94\u6708", "\u516D\u6708", "\u4E03\u6708", "\u516B\u6708", "\u4E5D\u6708", "\u5341\u6708", "\u5341\u4E00\u6708", "\u5341\u4E8C\u6708"], 7 | clearStr: "\u6E05\u7A7A", 8 | todayStr: "\u4ECA\u5929", 9 | okStr: "\u78BA\u5B9A", 10 | updateStr: "\u78BA\u5B9A", 11 | timeStr: "\u6642\u9593", 12 | quickStr: "\u5FEB\u901F\u9078\u64C7", 13 | err_1: '\u6700\u5C0F\u65E5\u671F\u4E0D\u80FD\u5927\u65BC\u6700\u5927\u65E5\u671F!' 14 | } -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/skin/WdatePicker.css: -------------------------------------------------------------------------------- 1 | .Wdate { 2 | border: #999 1px solid; 3 | height: 20px; 4 | background: #fff url(datePicker.gif) no-repeat right; 5 | } 6 | 7 | .WdateFmtErr { 8 | font-weight: bold; 9 | color: red; 10 | } -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/skin/datePicker.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/js/My97DatePicker/skin/datePicker.gif -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/skin/default/img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/js/My97DatePicker/skin/default/img.gif -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/skin/whyGreen/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/js/My97DatePicker/skin/whyGreen/bg.jpg -------------------------------------------------------------------------------- /www/styles/adm/js/My97DatePicker/skin/whyGreen/img.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/adm/js/My97DatePicker/skin/whyGreen/img.gif -------------------------------------------------------------------------------- /www/styles/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/bg.jpg -------------------------------------------------------------------------------- /www/styles/loading.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/loading.gif -------------------------------------------------------------------------------- /www/styles/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/lingfan/war2game/6709692c16515641992a94b079bc5358b62fc28f/www/styles/logo.png -------------------------------------------------------------------------------- /www/styles/main.css: -------------------------------------------------------------------------------- 1 | body { 2 | background: none repeat scroll 0 0 #000000; 3 | color: #000000; 4 | font-family: tahoma, arial, sans-serif, 宋 体; 5 | font-size: 12px; 6 | margin: 0; 7 | padding: 0; 8 | } 9 | 10 | #game_flash { 11 | max-width: 1400px; 12 | max-height: 900px; 13 | margin: 0 auto; 14 | border: 0px; 15 | width: auto; 16 | height: auto; 17 | width: expression(( document.body.clientWidth > 1400 ? 1400 : 18 | document.body.clientWidth) + "px" ); 19 | height: expression(( document.body.clientHeight > 900 ? 900 : 20 | document.body.clientHeight) + "px" ); 21 | } 22 | 23 | #page { 24 | margin: 0 auto; 25 | width: 100%; 26 | height: 100%; 27 | text-align: center; 28 | } -------------------------------------------------------------------------------- /www/testdev.php: -------------------------------------------------------------------------------- 1 | "; 33 | print_r($ret); 34 | echo ""; 35 | $eTime = microtime(1); 36 | 37 | $diff = sprintf('%.3f', ($eTime - $sTime)); 38 | echo "Cost Time: " . $diff . "
"; 39 | $mem = memory_get_peak_usage(true); 40 | echo "Peak mem. usage: " . round($mem / 1024 / 10124, 2) . " MB
"; 41 | if ($prof) { 42 | $data = xhprof_disable(); 43 | 44 | $XHPROF_ROOT = dirname(__FILE__); 45 | include_once $XHPROF_ROOT . "/xhprof/xhprof_lib/utils/xhprof_lib.php"; 46 | include_once $XHPROF_ROOT . "/xhprof/xhprof_lib/utils/xhprof_runs.php"; 47 | 48 | $xhprof_runs = new XHProfRuns_Default(); 49 | 50 | // Save the run under a namespace "xhprof". 51 | $run_id = $xhprof_runs->save_run($data, "xhprof"); 52 | echo "view"; 53 | } 54 | ?> -------------------------------------------------------------------------------- /www/tool/auth.php: -------------------------------------------------------------------------------- 1 | 0) { 13 | $validated = true; 14 | } 15 | } 16 | $validated = true; 17 | 18 | if (!$validated) { 19 | $user = isset($_SERVER['PHP_AUTH_USER']) ? $_SERVER['PHP_AUTH_USER'] : ''; 20 | $pass = isset($_SERVER['PHP_AUTH_PW']) ? $_SERVER['PHP_AUTH_PW'] : ''; 21 | 22 | $gmuser = array('huv520'=>'654321'); 23 | if (isset($gmuser[$user])) { 24 | $expire = $now + 86400; 25 | $authVal = "{$user}|{$expire}|" . md5("{$user}{$expire}{$key}"); 26 | setcookie('u', $authVal, $expire, '/'); 27 | } else { 28 | header('WWW-Authenticate: Basic realm="dev"'); 29 | header('HTTP/1.0 401 Unauthorized'); 30 | die ("Not authorized"); 31 | } 32 | } 33 | ?> -------------------------------------------------------------------------------- /www/wait.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 二战 5 | 6 | 7 | 8 | 9 | 33 | 34 | 35 | 36 |
37 |
39 | 40 |
41 | 42 | --------------------------------------------------------------------------------