Avoiding TOS Violations While Developing — Guild Wars 2 Forums
Home Community Creations

Avoiding TOS Violations While Developing

Hey all,

I'm interested in spending some time working with the game to try and make it more gamepad friendly. Since the action camera was added a long time ago I've really wanted to play with a controller. I'm between jobs right now, and have some time to play around, so I thought maybe it's time to write some hooks and see if I can add some XInput support as well as feed that into Scaleform. However, with this idea I wanted to make sure my account wouldn't get banned or anything while mucking around in the client's memory or if this was against the terms of service to just avoid it all together.

(Yes I know there are programs that can map input from a controller to keyboard keys. I'd like to do more in depth things like jump focus between interactive elements, or create gravity wells for a cursor similar to Destiny's UI. For either of these I'll need access to information from scaleform)

Anyways, if someone could inform me on what the limits of this are that'd be really cool. I see some people loading dlls for damage meters and there's a memory mapped file for character position information. So I'm not sure what is or isn't allowed, and how ban happy anet is with memory reading/writing.

Comments

  • DakotaCoty.5721DakotaCoty.5721 Member ✭✭✭

    @Sammiches.8127 said:
    Hey all,

    I'm interested in spending some time working with the game to try and make it more gamepad friendly. Since the action camera was added a long time ago I've really wanted to play with a controller. I'm between jobs right now, and have some time to play around, so I thought maybe it's time to write some hooks and see if I can add some XInput support as well as feed that into Scaleform. However, with this idea I wanted to make sure my account wouldn't get banned or anything while mucking around in the client's memory or if this was against the terms of service to just avoid it all together.

    (Yes I know there are programs that can map input from a controller to keyboard keys. I'd like to do more in depth things like jump focus between interactive elements, or create gravity wells for a cursor similar to Destiny's UI. For either of these I'll need access to information from scaleform)

    Anyways, if someone could inform me on what the limits of this are that'd be really cool. I see some people loading dlls for damage meters and there's a memory mapped file for character position information. So I'm not sure what is or isn't allowed, and how ban happy anet is with memory reading/writing.

    If you're 100% serious about API development, you should reach out to Chris Cleary on Reddit as he is actively working with the public to get ToS-approved addons out the community.

    Link: https://www.reddit.com/user/ChrisCleary

  • Nokomis.5076Nokomis.5076 Member ✭✭✭

    @Sammiches.8127 said:
    [...]while mucking around in the client's memory or if this was against the terms of service[...]

    Might be a problem. https://www.guildwars2.com/en/legal/guild-wars-2-user-agreement/
    Section 8 (i):
    (i) Use, obtain or provide data related to operation of the Game, including but not limited to:
    (i) software that reads areas of computer memory or storage devices related to the Game;
    (ii) software that intercepts or otherwise collects data from or through the Game;
    (iii) software that redirects communications from any Game or Service; or
    (iv) software not provided by ArenaNet which creates or maintains any communication to the Game or Service, including but not limited to any software that emulates the Game or any part thereof as well as any server that emulates the Service or any part thereof;

    Was I able to help you or give you a hint? Click on Helpful and/or Thumbs up, I would appreciate it alot!
    When you encounter a bug ingame, at first you should file a ticket via the ingame command /bug, as only this way the devs will know exactly where you were, when the bug happened.

  • @Nokomis.5076 said:

    @Sammiches.8127 said:
    [...]while mucking around in the client's memory or if this was against the terms of service[...]

    Might be a problem. https://www.guildwars2.com/en/legal/guild-wars-2-user-agreement/
    Section 8 (i):
    (i) Use, obtain or provide data related to operation of the Game, including but not limited to:
    (i) software that reads areas of computer memory or storage devices related to the Game;
    (ii) software that intercepts or otherwise collects data from or through the Game;
    (iii) software that redirects communications from any Game or Service; or
    (iv) software not provided by ArenaNet which creates or maintains any communication to the Game or Service, including but not limited to any software that emulates the Game or any part thereof as well as any server that emulates the Service or any part thereof;

    Hmm, all of these are so vague that most people already broke them:

    (i) this prohibits the use of an operating system to load Guild Wars 2
    (ii) this prohibits the use of any software that takes screenshots or records videos
    (iii) this prohibits the use of a router or a firewall, and is worded in a way that makes it apply to all games, not just Guild Wars 2
    (iv) this prohibits the use of virtual machines and Wine, so the 32-bit Mac client was in violation of the TOS (although the version of Wine included with it could be said to be "by ArenaNet")

    I understand what they were trying to say, but the conversion from English to Lawyer-Speak really lost a lot of information.

  • Zok.4956Zok.4956 Member ✭✭✭

    @Sammiches.8127 said:
    However, with this idea I wanted to make sure my account wouldn't get banned or anything while mucking around in the client's memory or if this was against the terms of service to just avoid it all together.

    Anyways, if someone could inform me on what the limits of this are that'd be really cool. I see some people loading dlls for damage meters and there's a memory mapped file for character position information. So I'm not sure what is or isn't allowed, and how ban happy anet is with memory reading/writing.

    The rules in my words: Anything that gives you an (unfair) advantage over other players is forbidden. Anything that invades the privacy of other players without their consent is forbidden. Anything that violates the "one key press => one game action" rule is forbidden. Anything that helps "cheating" or "botting" is forbidden.

    Reading client memory is a hack. And it is forbidden per default. You can get banned for it. People got banned for it. If you do not want to risk, that you get banned, do not do it. But if your intentions are good and you do not violate the above rules you could reach out to Anet (like someone else already wrote), tell them what you do and A-Net (Security Lead Chris Cleary) maybe give you a green-light individually.

    As an example. There were two popular DPS-meters. BGDM and Arcdps. BGDM is forbidden (and the account of the developer was banned), but Arcdps got a green-light. because the developer of Arcdps made the changes A-Net requested and the developer (maybe) promised not to do "bad things" with his memory-reading hack.

    https://www.gw2gh.com/ - A GW2-Guild-Hall.
    Register and check your guild leaderboard to see who is the best in your guild and who finished achievements first.

  • Nokomis.5076Nokomis.5076 Member ✭✭✭

    @Zok.4956 said:
    Anything that invades the privacy of other players without their consent is forbidden.

    Which also could be a screenshot made from the game client itself, showing text of a player who isn't for everyone. Indeed it's not very clear.

    Was I able to help you or give you a hint? Click on Helpful and/or Thumbs up, I would appreciate it alot!
    When you encounter a bug ingame, at first you should file a ticket via the ingame command /bug, as only this way the devs will know exactly where you were, when the bug happened.

  • Nightlark.4029Nightlark.4029 Member ✭✭
    edited October 20, 2017

    @Zok.4956 said:
    As an example. There were two popular DPS-meters. BGDM and Arcdps. BGDM is forbidden (and the account of the developer was banned), but Arcdps got a green-light. because the developer of Arcdps made the changes A-Net requested and the developer (maybe) promised not to do "bad things" with his memory-reading hack.

    There have been instances where the developer of ArcDPS has added features ANet didn't like, but in those cases he has been prompt at removing the "bad" features.