Modding - what're the rules? Are there any resources already?

Discussion in 'Screenshot & Video Galleries' started by Farrier Dragon, May 21, 2019.

Thread Status:
Not open for further replies.
  1. Farrier Dragon

    Farrier Dragon Avatar

    Messages:
    4
    Likes Received:
    8
    Trophy Points:
    3
    [Apologies if this is the wrong forum area: this seemed the best place for modding discussion]

    I asked on the Tuesday Twitch stream if modding was allowed, and @Chris said cosmetic mods are encouraged, though they'd be looking closely to make sure we weren't hooking anything we oughtn't :)

    For another Unity game, Underworld Ascendant, I wrote a thread proposing modding community standards ( https://forums.otherside-e.com/t/wh...s-should-modders-abide-by/10042?u=dewi_morgan ) - is there already something similar for SotA? If not, should we make one?

    I believe there's already a modding community here: is there already a wiki or other resources? Any list of existing mods? If not, is there somewhere I should/could write up a Unity modding tutorial for folks? @Browncoat Jayson I admit I'm mostly looking at you :p

    For UA, Browncoat Jayson and I are considering a mod-manager and server where trusted mod-community members can code-review each other's mods, and those which pass review get a badge of quality or something.

    Something similar for SotA mods might help reduce the load on the devs having to review, if people are interested, though I'd be inclined to let UA be the testbed before doing it with SotA mods. Validating 3rd party mods is actually my day-job in Magento/Adobe, so we at least know it's technically feasible.

    For a MMO like SotA, I think reviewing will be a harder task than for UA. We'd need to watch carefully not just for deliberate exploits but also for potentially exploitable new features. Maybe require each reviewed mod to have a "callback" that'd allow SotA admins to turn them off? Might help modders whose mods

    @Chris - Any specific areas that modders should definitely avoid touching?
     
    Browncoat Jayson and FrostII like this.
  2. Browncoat Jayson

    Browncoat Jayson Legend of the Hearth

    Messages:
    6,334
    Likes Received:
    14,098
    Trophy Points:
    153
    Mods looks like they should be constrained to the Player Created Resources and Developer Depot subforums. The only real types of mods out there either read the output log file and display the live information in some external window, or read the API data and accumulate it into a database for access by another app. Unfortunately, there are no real hooks in the application itself, as as far as I can tell it is not acceptable to extract or reverse engineer the game code itself (upon pain of being banned).

    There is some information about offline game editing, how to read the API, and how to parse the output log. There are some DPS/heal meters and other metric type things. But as far as actual game mods go... I think we're going to have to wait for some sore of LUA-type system to be integrated to make proper calls. I hope at some point we would at least be able to provide a UI modification system (along the lines of this).

    Failing that, I'd suggest looking at ways to implement a manager that supports offline mods, and would not work when connected to the live servers. This would allow a bit of options to allow customization of the game experience itself, without affecting the online world at all. Providing the devs with the manager code, so it can automatically be detected and prevented while running online, is of extreme importance. However, I'd let Portalarium weigh in on what specifics they would like.

    In any event, there is not a lot out there beyond what you can find in the above locations. I'd prefer to keep everything publicly available, rather than privatized (and monetized) like some other modders have done. In that case, I'd suggest making a thread in one of those forums, or even moving this thread over and working from here. What kind of tutorial are you looking to make?
     
    Gravidy and Cordelayne like this.
  3. Farrier Dragon

    Farrier Dragon Avatar

    Messages:
    4
    Likes Received:
    8
    Trophy Points:
    3
    You know, Jayson, you're a big part of the reason I picked up this damn game again - it's improved a TON since beta, I've been enjoying myself... and procrastinating from the wiki pages I promised, sorry!

    Huh, this is in "screenshots", I coulda swore I put it in "player created resources". Well, I'm a very idiot. :( Is there a way to move threads?

    I asked on the Twitch stream https://www.twitch.tv/videos/428051804:
    Chris replied (beware I may make transcription mistakes) at 58:40ish:

    So... my interpretation of that (and @Chris, please correct me if I misinterpreted!) is:

    - Modding is OK right now, so long as we are well-behaved modders with well-behaved mods.
    - They will check to make sure, so that's something we would want to reduce the load on them for.
    - In the future, LUA will make for wondrous stuff.

    This interpretation of what he said is reinforced by this post about a map mod, reviewed at https://www.shroudoftheavatar.com/forum/index.php?threads/vals-sota-mod-reviews.72326/ though it's from a while back (before there was an ingame minimap?).

    So, since modding "keeps getting pushed down", we could also create a C# mod that allows LUA, which would mean the devs would only have to review that one mod's code, rather than ALL the code :)

    Absolutely: Portalarium (well, the whole community) should have access to all mod source!

    Absolutely. From the discussions around UA, we both know what we want from a good modding community, and we seem to be very much of one mind, there :)

    For an MMO, though, there are many more priorities to beware of:
    - Protect the economy (no code that might create item-cloning bugs, no bot scripts to automate away grinding, etc).
    - Keep PvP fair (no pointers to invisible players, movement speed hacks, etc).
    - Protect user passwords (no modding the login prompt).
    - Keep PMs private.
    - Don't leak unexpected metadata (eg, friend locations are already shown ingame, so people expect you to know them. For similar stuff, the friend should have to agree to your tracking it before you could).
    - Prevent theft and scamming (problems in any MMO: mods should not make it easier for anyone).
    ... and so on. A *whole lot* more concerns!

    Because of this, I'd really like to get UA modding up and stable before launching into SotA modding, and UA modding is only likely to really get going sometime August.

    Essentially the same one I'd make for UA, describing modding Unity C# games by hooking their functions; how to attach a debugger; etc.

    I think, given your cautionary words, that I want to doublecheck that they really are OK with hooking the C# code, so long as we avoid hooking anything sensitive. So I won't write that tut until I know that's true :)
     
  4. Anpu

    Anpu Avatar

    Messages:
    7,944
    Likes Received:
    9,015
    Trophy Points:
    153
    Location:
    Hemut
    You can’t move your own thread. You can delete it. Could just make a new post in the other forums.
     
    Farrier Dragon likes this.
  5. Fenrus MacRath

    Fenrus MacRath Avatar

    Messages:
    313
    Likes Received:
    749
    Trophy Points:
    55
    Gender:
    Male
    Location:
    Out of the Blue and into the Black.
    So, I know very little about modding, please forgive if my questions are stupid. Modding allows you to change the game into something else correct? Like Mount and Blade to Lord of the Rings Mount and Blade? You can change the actual scope of a persistent world? That seems extreme. Or are you talking about just changing the individual UI?
     
    Farrier Dragon likes this.
  6. Violet Ronso

    Violet Ronso Avatar

    Messages:
    2,632
    Likes Received:
    5,108
    Trophy Points:
    153
    Most of the time for games like Shroud or other MMOs, modding is more of messing with the AI and generating on screen tools to track things, like the DPS and Healing meter someone else made.
     
    Farrier Dragon likes this.
  7. Farrier Dragon

    Farrier Dragon Avatar

    Messages:
    4
    Likes Received:
    8
    Trophy Points:
    3
    It very much depends on the game.

    There are definitely things that cannot be done with an MMO game given the client/server architecture, because the server has final say. So you typically can't, say, teleport around the world, or change your stats at whim, because the server tracks those things, and would need to have a rationale for your having moved or had your stats change. If you drank a potion of stat-changing, that's fine... but to drink it, you need to first have it, and the server will track inventory, too. And it will track the things on the floor and in containers near you, so you can't just "get" an item that doesn't exist. You can make yourself look on your own screen like a dragon, and even make yourself able to fly, with your camera following you... but the server will still think of you as a person, who cannot fly, and who can easily fit through a doorway. It will not send you the data of things around wherever you pretend to have flown to, but rather from around where it knows you really are. And your foes will still see you on the ground where the server says you are and will still kill you there.

    Similarly with quests: while you can filter the text said by the quest-givers, perhaps to fix up the Olde Englishe grammar, you can't create a whole new quest... well. You COULD. But there'd be no quest reward, since those come from the server.

    There are also definitely things which shouldn't be done. Cheating PvP, exploiting weaknesses in the server's monitoring of things and so forth. Anything which might give you an advantage over others, tactically or economically. So, all buildings could become transparent so you could see through them; and all invisible people could become visible. This only works if your client is sent, by the server, correct messages about what is behind the buildings, and the locations of invisible people, of course, but sometimes the server needs to send information like this to the client even when the client wouldn't normally show it to the user.

    Everything clientside, though, can be changed.

    Like you say, the local UI is the best and most common target, and this is what LUA is best at, if they manage to add it in. In ESO, I usually run with mods to manage the video settings dynamically depending on the load on my machine, so that performance is decent but I get the best possible look for my system at any point; mods to enhance the minimap, showing me things like the locations of fishing nodes, lorebooks, shrines, chests, boss monsters, and so on; mods to manage my inventory, automatically trashing junk items, automatically selling other items when I visit traders, and giving me more power over filtering them by type and category; mods to manage my fishing, showing me which rare fish I've caught in each area, and automating the grind of filleting them; and more.

    You can also "skin" things in-world, to make them look shinier or different, but these are again only visible to you. So: nude mods ("the hello world of modding"), or changing all of the undead to look like Barney, or making harvesting nodes glow, etc.

    The things I'd target in SotA first would be things that annoy me: the poor filtering of items and recipes for crafting, for instance (just being able to click "show me only the recipes I have ingredients for" would be great!); the occasional bug where you cannot give a quest item to an NPC without restarting because their trade window closes as soon as it opens; the way that NPC chat dialogs sometimes close before you can read what they said; English nameplates for towns; and so on.

    In a single-player game, there's no real limit to what you can do, other than the constraints of morality and the law. You an change not just the graphics and audio, animations and other cosmetics, but can add and remove items and characters, add extra maps, edit existing ones, add new functionality to the game, and so on. There really is no limit other than your imagination, skill, and time:)
     
    Bedawyn and Alleine Dragonfyre like this.
  8. Alleine Dragonfyre

    Alleine Dragonfyre Avatar

    Messages:
    1,750
    Likes Received:
    4,695
    Trophy Points:
    125
    Gender:
    Female
    Location:
    Immortal City
    Modders rock! Hi :D
     
  9. Echondas

    Echondas Bug Hunter Bug Moderator

    Messages:
    3,785
    Likes Received:
    4,001
    Trophy Points:
    165
    Gender:
    Male
    Location:
    NY
    I think you're looking for "Show Translated Location Names" in the Options menu: Interface, and then in the block below "Hints", 5th one down. (I am hoping this is eventually added as a default to help the NUE)
     
Thread Status:
Not open for further replies.