protected override void InitAOIData(xc.UnitCacheInfo info) { base.InitAOIData(info); PetId = info.AOIPet.pet_id; CreateParam createParam = mCreateParam as CreateParam; if (createParam == null) { return; } ParentActor = ActorManager.Instance.GetActor(createParam.master); if (ParentActor != null) { mActorAttr.Camp = ParentActor.ActorAttribute.Camp; } else { Debug.LogError("Pet's parent is null, UID: " + info.UnitID.obj_idx); } HPProgressBarIsActive = false; UpdateBattleAttribute(); }
private static void CloseConnect() { var res = _server.Disconnect(); Console.WriteLine($"Соединение закрыто: {res.Succes}"); _connectparam = null; _gameparam = null; }
public override GameResult Create(CreateParam param) { GameServerId = param.GameServerId; var run = $"cd {Path}/rust/serverfiles/server/;find {GameName}{GameServerId}"; var res = Client.RunCommand(run); if (!string.IsNullOrEmpty(res.Error)) { run = $"cd {Path}/rust/serverfiles/server/;mkdir {GameName}{GameServerId};" + $"cd rust-server; cp -r * {Path}/rust/serverfiles/server/{GameName}{GameServerId}"; Client.RunCommand(run); } var result = new GameResult(); return(result); }
public override GameResult Create(CreateParam param) { if (!string.IsNullOrEmpty(param.GameServerId)) { GameServerId = param.GameServerId; } var result = new GameResult(); if (!CompleteInstal()) { result.Error = GameHostTypeError.CantCreate; result.Succes = false; result.ErrorMessage = "Error Create"; } return(result); }
public override GameResult Create(CreateParam param) { if (!string.IsNullOrEmpty(param.GameServerId)) { GameServerId = param.GameServerId; } var result = new GameResult(); var host = $"cd {Path}/{GameName}/serverfiles/{GameCode}/Saved/Config/LinuxServer;"; Client.RunCommand(host + $"chmod 777 {GameName}{GameServerId}.ini;"); Client.RunCommand(host + "echo \"[ServerSettings]\nAllowFlyerCarryPvE=False\nAllowThirdPersonPlayer=False\n" + "AlwaysNotifyPlayerLeft=False\nAutoSavePeriodMinutes=15.000000\nClampResourceHarvestDamage=False\n" + "DifficultyOffset=0.200000\nDisableStructureDecayPvE=False\nDontAlwaysNotifyPlayerJoined=False\n" + "EnablePvPGamma=False\nGlobalVoiceChat=False\nKickIdlePlayersPeriod=2400.000000\nNoTributeDownloads=False\n" + "ProximityChat=False\nProximityVoiceChat=False\nPvEStructureDecayDestructionPeriod=0.000000\n" + $"RCONEnabled=True\nRCONPort={param.GamePort+2}\nServerAdminPassword=adminpassword\nServerCrosshair=False\n" + "ServerForceNoHUD=False\nServerHardcore=False\nServerPassword=\nServerPVE=False\nShowMapPlayerLocation=False\n" + "TamedDinoDamageMultiplier=1.000000\nTamedDinoResistanceMultiplier=1.000000\n" + "[/Script/ShooterGame.ShooterGameUserSettings]\nMasterAudioVolume=1.000000\nMusicAudioVolume=1.000000\n" + "SFXAudioVolume=1.000000\nVoiceAudioVolume=1.000000\nCameraShakeScale=1.000000\nbFirstPersonRiding=False\n" + "bThirdPersonPlayer=False\nbShowStatusNotificationMessages=True\nTrueSkyQuality=0.270000\n" + "FOVMultiplier=1.000000\nGroundClutterDensity=1.000000\nbFilmGrain=False\nbMotionBlur=True\nbUseDFAO=True\n" + "bUseSSAO=True\nbShowChatBox=True\nbCameraViewBob=True\nbInvertLookY=False\nbFloatingNames=True\n" + "bChatBubbles=True\nbHideServerInfo=False\nbJoinNotifications=False\nbCraftablesShowAllItems=True\n" + "LookLeftRightSensitivity=1.000000\nLookUpDownSensitivity=1.000000\nGraphicsQuality=2\n" + "ActiveLingeringWorldTiles=10\nClientNetQuality=3\nLastServerSearchType=0\nLastServerSearchHideFull=False\n" + "LastServerSearchProtected=False\nHideItemTextOverlay=False\nbDistanceFieldShadowing=True\nLODScalar=1.000000\n" + "HighQualityMaterials=True\nHighQualitySurfaces=True\nbTemperatureF=False\nbDisableTorporEffect=False\n" + "bChatShowSteamName=False\nbChatShowTribeName=True\nEmoteKeyBind1=0\nEmoteKeyBind2=0\nbUseVSync=False\n" + "ResolutionSizeX=1280\nResolutionSizeY=720\nLastUserConfirmedResolutionSizeX=1280\n" + "LastUserConfirmedResolutionSizeY=720\nWindowPosX=-1\nWindowPosY=-1\nbUseDesktopResolutionForFullscreen=False\n" + "FullscreenMode=2\nLastConfirmedFullscreenMode=2\nVersion=5\n\n[ScalabilityGroups]\nsg.ResolutionQuality=100\n" + "sg.ViewDistanceQuality=3\nsg.AntiAliasingQuality=3\nsg.ShadowQuality=3\nsg.PostProcessQuality=3\n" + "sg.TextureQuality=3\nsg.EffectsQuality=3\nsg.TrueSkyQuality=3\nsg.GroundClutterQuality=3\nsg.IBLQuality=1\n" + $"sg.HeightFieldShadowQuality=3\n\" > {GameName}{GameServerId}.ini;"); Client.RunCommand(host + $"echo \"[SessionSettings]\nSessionName=arkserver\nQueryPort={param.GamePort+1}\nPort={param.GamePort}\n" + $"[/Script/Engine.GameSession]\nMaxPlayers=127\n[MessageOfTheDay]\nMessage=Welcome to ARK Server\n" + $"Duration=5\n\" >> {GameName}{GameServerId}.ini;"); if (!CompleteInstal()) { result.Error = GameHostTypeError.CantCreate; result.Succes = false; result.ErrorMessage = "Error Create"; } return(result); }
public override GameResult Create(CreateParam param) { if (!string.IsNullOrEmpty(param.GameServerId)) { GameServerId = param.GameServerId; } var result = new GameResult(); var run = $"cd {_path}/jc2users;mkdir {GameServerId};cp -r jc2 {GameServerId}/{GameName}"; Client.RunCommand(run); var host = $"cd {_path}/jc2users/{GameServerId}/{GameName}/serverfiles;"; Client.RunCommand(host + "chmod 777 config.lua;"); Client.RunCommand(host + "echo \"Server={\" > config.lua;"); MaxPlayers = MaxPlayers > 0 ? MaxPlayers : 5000; Client.RunCommand(host + $"echo \"MaxPlayers={MaxPlayers},\" >> config.lua;"); Client.RunCommand(host + "echo \"BindIP= \\\"\\\",\" >> config.lua;"); Client.RunCommand(host + $"echo \"BindPort={param.GamePort},\" >> config.lua;"); Client.RunCommand(host + "echo \"Timeout=10000,\" >> config.lua;"); Client.RunCommand(host + "echo \"Name= \\\"JC2 - MP Server\\\",\" >> config.lua;"); Client.RunCommand(host + "echo \"Description=\\\"\\\",\" >> config.lua;"); Client.RunCommand(host + "echo \"Password=\\\"\\\",\" >> config.lua;"); Client.RunCommand(host + "echo \"Announce=true,\" >> config.lua;"); Client.RunCommand(host + "echo \"SyncUpdate==180,\" >> config.lua;"); Client.RunCommand(host + "echo \"IKnowWhatImDoing=false}\" >> config.lua;"); Client.RunCommand(host + "echo \"SyncRates ={Vehicle = 75,OnFoot = 120,Passenger = 1000,MountedGun = 250,StuntPosition = 350}\" >> config.lua;"); Client.RunCommand(host + "echo \"Streamer ={StreamDistance= 500}\" >> config.lua;"); Client.RunCommand(host + "echo \"Vehicle ={DeathRespawnTime = 10,DeathRemove = false,UnoccupiedRespawnTime = 45,UnoccupiedRemove = false,}\" >> config.lua;"); Client.RunCommand(host + "echo \"Player ={SpawnPosition = Vector3(-6550, 209, -3290)}\" >> config.lua;"); Client.RunCommand(host + "echo \"Module ={MaxErrorCount = 5,ErrorDecrementTime = 500,SendAutorunWhenEmpty = false}\" >> config.lua;"); Client.RunCommand(host + "echo \"World ={Time = 0.0,TimeStep = 1,WeatherSeverity = 0}\" >> config.lua;"); Path = $"{_path}/jc2users/{GameServerId}/"; if (!CompleteInstal()) { result.Error = GameHostTypeError.CantCreate; result.Succes = false; result.ErrorMessage = "Error Create"; } return(result); }
private static void RunServer() { Console.Write(" 1 - Ark \t 2 - Arma3\n 3 - CS\t 4 - CSGO\n 5 - CSS\t 6 - Dod\n 7 - Gmod\t 8 - L4D\n 9 - L4D2\t 10 - Minecraft\n" + " 11 - TF2\t 12 - Bmdm\n 13 - Cscz\t 14 - Cure\n 15 - Insurgency\t 16 - JustCause2\n 17 - Rust\t 18 - Dods\n" + " 19 - Dst\t 20 - DoubleAction\n 21 - FistfulofFrags\t 22 - Hurtworld\n 23 - KillingFloor\t 24 - NS2\n" + " 25 - Nmrih\t 26 - Opfor\n 27 - Pvkii\t 28 - Quake Live\n Выберите игру: "); var key = Console.ReadLine(); _connectparam = GetLinuxConnect(key); if (_connectparam == null) { return; } _server = GameServerFactory.Instance.Get(_connectparam); var res = _server.Connect(); _gameparam = new CreateParam { Slots = 2, GamePort = 27020, GameServerId = _connectparam.GameServerId, GamePassword = "", }; res = _server.Create(_gameparam); if (!res.Succes) { Console.WriteLine($"{res.ErrorMessage}"); } var param = GetChangeStatusParam(); param.TypeStatus = GameHostTypeStatus.Enable; res = _server.ChangeStatus(param); if (!res.Succes) { Console.WriteLine($"{res.ErrorMessage}"); } //_server.DataReceived += _server_DataReceived; //var res = _server.On(_gameparam); //if (res.ServerStates == null) return; //foreach (var param in res.ServerStates) // Console.WriteLine($"{param.ParameterName}: {param.ParameterValue}"); }
public override GameResult Create(CreateParam param) { if (!string.IsNullOrEmpty(param.GameServerId)) { GameServerId = param.GameServerId; } if (!CompleteInstal()) { var run = $"cd {Path}/{GameName};cp -r ns2-server {GameName}{GameServerId}"; Client.RunCommand(run); } var result = new GameResult(); if (!CompleteInstal()) { result.Error = GameHostTypeError.CantCreate; result.Succes = false; result.ErrorMessage = "Error Create"; } return(result); }
public override GameResult Create(CreateParam param) { if (!string.IsNullOrEmpty(param.GameServerId)) { GameServerId = param.GameServerId; } var run = $"cd {Path}/{GameName}/serverfiles/{GameCode};cp -r {GameName}-server.cfg {GameName}{GameServerId}.cfg"; var res = Client.RunCommand(run); var result = new GameResult(); if (!string.IsNullOrEmpty(res.Error)) { ValidateError(res, result); } if (!CompleteInstal()) { result.Error = GameHostTypeError.CantCreate; result.Succes = false; result.ErrorMessage = "Error Create"; } return(result); }
public override GameResult Create(CreateParam param) { if (!string.IsNullOrEmpty(param.GameServerId)) { GameServerId = param.GameServerId; } var run = $"cd {Path}/{GameName}/serverfiles/System;sed 's/Port=7707/Port={param.GamePort}/g' kf-server.ini > temp.ini"; var res = Client.RunCommand(run); run = $"cd {Path}/{GameName}/serverfiles/System;" + $"sed 's/OldQueryPortNumber=7717/OldQueryPortNumber={param.GamePort + 1}/g' temp.ini > {GameName}{GameServerId}.ini"; res = Client.RunCommand(run); var result = new GameResult(); if (!CompleteInstal()) { result.Error = GameHostTypeError.CantCreate; result.Succes = false; result.ErrorMessage = "Error Create"; } return(result); }
public override GameResult Create(CreateParam param) { if (!string.IsNullOrEmpty(param.GameServerId)) { GameServerId = param.GameServerId; } var run = $"cd {Path}/{GameName}/serverfiles/cfg;find {GameName}{GameServerId}"; var res = Client.RunCommand(run); if (!string.IsNullOrEmpty(res.Error)) { run = $"cd {Path}/{GameName}/serverfiles/cfg;cp -r DoNotStarveTogether {GameName}{GameServerId}"; Client.RunCommand(run); } var host = $"cd {Path}/{GameName}/serverfiles/cfg/{GameName}{GameServerId};"; Client.RunCommand(host + $"chmod 777 settings.ini;"); Client.RunCommand(host + $"echo \"[network]\ndefault_server_name = {GameName}{GameServerId}\n" + $"default_server_description = Welcome to {GameName}{GameServerId} server\nserver_port = {param.GamePort}\n" + $"server_password = {GameName}{GameServerId}\n\" > settings.ini;"); MaxPlayers = MaxPlayers > 0 ? MaxPlayers : 16; Client.RunCommand(host + $"echo \"max_players = {MaxPlayers}\npvp = false\ngame_mode = endless\nenable_autosaver = true\ntick_rate = 30\n" + $"connection_timeout = 8000\nserver_save_slot = 1\nenable_vote_kick = true\npause_when_empty = true\n\n" + $"[account]\ndedicated_lan_server = false\n[STEAM]\nDISABLECLOUD = true\n[MISC]\nCONSOLE_ENABLED = true\n" + $"autocompiler_enabled = true\n\" >> settings.ini;"); var result = new GameResult(); if (!CompleteInstal()) { result.Error = GameHostTypeError.CantCreate; result.Succes = false; result.ErrorMessage = "Error Create"; } return(result); }
public override GameResult Create(CreateParam param) { if (!string.IsNullOrEmpty(param.GameServerId)) { GameServerId = param.GameServerId; } var result = new GameResult(); var run = $"cd {Path}/{GameName}/serverfiles/cfg;cp -r arma3-server.server.cfg {GameName}{GameServerId}.server.cfg"; var res = Client.RunCommand(run); var host = $"cd {Path}/{GameName}/serverfiles/cfg;"; Client.RunCommand(host + $"chmod 777 {GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + $"echo \"serverport={param.GamePort};\" > {GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + $"echo \"steamqueryport={param.GamePort+1};\" >> {GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + $"echo \"steamport={param.GamePort+2};\" >> {GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + $"echo \"passwordAdmin = \\\"{GameName}{GameServerId}adminpass\\\";\" >> {GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + $"echo \"maxPlayers = 32;\" >> {GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + $"echo \"logFile = \\\"{GameName}{GameServerId}server.log\\\";\" >> {GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + "echo \"motd[]={\\\"Welcome to My Arma 3 Server\\\"," + "\\\"TS3 Server: teamspeak.somewhere.com\\\",\\\"Web: www.example.com\\\"};\" >> " + $"{GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + "echo \"motdInterval = 30;\nvoteMissionPlayers = 1;\nvoteThreshold = 0.33;\n" + "disableVoN = 0;\nvonCodecQuality = 3;\npersistent = 1;\ntimeStampFormat = \\\"short\\\";\n" + "verifySignatures = 2;\nrequiredSecureId = 2;\nkickDuplicate = 1;\nBattlEye = 1;\" >> " + $"{GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + "echo \"allowedLoadFileExtensions[] = {\\\"hpp\\\",\\\"sqs\\\",\\\"sqf\\\",\\\"fsm\\\"," + "\\\"cpp\\\",\\\"paa\\\",\\\"txt\\\",\\\"xml\\\",\\\"inc\\\",\\\"ext\\\",\\\"sqm\\\",\\\"ods\\\"," + "\\\"fxy\\\",\\\"lip\\\",\\\"csv\\\",\\\"kb\\\",\\\"bik\\\",\\\"bikb\\\"," + "\\\"html\\\",\\\"htm\\\",\\\"biedi\\\"};\" >> " + $"{GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + "echo \"allowedPreprocessFileExtensions[] = {\\\"hpp\\\",\\\"sqs\\\",\\\"sqf\\\",\\\"fsm\\\"," + "\\\"cpp\\\",\\\"paa\\\",\\\"txt\\\",\\\"xml\\\",\\\"inc\\\",\\\"ext\\\",\\\"sqm\\\",\\\"ods\\\"," + "\\\"fxy\\\",\\\"lip\\\",\\\"csv\\\",\\\"kb\\\",\\\"bik\\\",\\\"bikb\\\",\\\"html\\\"," + "\\\"htm\\\",\\\"biedi\\\"};\" >> " + $"{GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + "echo \"allowedHTMLLoadExtensions[] = {\\\"htm\\\",\\\"html\\\",\\\"xml\\\",\\\"txt\\\"};\" >> " + $"{GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + "echo \"onUserConnected = \\\"\\\";\nonUserDisconnected = \\\"\\\";\ndoubleIdDetected = \\\"\\\";\" >> " + $"{GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + "echo \"onUnsignedData = \\\"kick (_this select 0)\\\";\nonHackedData = \\\"kick (_this select 0)\\\";\n"+ "onDifferentData = \\\"\\\";\" >> " + $"{GameName}{GameServerId}.server.cfg;"); Client.RunCommand(host + "echo \"headlessClients[]={\\\"127.0.0.1\\\"};\nlocalClient[]={\\\"127.0.0.1\\\"};\n" + "battleyeLicense=1;\" >> " + $"{GameName}{GameServerId}.server.cfg;"); run = $"cd {Path}/{GameName}/serverfiles/cfg;cp -r arma3-server.network.cfg {GameName}{GameServerId}.network.cfg"; res = Client.RunCommand(run); if (!string.IsNullOrEmpty(res.Error)) { ValidateError(res, result); } if (!CompleteInstal()) { result.Error = GameHostTypeError.CantCreate; result.Succes = false; result.ErrorMessage = "Error Create"; } return(result); }
private static extern IntPtr sarSmartar_SarSmartARController_sarDoCreate(ref CreateParam param, bool workerThreadEnabled);
public virtual GameResult DeleteServer(CreateParam param) { throw new NotImplementedException(); }
public override void AfterCreate() { base.AfterCreate(); #if UNITY_EDITOR gameObject.name = "Monster_" + UID.obj_idx + "_" + ActorId; #endif CreateParam createParam = mCreateParam as CreateParam; if (createParam == null) { return; } m_SummonMonster = createParam.summon; var select_actor = LockTargetManager.Instance.SelectActor; if (createParam.summon) { OnCreateSummonMonster(mCreateInfo, createParam); if (this.ParentActor == null || this.ParentActor.IsLocalPlayer == false) { if (this == select_actor)// 选中的角色选中显示头顶名字和血条等 { mVisibleCtrl.SetActorVisible(ShieldManager.Instance.SummonMonsterVisible, false, true, VisiblePriority.CULL); } else { mVisibleCtrl.SetActorVisible(ShieldManager.Instance.SummonMonsterVisible, false, false, VisiblePriority.CULL); } } return; } else { if (IsBoss() == false) { if (this == select_actor)// 选中的角色选中显示头顶名字和血条等 { mVisibleCtrl.SetActorVisible(ShieldManager.Instance.NomralMonsterVisible, false, true, VisiblePriority.CULL); } else { mVisibleCtrl.SetActorVisible(ShieldManager.Instance.NomralMonsterVisible, false, false, VisiblePriority.CULL); } } } if (createParam.is_pet) { SetMonsterType(Monster.MonsterType.LocalMonster); if (!IsBoss()) { HPProgressBarIsActive = true; } if (createParam.hasAI) { ActiveAI(true); } //ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_LOCALMONSTERCREATEED, new CEventBaseArgs(this)); } else { if (!IsBoss()) { HPProgressBarIsActive = true; } SetMonsterType(Monster.MonsterType.RemoterMonster); ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_REMOTEMONSTERCREATEED, new CEventBaseArgs(this)); // 添加CE_MONSTERCREATEED消息通知Lua,避免Monster类对象的传递 ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_MONSTERCREATEED, new CEventObjectArgs(this.UID.obj_idx, this.TypeIdx)); } var camp = mCreateInfo.AOIMonster != null ? mCreateInfo.AOIMonster.camp : 0xffffffff; Camp = camp; #if UNITY_EDITOR // 更改名字 GetModel().name = string.Format("Monster_{0}", UID.obj_idx); #endif }
/// <summary> /// 在创建怪物后的处理 /// </summary> private void OnCreateSummonMonster(xc.UnitCacheInfo info, CreateParam param) { Actor master = ActorManager.Instance.GetActor(param.master); if (param.summonByMonster) { BeSummonedType = Monster.BeSummonType.BE_SUMMON_BY_MONSTER; } else { if (master is LocalPlayer) { BeSummonedType = Monster.BeSummonType.BE_SUMMON_BY_PLAYER; } else { BeSummonedType = Monster.BeSummonType.BE_SUMMON_BY_ROBOT; } } // 初始化怪物的各种数据 if (master != null) { Camp = master.Camp; } else { Camp = info.AOIMonster.camp; } SetMonsterType(param.summonType); if (param.summonType == Monster.MonsterType.SummonRemoteMonster) { ActiveAI(false); } else { ActiveAI(true); } if (param.summonByMonster) { CenterSpawnPos = info.PosBorn; } if (BeSummonedType == BeSummonType.BE_SUMMON_BY_MONSTER) { if (!ActorManager.Instance.CalledMonsterSet.ContainsKey(info.UnitID)) { ActorManager.Instance.CalledMonsterSet.Add(info.UnitID, this); } } else if (this is Pet) { } else { if (!ActorManager.Instance.SummonMonsterSet.ContainsKey(info.UnitID)) { ActorManager.Instance.SummonMonsterSet.Add(info.UnitID, this); } } if (param.summonType == Monster.MonsterType.LocalMonster) { // 定时销毁召唤怪 /*DelayTimeComponent delayTime = GetModel().AddComponent<DelayTimeComponent>(); * delayTime.DelayTime = param.time; * delayTime.SetEndCallBack(new DelayDestroyComponent.EndCallBackInfo(OnSummonMonsterDisappear, info.UnitID)); * if(!param.summonByMonster) * // 显示血条 * HPProgressBarIsActive = true;*/ } // 设置sonActor if (master != null) { master.AddSonActor(this); } ParentActor = master; if (param.summonType == MonsterType.SummonRemoteMonster) { ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_REMOTEMONSTERCREATEED, new CEventBaseArgs(this)); } else { ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_LOCALMONSTERCREATEED, new CEventBaseArgs(this)); } // 添加CE_MONSTERCREATEED消息通知Lua,避免Monster类对象的传递 ClientEventMgr.GetInstance().FireEvent((int)ClientEvent.CE_MONSTERCREATEED, new CEventObjectArgs(this.UID.obj_idx, this.TypeIdx)); }