Easy Anti Cheat on Behalf of the Game Developers
We strive to provide all our services for free and not interrupt your visit with intrusive advertisements or restrictions - support us by disabling your ad blocker or whitelisting our site.
|
Thread Tools |
[Help] Banned on behalf of game developer |
25th March 2020, 11:56 AM | #1 | |||||||||||
Junior Member Join Date: Jul 2014 Posts: 43 Reputation: 243 Points: 6,321, Level: 8 Level up: 84%, 179 Points needed Activity: 2.7% | [Help] Banned on behalf of game developer Hello. However yesterday I got a temporarily 3 day EAC ban with the following message Could anyone tell me what is it that I should avoid doing, or what do you think that I was doing which could have caused this? Does rust have something like an "Overwatch system" in CSGO, where you get spectated if you get reported many times or something to that regard? Thanks for the help in advance. Last edited by Erik9631; 25th March 2020 at 12:06 PM. Reason: Missing prefix | |||||||||||
|
25th March 2020, 12:23 PM | #2 | |||||||||||
mach_vm_protect Join Date: Jan 2019 Location: Germany Posts: 361 Reputation: 3382 Points: 9,556, Level: 11 Level up: 78%, 244 Points needed Activity: 2.5% | Yes, the developers or whatever will watch you play and then ban you. __________________
| |||||||||||
|
25th March 2020, 12:58 PM | #3 | |||||||||||
MVP Join Date: Sep 2005 Posts: 16,884 Reputation: 387758 Points: 1, Level: 1 Level up: 0%, 1 Points needed Activity: 0% | Ceberus Most people (myself included) believe these 3 day bans are automated and placed on your account by Cerberus. Whenever a violation is logged, EAC get a copy sent to them: Code: public static void Log(BasePlayer ply, AntiHackType type, string message) { if (ConVar.AntiHack.debuglevel > 1) { global::AntiHack.LogToConsole(ply, type, message); } global::AntiHack.LogToEAC(ply, type, message); } private static void LogToEAC(BasePlayer ply, AntiHackType type, string message) { if (ConVar.AntiHack.reporting && EACServer.eacScout != null) { EACServer.eacScout.SendInvalidPlayerStateReport(ply.UserIDString, InvalidPlayerStateReportCategory.PlayerReportExploiting, type + ": " + message); } } public void SendInvalidPlayerStateReport(string PlayerGUID, InvalidPlayerStateReportCategory ReportCategory, string Report) { NativeScout.SendInvalidPlayerStateReport(PlayerGUID, ReportCategory, Report); } public static void SendInvalidPlayerStateReport(string PlayerGUID, InvalidPlayerStateReportCategory ReportCategory, string Report) { if (NativeScout.Instance != IntPtr.Zero) { NativeScout.dotSendInvalidPlayerStateReport(NativeScout.Instance, PlayerGUID, (uint)ReportCategory, Report); } } Just like client-side EAC functions, these filter down to EAC's native DLL. If you want to disable this logging on your own server, replace eac_server.dll with a native module that exports CreateScout, returning 0. This will let the server run as normal but disable EAC logging, FP do however have some extra exception logging you might want to disable if working on exploits. As well as violations they also log some combat stuff as seen below. Code: if (EACServer.playerTracker != null) { using (TimeWarning.New("LogPlayerShooting", 0)) { UnityEngine.Vector3 networkPosition = player.GetNetworkPosition(); UnityEngine.Quaternion networkRotation = player.GetNetworkRotation(); global::Item item = this.GetItem(); int weaponID = (item != null) ? item.info.itemid : 0; EasyAntiCheat.Server.Hydra.Client client = EACServer.GetClient(player.net.connection); PlayerUseWeapon eventParams = default(PlayerUseWeapon); eventParams.Position = new EasyAntiCheat.Server.Cerberus.Vector3(networkPosition.x, networkPosition.y, networkPosition.z); eventParams.ViewRotation = new EasyAntiCheat.Server.Cerberus.Quaternion(networkRotation.w, networkRotation.x, networkRotation.y, networkRotation.z); eventParams.WeaponID = weaponID; EACServer.playerTracker.LogPlayerUseWeapon(client, eventParams); } } They also log revives Code: if (EACServer.playerTracker != null && this.net.connection != null && source != null && source.net.connection != null) { using (TimeWarning.New("playerTracker.LogPlayerRevive", 0)) { EasyAntiCheat.Server.Hydra.Client client = EACServer.GetClient(this.net.connection); EasyAntiCheat.Server.Hydra.Client client2 = EACServer.GetClient(source.net.connection); EACServer.playerTracker.LogPlayerRevive(client, client2); } } And when you damage another player Code: if (EACServer.playerTracker != null && info.Initiator != null && info.Initiator is global::BasePlayer) { global::BasePlayer basePlayer = info.Initiator.ToPlayer(); if (this.net.connection != null && basePlayer.net.connection != null) { EasyAntiCheat.Server.Hydra.Client client = EACServer.GetClient(this.net.connection); EasyAntiCheat.Server.Hydra.Client client2 = EACServer.GetClient(basePlayer.net.connection); PlayerTakeDamage eventParams = default(PlayerTakeDamage); eventParams.DamageTaken = (int)info.damageTypes.Total(); eventParams.HitBoneID = (int)info.HitBone; eventParams.WeaponID = 0; eventParams.DamageFlags = (info.isHeadshot ? PlayerTakeDamageFlags.PlayerTakeDamageCriticalHit : PlayerTakeDamageFlags.PlayerTakeDamageNormalHit); if (info.Weapon != null) { global::Item item = info.Weapon.GetItem(); if (item != null) { eventParams.WeaponID = item.info.itemid; } } UnityEngine.Vector3 position = basePlayer.eyes.position; UnityEngine.Quaternion rotation = basePlayer.eyes.rotation; UnityEngine.Vector3 position2 = this.eyes.position; UnityEngine.Quaternion rotation2 = this.eyes.rotation; eventParams.AttackerPosition = new EasyAntiCheat.Server.Cerberus.Vector3(position.x, position.y, position.z); eventParams.AttackerViewRotation = new EasyAntiCheat.Server.Cerberus.Quaternion(rotation.w, rotation.x, rotation.y, rotation.z); eventParams.VictimPosition = new EasyAntiCheat.Server.Cerberus.Vector3(position2.x, position2.y, position2.z); eventParams.VictimViewRotation = new EasyAntiCheat.Server.Cerberus.Quaternion(rotation2.w, rotation2.x, rotation2.y, rotation2.z); EACServer.playerTracker.LogPlayerTakeDamage(client, client2, eventParams); } } Worth noting that itemid is not to be confused with Item'd UID. Item ID is an identifier for the type, e.g. Assault Rifle, and not the instance. All of this data is likely fed into machine learning and never touched by humans. Just try cause as little violations as possible and only hit shots that would be possible playing legit. Also if you are playing with legits, don't revive them, will probably end up landing them an association ban. | |||||||||||
|
25th March 2020, 01:15 PM | #4 | |||||||||||
Junior Member Join Date: Jul 2014 Posts: 43 Reputation: 243 Points: 6,321, Level: 8 Level up: 84%, 179 Points needed Activity: 2.7% | Quote: Originally Posted by R00ted Most people (myself included) believe these 3 day bans are automated and placed on your account by Cerberus. Whenever a violation is logged, EAC get a copy sent to them: Code: public static void Log(BasePlayer ply, AntiHackType type, string message) { if (ConVar.AntiHack.debuglevel > 1) { global::AntiHack.LogToConsole(ply, type, message); } global::AntiHack.LogToEAC(ply, type, message); } private static void LogToEAC(BasePlayer ply, AntiHackType type, string message) { if (ConVar.AntiHack.reporting && EACServer.eacScout != null) { EACServer.eacScout.SendInvalidPlayerStateReport(ply.UserIDString, InvalidPlayerStateReportCategory.PlayerReportExploiting, type + ": " + message); } } public void SendInvalidPlayerStateReport(string PlayerGUID, InvalidPlayerStateReportCategory ReportCategory, string Report) { NativeScout.SendInvalidPlayerStateReport(PlayerGUID, ReportCategory, Report); } public static void SendInvalidPlayerStateReport(string PlayerGUID, InvalidPlayerStateReportCategory ReportCategory, string Report) { if (NativeScout.Instance != IntPtr.Zero) { NativeScout.dotSendInvalidPlayerStateReport(NativeScout.Instance, PlayerGUID, (uint)ReportCategory, Report); } } Just like client-side EAC functions, these filter down to EAC's native DLL. If you want to disable this logging on your own server, replace eac_server.dll with a native module that exports CreateScout, returning 0. This will let the server run as normal but disable EAC logging, FP do however have some extra exception logging you might want to disable if working on exploits. As well as violations they also log some combat stuff as seen below. Code: if (EACServer.playerTracker != null) { using (TimeWarning.New("LogPlayerShooting", 0)) { UnityEngine.Vector3 networkPosition = player.GetNetworkPosition(); UnityEngine.Quaternion networkRotation = player.GetNetworkRotation(); global::Item item = this.GetItem(); int weaponID = (item != null) ? item.info.itemid : 0; EasyAntiCheat.Server.Hydra.Client client = EACServer.GetClient(player.net.connection); PlayerUseWeapon eventParams = default(PlayerUseWeapon); eventParams.Position = new EasyAntiCheat.Server.Cerberus.Vector3(networkPosition.x, networkPosition.y, networkPosition.z); eventParams.ViewRotation = new EasyAntiCheat.Server.Cerberus.Quaternion(networkRotation.w, networkRotation.x, networkRotation.y, networkRotation.z); eventParams.WeaponID = weaponID; EACServer.playerTracker.LogPlayerUseWeapon(client, eventParams); } } They also log revives Code: if (EACServer.playerTracker != null && this.net.connection != null && source != null && source.net.connection != null) { using (TimeWarning.New("playerTracker.LogPlayerRevive", 0)) { EasyAntiCheat.Server.Hydra.Client client = EACServer.GetClient(this.net.connection); EasyAntiCheat.Server.Hydra.Client client2 = EACServer.GetClient(source.net.connection); EACServer.playerTracker.LogPlayerRevive(client, client2); } } And when you damage another player Code: if (EACServer.playerTracker != null && info.Initiator != null && info.Initiator is global::BasePlayer) { global::BasePlayer basePlayer = info.Initiator.ToPlayer(); if (this.net.connection != null && basePlayer.net.connection != null) { EasyAntiCheat.Server.Hydra.Client client = EACServer.GetClient(this.net.connection); EasyAntiCheat.Server.Hydra.Client client2 = EACServer.GetClient(basePlayer.net.connection); PlayerTakeDamage eventParams = default(PlayerTakeDamage); eventParams.DamageTaken = (int)info.damageTypes.Total(); eventParams.HitBoneID = (int)info.HitBone; eventParams.WeaponID = 0; eventParams.DamageFlags = (info.isHeadshot ? PlayerTakeDamageFlags.PlayerTakeDamageCriticalHit : PlayerTakeDamageFlags.PlayerTakeDamageNormalHit); if (info.Weapon != null) { global::Item item = info.Weapon.GetItem(); if (item != null) { eventParams.WeaponID = item.info.itemid; } } UnityEngine.Vector3 position = basePlayer.eyes.position; UnityEngine.Quaternion rotation = basePlayer.eyes.rotation; UnityEngine.Vector3 position2 = this.eyes.position; UnityEngine.Quaternion rotation2 = this.eyes.rotation; eventParams.AttackerPosition = new EasyAntiCheat.Server.Cerberus.Vector3(position.x, position.y, position.z); eventParams.AttackerViewRotation = new EasyAntiCheat.Server.Cerberus.Quaternion(rotation.w, rotation.x, rotation.y, rotation.z); eventParams.VictimPosition = new EasyAntiCheat.Server.Cerberus.Vector3(position2.x, position2.y, position2.z); eventParams.VictimViewRotation = new EasyAntiCheat.Server.Cerberus.Quaternion(rotation2.w, rotation2.x, rotation2.y, rotation2.z); EACServer.playerTracker.LogPlayerTakeDamage(client, client2, eventParams); } } Worth noting that itemid is not to be confused with Item'd UID. Item ID is an identifier for the type, e.g. Assault Rifle, and not the instance. All of this data is likely fed into machine learning and never touched by humans. Just try cause as little violations as possible and only hit shots that would be possible playing legit. Also if you are playing with legits, don't revive them, will probably end up landing them an association ban. Hmm, that is very interesting. | |||||||||||
|
25th March 2020, 01:21 PM | #5 | |||||||||||
Banned Join Date: Feb 2018 Posts: 972 Reputation: 31798 Points: 51,376, Level: 33 Level up: 99%, 24 Points needed Activity: 20.0% | You will get temp banned if your accuracy is abnormal high | |||||||||||
|
We strive to provide all our services for free and not interrupt your visit with intrusive advertisements or restrictions - support us by disabling your ad blocker or whitelisting our site.
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Help] how to start a process on behalf of another process | uNitx | General Programming and Reversing | 9 | 10th July 2019 04:16 PM |
[Question] Banned from GAME DEVELOPER | CARLOSGUAT3MA | Playerunknown's Battlegrounds | 14 | 27th December 2018 08:23 AM |
[Discuss] CSGO Banned by Game Developer? | DatAdvantage | Counterstrike Global Offensive | 4 | 5th May 2015 12:39 PM |
Tags |
regard, ban, eac, banned, behalf, game, developer, rust, overwatch, csgo |
« Previous Thread | Next Thread »
|
All times are GMT. The time now is 01:43 PM.
no new posts
raiwalasputhessir.blogspot.com
Source: https://www.unknowncheats.me/forum/rust/382809-banned-behalf-game-developer.html