Game && Script Patching

● ARCHIVED · READ-ONLY
Started by ?????? 16 posts View original ↗
  1. Game && Script Patching
    Dekita
     ​
    Features:

    - Develop game 'Patch' files after encrypted distribution

    - Create Patch files for the following;

    Actors, Classes, Skills, Items, Weapons, Armors, Enemies, Troops, States, Animations, Tilesets, Common Events, Maps && your games SCRIPT Editor!!

    - various methods used to determine fake patch files and (try to) ensure patch file data is not easily read by 'hackers'

    Screenshots:

    Uhh... Why not...

    patch_ss.png

    How To Use:

    1- Put in your game prior to distribution.

    2- Create patch files and distribute those.

    3- People place patch files in patches folder and voila - game is patched (patches must be inserted when the game is not running or they will not register until game restart).

    Demo:

    Can be found HERE.

    Script:

    Can only be found from demo link above.

    FAQ:

    None Yet.

    Credit:

    Dekita / DekitaRPG

    Notes:

    I have not thoroughly tested patching beyond script patching. In theory it should all work but with regards to regular game objects I only fully tested actors. - Should you find any issues please let me know a.s.a.p and I will have the issues rectified. :)
  2. Erm... Pardon me, but how it work, again? As far as i try, i still can open it with RMVXACE.
  3. Sorry but that statement made no sense to me. :/

    What are you trying to open exactly?
  4. Dekita said:
    Sorry but that statement made no sense to me. :/

    What are you trying to open exactly?
    Use RMVXACE, and open your game with that game.rvproj2?
  5. Yes... Then you get the see the scripts I have written.. Is that not the point of releasing a demo containing scripts for folk to use ? :p
  6. Dekita said:
    Yes... Then you get the see the scripts I have written.. Is that not the point of releasing a demo containing scripts for folk to use ? :p
    Oops. my bad. I thought that demo was also patched, and the demo means we can see by our own eyes that we can't decrypt it.

    Ok, i've take a look at the scripts. Only the scripts under "patching" are the scripts we need, right?
  7. Ahhh, ok I get the confusion now :)

    I was thinking of hiding all the script fies etc within patches, but then how would you get the scripts? :p

    The patching system doesnt encrypt anything either - well, it kinda encodes the patches to a degree, but it doesn't provide any real protection against people breaking into your games. It just allows for you - the dev - to release patch files for your games to fix bugs and provide updates. :D

    Yes, to patch your games the only scripts you need is the DEK::Kore script and the scripts under the Patching header. :)

    Edit:

    the only real methods i have of providing real protection to the game are apparently a EULA breach, so I am now looking into alternative methods which has set me back a little :p
  8. Dekita said:
    Ahhh, ok I get the confusion now :)

    I was thinking of hiding all the script fies etc within patches, but then how would you get the scripts? :p

    The patching system doesnt encrypt anything either - well, it kinda encodes the patches to a degree, but it doesn't provide any real protection against people breaking into your games. It just allows for you - the dev - to release patch files for your games to fix bugs and provide updates. :D

    Yes, to patch your games the only scripts you need is the DEK::Kore script and the scripts under the Patching header. :)

    Edit:

    the only real methods i have of providing real protection to the game are apparently a EULA breach, so I am now looking into alternative methods which has set me back a little :p
    So... i got it all wrong about the use of this script...? How fool of me @@

    About the patch, isn't the easiest way to patch a game is, encrypt the newer version, then let the player replace the old one with the new? What's the more convenient about this script?
  9. I'm guessing with this, you only need to supply the actual files that changed for those who already have your game before... If you redistribute a new ecnrypted archive, that means it also has all the other files that doesn't need patching plus the graphic files so it will have a huge file size that is not really needed. Using the patch, they will only need to download the updates instead of redownloading everything.
  10. Yea, as Adiktuz mentioned the main purpose of this is to allow you to quickly create small patch files (mine are usually around 1KB in size)  :)

    There is also the benefit of being able to add various code into the engine that is not included within the script editor. :p
  11. Dekita said:
    Yea, as Adiktuz mentioned the main purpose of this is to allow you to quickly create small patch files (mine are usually around 1KB in size)  :)

    There is also the benefit of being able to add various code into the engine that is not included within the script editor. :p
    Huhm... it's a good use after all. But, isn't player will wonder what that black window "Dekyde's RGSS console" is?
  12. Step 2 - Create a patch file.


    How do you do that exactly?


    oh - no commercial use :( Too bad.
  13. @Kuro Neko - AFAIK, that console is part of the whole Dekyde Engine script package (because Dekita doesn't want to upload each script one by one), you can remove it if you don't need it

    I personally do use a console on my games though, I like using it to show some information coz it's easier to print in the console than create a whole new window or scene for some extra information.
  14. I have to ask the question of questions. Can this be used to make DLC's? If so, yes! If no, what I am missing about this? Aren't there some scripts out there that require the user to start a new game. With that knowledge would that be a problem with this because say I wanted to add something and once patched would that cause the player to have to start the game all over again?
  15. @Kuro Neko :

    As Mentioned, the console can be disabled via the script that is controlling it.

    The only scripts you should need to patch games are:

    DEK

    DEK::patch

    DEK::patch::Do

    DEK::patch::MK

    DEK::patch::LD

    DEK::patch::Run

    In that order. :)

    @Shaz:

    To create a patch file simply 'clone' the patch data hash, like so...

      Patches[:patchNameOrAnIntegerValue] = {    :actors  => [1,2,3,4],    :classes => [3,4,5],    :skills  => [45,46,47,48,49],    :items   => [],    :weapons => [],    :armors  => [],    :enemies => [],    :troops  => [],    :states  => [],    :animats => [],    :tileset => [],    :c_event => [],    :newmaps => [],    :script  => %Q[                   module SomeModule                     def self.somemethod ; return true ; end                   end                  ],# << Ends :script  } # << Ends Patch[id]When the patch module setting 'MAKE' is true, the patch will be generated automatically at runtime.

    The above patch would add actors 1,2,3,4 - classes 3,4,5 skills 45, 46, 47, 48, 49 into a patch file along with the script code.

    Newer patches will always overwrite older patches - if they have the same contents - which is not required.

    @Engr:

    Yea, the console is a very useful tool, and many scripters use it to show information during test mode. I would always recommend to use console and disable it prior to game release. :)

    @Darth vollis:

    I want to ensure my answer is very clear about this.

    DarthVollis said:
    ... Can this be used to make DLC's?...
    Yes.

    You would simply create a new patch file with some unique identifier as the patch id. lets say its called :DLC1 for talking sake.

    When your game starts all patch files are loaded, if :DLC1 is there, it will be loaded, if not, nothing will change at all.

    DarthVollis said:
    Aren't there some scripts out there that require the user to start a new game. With that knowledge would that be a problem with this because say I wanted to add something and once patched would that cause the player to have to start the game all over again?
    Yes, this is an issue, but im afraid its not my concern.

    The reason for this is simple: If you make a huge change to the engine, that requires a newgame to be launched - you have inserted a script / code that does not have something in place for when the contents dont already exist.

    Lets say for example, you have some $game_party.variable. If you use this variable when it hasn't been created, error. if you check to see if it exists and create it (if required) before you try to use said variable. There will be no issues.

    To keep it simple: as long as you are changing features that already exist there should be no major issues.

    If you are trying to add new features, make sure you implement a check of some kind to create contents if people try to load a game that doesnt have them. - its really not hard :)

    I think that covered everything... :D
  16. Bleh a interesting system but how I see this system is more for cover bug fix without provoking load crash rm encounter a lot of time : 3! 

    well this how I see the system!