Open Source TribesNext

Is there any reason that the TribesNext patch is not open sourced somewhere on a public repo?? Maybe at least a git repo (GitHub?) where we as a community could help you further progress the patch? I know you have other things to do Thyth, but I thought that you could at least open source it and control what actually gets pushed into the main branch (or whatever you feel like) so we can speed up development of features.

Is there any downside to doing this?? Do you have secret keys that should not be shared that could be a reason why we can't make this open sourced?

Comments

  • ThythThyth Apotheosis Incarnate
    Most of TribesNext is open source, as the bulk of the implementation time was spent on the in-game scripts. Those are all included as part of the patch installer. Implementation of most new features can be done through the built in T2Script/TorqueScript, and small bits of Ruby for the things that exceed TS capabilities. This is the approach we took with the development of TribesNext: mostly TS, with a bit of Ruby for cryptography.

    The DLL loaded by the patched game is not open source for a few reasons. Firstly, it's primary purpose is providing a Ruby interpreter that's accessible via gates in game script (which frankly isn't all that interesting, and hasn't been changed significantly since TribesNext launch). Secondly, it includes the public root keys used for signature chain verification (which are injected into the Ruby environment, bypassing the game) and components of anticheat.

    During the development of the patch, I had some concerns that code we released might be co-opted by others to run a parallel and incompatible system by substituting my public keys for new ones. Not releasing the source raised the skill level required to do so considerably. Though this is not a concern of mine now, similar arguments surrounding anticheat are still valid -- the anticheat in TribesNext is not particularly advanced or comprehensive, but, at the same time, it's not totally trivial to remove if you don't have source code. Furthermore, almost none of the patch development currently involves modifications to the DLL.

    Backend system source code is closed because those systems are useless without the private key components (which I won't publish for obvious reasons).

    With that said, I do provide access to the internal TribesNext source code repository and development system on a case-by-case basis. If people have a specific area in mind they want to work on, or something specific they want to see, I'm frequently willing to accommodate.
  • edited October 2012
    With that said, I do provide access to the internal TribesNext source code repository and development system on a case-by-case basis. If people have a specific area in mind they want to work on, or something specific they want to see, I'm frequently willing to accommodate.

    It's trivial to build a custom DLL from Linker's Gift code that loads the original TribesNext patch after doing what it needs to do as well in order to provide any other types of functionality, but this introduces the risk of it being picked up as a virus of some sort so I'd just stick to that method until you can either get a hold of a portion of the TN code you need or get someone with access to merge it in for you.

    I've done this myself in the past, for purely experimental purposes involving Bullet however.
  • Thanks for the answer Thyth. I knew there would be some parts that can't be released. With that in mind, I will, one day, dive into that Ruby engine and see what stuff you can do with it...
Sign In or Register to comment.