1. Hey Guest, is it this your first time on the forums?

    Visit the Beginner's Box

    Introduce yourself, read some of the ins and outs of the community, access to useful links and information.

    Dismiss Notice

On "Private" Mods

Discussion in 'Modding [KAG]' started by Geti, Jun 20, 2016.

  1. Geti

    Geti Please avoid PMing me (poke a mod instead) THD Team Administrator Global Moderator

    Messages:
    3,730
    This is a discussion and personal response to the public issue of private mods in KAG. It doesn't represent THD's overall position on the matter, but it does represent my personal stance.

    Prompted by https://forum.thd.vg/members/funatuns.15391/#profile-post-78260

    ---------------------------------------------

    As far as I'm concerned, private mods will not ever be supported. KAG modding is deliberately open source, for many reasons.
    • The most important one is sharing with the community - we're stronger if we work together.
      Having mods be open source is meant to encourage openness and collaboration. Work with each other to improve your content and craft a fun experience.
    • The game code (not the engine) is already open-source, which lets you learn from our work, and change it as you see fit. Having your modifications be "locked up" is against the spirit of the game.
    • The mod code consists of scripts, which need to be read by the game in their normal format - this means that at some point, they need to be "readable". Making them obfuscated on disk doesn't prevent someone from ripping your mod source from memory, it'd just make it harder. We're not willing to put in more work for that sort of "solution" just for the sake of petty squabbles.
    • (many minor ones, but these are the "big 3")

    However, nothing is stopping you from licensing your mod - making it clear that you retain all rights to distribute the mod. This won't magically prevent people from infringing your license, but it gives you something to chase them down with, and there are steps you can take to protect your IP should you wish to make it difficult.

    ---------------------------------------------

    Before doing any of that though, note that the simplest solution to any of this is to make your mod free to distribute and enjoy the reduced burden of someone else sharing your content with players!

    ---------------------------------------------

    The biggest justification I see for "private" mods is wanting an "own flavour" server. That's fine and understandable, and it generally doesn't make much sense to distribute your handful of modifications anyway. Still, make sure that someone actually is taking your work before bothering to get paranoid.

    The main thing you can do if someone is hosting your content elsewhere is provide added value on your server.
    • Update the mod frequently.
      This both keeps interest high and means that other hosts have to keep updating their servers to stay current, which is annoying for them. This is your biggest advantage - you are the content creator, so create content.
    • Provide a better hosting experience on your server than anywhere else.
      A strong server, lots of slots, and a steady connection are a good start. Note that this is really expensive and it is the reason someone else hosting your mod can be a huge advantage.
    • Get or write a stats or levelling package.
      That way people can come back for some progression - and going to some other server "loses" that progress. Anything that gets them wedded to your server and not someone else's is a good thing. Double points if it relies on TCPR (see below)
    The main thing you can do to make sure the mod is associated with yourself and not some "pretender" is to add identifying marks to the content both outside of, and in-game.
    • Make a forum thread for your mod.
      (or ideally a resource, but if you dont want people hosting it then that's a problem)
      You can discuss progress and up-coming stuff and make sure people know that the mod is your work. This helps build interest. Use images to keep people interested.
    • Have an in-game pop-up or even just a server message about who made the mod. Pretenders can edit this, but they'll have to do that every single time you update the mod.
    • Write your name inside scripts, add it to image metadata or draw it with pixels inside unused areas of sprites. This makes it clear on inspection that they're using your work. More a matter for the community than the average player, but it provides conclusive "proof".
    There are also a few things you can do to make the mod not work "out of the box" as well. These are varying degrees of nasty. Most of them are a waste of your time as they can be un-done with a bit of work if someone really wants to host your content, but they can be enough of a disincentive to help.
    • Spaghetti Files
      This is used by @Aphelion fairly heavily I think - naming files something completely irrelevant to their purpose (say, c6a567ga789anfg.h) makes sifting through them a pain, though modern editors can still search all of them just fine. You can either put the spaghetti files in spaghetti folders, or all in one folder in a big jumbled mess. This is terrible security, but it does certainly deter people from trying to work on your mod.
    • "Hosted Wrong" Deadlocks/Self-Destruct
      Require certain fields to be filled out correctly, and deadlock if they aren't.
      Ideal fields are ones invisible to a player or intrinsic to your server - custom seclevs are a great example of something that's both.
      This "detection" code should be put in with normal code, not in its own script - that way it's harder to disable.
      You can deadlock the game with any infinite loop - the most obvious (but easiest to find with an editor) are while(true){} and for(;;){} - this will freeze their server, make all players time-out, and drop it off the API (so it looks like it's crashed). As a bonus it'll consume the processing power of an entire CPU core - nasty :)
      Other options when you detect something being wrong include setting their server password to something compromising, printing their rcon password to chat, redirecting all players to your server, loading a map with the contents STOLEN, etc. Use your imagination.

    • Make the mod rely on some external program.
      The external program should be connected by TCPR and should be required for the mod to function properly on the server. If you don't share the TCPR program, noone can host the mod without reverse-engineering it.
      This is how TR does its backend stuff - we use node.js connected to TCPR for talking between servers and keeping the user info up to date in an external database.
      However, it could be as simple as requiring the program to write a variable every few minutes, or as complex as being an integral part of map loading process (think procedural generation) or the gamemode functioning (think persistent external inventory in a database, statistics tracking, maybe external AI processing).
      If TCPR is scary for you, it's also possible to write out config files and read them every so often.
      In my opinion this is the best option and the least likely to be un-done if implemented well; it's also the least dishonest and paranoid, as you presumably have a use-case for your external program.
    -----------------------------------------------

    Note that nowhere here have I touched on intellectual property. Your mod is definitely your IP, and you "own" it. However, for other people to play it, and for people to care, you have to distribute something to them to let them play it.

    As you've chosen to make your mod for this game, you're empowered by everything the engine does for you (rendering, animation, sound, music, physics, networking...) - but limited by your players having to own our game, and are not able to easily limit distribution by other channels. However, if you're not making money by hosting it (and as far as I'm aware, noone's got a commercially successful KAG mod going), you should reconsider why you actually want to limit distribution by other channels.

    Them hosting your work just puts your work in front of more eyes. It reduces the burden on you to host servers. If you're not making a mod for people to play it, what are you making it for?

    Consider the benefits of having your mod fully open and distributing it through the resources system here before even thinking about how to lock up "your precious" - things get a lot easier and nicer if you're willing to share.

    Interested to hear your thoughts.
     
    FoxyLady, Mazey, kaizokuroof and 6 others like this.
  2. Monkey_Feats

    Monkey_Feats Bison Rider Tester

    Messages:
    214
    First, Ya'll can't have my spot. So don't even think about it :rekt:

    Seriously though guys, Do it for the love not the fame. Lets make the Kag community great again!

    I can completely understand why Aphelion wanted his mods locked up, Obviously he puts lots of work into them (Kudos Aphelion). That being said, KAG was made to be open source by the kind people at THD and to me that screams "We want to share with you". Which in turn makes me want to share anything that I can for all to use and edit and I will for the greater good.

    Much love
    Monkey

     
    Last edited: Jun 20, 2016
  3. FunATuns

    FunATuns Builder Carry Donator

    Messages:
    114
    I'm perfectly ok with other people hosting my mods as long as they give me credit. But thats different than ripping out every single thing in my mod that resembles me, renaming it, and then proceed to claim its theirs. In the future I will be including admin locks on my mods, but I don't know how many more I am going to make if we let this problem run rampant.
     
  4. Geti

    Geti Please avoid PMing me (poke a mod instead) THD Team Administrator Global Moderator

    Messages:
    3,730
    Which server/host is doing that to your mod? Have you talked with them about it directly?

    I'd hardly say the "problem" is "running rampant" either way; it's not like the typical server is loaded with stolen mods, rebranded and claiming its theirs - most servers are vanilla, and most modded servers are the only server hosting that mod in particular (barring blowjob), or are regional variations hosted by the same owner.
     
  5. PUNK123

    PUNK123 Hella wRangler Staff Alumni Tester

    Messages:
    1,275
    The player is @Danky he seems to be new.
    Code:
    {
      "playerInfo": {
        "active": true,
        "banExpiration": null,
        "banReason": null,
        "banned": false,
        "gold": true,
        "rating": 0.0,
        "regUnixTime": 1465097843,
        "registered": "2016-06-05 03:37:23",
        "role": 0,
        "username": "Danky"
      },
      "playerStatus": {
        "action": 2,
        "lastUpdate": "2016-06-20 23:26:08",
        "server": {
          "serverIPv4Address": "162.221.187.210",
          "serverIPv6Address": null,
          "serverPort": 10795
        }
      }
    }
    Id say that most people who host a mod do give credit but i guess this situation proves there are exceptions.
     
    an_obamanation likes this.
  6. bunnie

    bunnie Haxor Tester

    Messages:
    1,319
    this is what discourages me to make a serious KAG mod, people can just steal your mod without your permission, ban you on the server and claim it's theirs. and still, even if they give you credit, i wouldn't want my mod to be hosted by anyone else than me - i can pay for servers myself...
     
    Vamist likes this.
  7. Vamist

    Vamist THD Team THD Team Tester

    Messages:
    544
    Making a mod is like making a game, Do you want somebody else copying it and taking it as their own?

    No

    that means you just wasted your time, for some salty person to come along and take your game, and start to edit it as they wish, and most likely say they made it. If that happens, making it mod will have little point, since all it takes is one little "fucker" to come along, take your mod, and if they know coding and can host a server, you've lost your mod. Not everybody makes their mods as weirdly complex as Aphelion, where each script is named differently (to a point of random letter's and numbers(So your just going to waste your time reading each script))

    I think that you should do something if somebody who is working on a mod, privately, and somebody else goes along's and takes it, and start's to change it.
    You should be doing something about it.
     
    joshua12131415 and bunnie like this.
  8. bunnie

    bunnie Haxor Tester

    Messages:
    1,319
    This! Please Geti, support for private mods! Listen to a TESTER! Will you never change your mind? :(
     
  9. Monkey_Feats

    Monkey_Feats Bison Rider Tester

    Messages:
    214
    I forgot to mention, Props should always be given where props are deserved.

    It's not going to matter much anyway, The only people that are going to "Steal" a mod are kids that don't know any better or some jerk off.
    If it does happen, Surely most incidents can be solved by a simple message to persons involved. If that doesn't solve it, Kick up a stink and let the community know.
    Eventually it will get out what kind of person they are and the mod was actually made by you.

    Btw has there actually been an incident where someone has claimed a mod as their own?
    Or are we just talking about people not giving props, Because those two things are completely different.
     
  10. bunnie

    bunnie Haxor Tester

    Messages:
    1,319
    "Dankys Ship Wars"
    i've also saw
    "[name]'s FUN CTF Server" (don't remember the name)

    But really, even if credit is given, let the mod maker do whatever he wants, even if he wants the mod 100% private, only on his server, let him have it!
     
  11. Monkey_Feats

    Monkey_Feats Bison Rider Tester

    Messages:
    214
    Well I 100% agree, This is all just blown out of proportion though. Those guys haven't stolen anything, They just haven't given props. All it's going to take is a message saying hey give props pls.
     
  12. Geti

    Geti Please avoid PMing me (poke a mod instead) THD Team Administrator Global Moderator

    Messages:
    3,730
    Did you even read the OP?

    You do realise I was part of the modding scene (particularly for icy tower and cortex command) for ~5 years before working on games? I've got almost 5k posts on the cortex command forums.

    Over there, they had a collaborative scene instead of the closed-arms "MINE!" attitude prevalent amongst KAG modders. People wrote long posts about new techniques they had discovered before there was any scripting to the game at all. After scripting, all sorts of crazy things were added. Someone developed an online "mod" for the game. When you have that kind of culture, there's a lot less paranoia about "stealing" - when it legitimately happens people notice, because the community is tight knit and people pay attention to the active modding scene. When it's just fair reuse and credit is given, you end up with more and more complex and wonderful creations, because you don't all have to start from scratch, but can help each other.

    It's also quite hard to "copy it and take it as their own" if you've done a good job with making the game or mod "your own", and people know what "your own" looks like.

    I know what it's like to be a mod developer, as well as a game developer. Don't pull this "you don't understand what it's like" bullshit.

    In terms of hosting it - we love people to host KAG servers, just like you should be happy people are hosting your mod.

    Firstly - Why? Unpack what motivates you to feel this illogical snatchy feeling. Put identifying marks into the work you're creating, so when someone sees it they think "thats a wormy mod" or "thats a vamist mod" - if what you're creating is so generic that someone can put it on their server and people assume the host made it, you're not doing a good job of communicating ownership. An "intro screen" on joining the server takes about 5 minutes to code and only requires a single image to draw onto the screen.
    Secondly - I've given you a whole list of things you can do to make them not be able to host your mod, should you feel that snatchy grabby need. I'm not going to facilitate this behaviour any more than that.

    The ONLY way I can ever see "private" mods being a thing is by having a "do not share the mods from this server" flag and requiring people to have a local copy of the mod themselves - there's no way to do it otherwise, because they need a copy of the mod somehow to be able to play it. Good luck getting people playing in your server that way though, as you'd have to share the mod privately to the private people you want to have your private fun with.

    Also, what @Monkey_Feats has been saying is on the money. Send the guy a message and tell him it's not cool. Make a public thread about it if he doesn't respond or responds badly.



    The thing that strikes me as very sad of this whole situation is that we simultaneously have people upset that their mods don't get hosted or played and people who are sad that their mods are being "stolen" and hosted and played. Be happy that people are playing your mods at all, and make the most of the fact that people play modded servers - build some content that people can enjoy, and make your mark on it.

    Don't get distracted by this arrogant idea that you should be the sole owner of fun and enjoyment and the only one allowed to share it. Its a free mod for an online game, do you want people to play it or not?
     
  13. Vermilicious

    Vermilicious Ballista Bolt Thrower

    Messages:
    232
    I see only one reason to be so protective about your work, really, and that's if you want to make money off of it. If that's what you want, making a mod is probably not the best route to take in the first place. By making a mod, you are stealing/borrowing yourself already, did you think about that?

    If you post your work somewhere like here in the forums (making it legit), and just be open about it, no one important is ever going to claim they did your work, and certainly no one important is going to believe them. At best, it's only going to be some first impression beliefs that is going to be discredited the moment they get more involved in the game and the community. In the end though, aren't you just happy that your work is appreciated? Isn't that the most important thing (if you're not trying to make money)? If it's fame you're after, the people who do actually care will give you credit.
     
    KArth and Verrazano like this.
  14. Fuzzle

    Fuzzle Grand Grumbler

    Messages:
    297
    Obfuscate the shizz' & insert IP locks.
     
    Last edited: Jun 22, 2016
    PUNK123 likes this.