Isoplere Posted January 17, 2019 Share Posted January 17, 2019 So currently I'm trying to have .mis files hashed so they can't be edited (people cheating) in-game, but the question is whenever I change .mis to .cs and it writes to .cs.dso, the program is able to read and load the stage with the extension ".cs" just fine, but not with ".cs.dso" -- does anyone have any suggestions on how it can read .cs.dso or is this impossible? Quote Link to comment Share on other sites More sharing options...
Duion Posted January 17, 2019 Share Posted January 17, 2019 In case your game is multiplayer, the .mis files cannot be edited by clients.In case your game is singleplayer, you need to remove the tools, before you release, obviously, this will make it a little harder, but those who want can still do it.What exactly are you trying to do here? Did you make a release build with compiled scripts already? If so, what is still left that you want do prevent from being edited? Quote Link to comment Share on other sites More sharing options...
Happenstance Posted January 17, 2019 Share Posted January 17, 2019 Is this for a multiplayer game? If so, players shouldn't be able to cheat by editing their copy of the .mis file if Torque's client-server model is intact. The way mission loading works by default is the server sends the mission file data to every client when they connect - players don't actually load mission files at all. Any changes a player makes to their copy of the .mis file won't have an effect unless they host a server.If this is a singleplayer game and you just want to protect the mission files from editing, you might be able to put them in a password protected zip. It's been a decade since I used TGE but if I recall it could read data from zip archives. Quote Link to comment Share on other sites More sharing options...
Isoplere Posted January 18, 2019 Author Share Posted January 18, 2019 @Duion,The program is "singleplayer" with all files compiled already. The only problem is -- someone could edit the .mis file(s) to change the skybox...or level number...etcetera. I'm trying to prevent .mis files from being edited.@Happenstance,Unfortunately, the first worked, but the latter did not. =( Quote Link to comment Share on other sites More sharing options...
Happenstance Posted January 19, 2019 Share Posted January 19, 2019 Thinking about this some more, there's actually no reason missions couldn't be compiled to .dso. I'm assuming it's failing somewhere in the loading stage because certain parts of the code look for a file with a .mis extension and expect those to be readable text files (see loadMission() and buildLoadInfo()). Those parts could easily be rewritten to just exec the mission file like a normal script and proceed from there.Another potential option which might work:1). Compile your mission to dso as you were doing before.2). Create a blank file, name it .mis and inside this file simply add: exec(<your_compiled_mission>.cs); 3). Now when you load a level, have it load the blank .mis file. I can't test this right now so it's entirely possible it'll fail as well but might be another avenue to explore.Oh, and here's an oldie but goodie on adding encrypted zip support:http://www.garagegames.com/community/resource/view/9896/2 Quote Link to comment Share on other sites More sharing options...
Hodo33 Posted February 3, 2019 Share Posted February 3, 2019 What effect of doing a no TORQUE_TOOLS in the engine vs just deleting the tools directory?I have an issue where I need to use file open write pathcopy etc but that fails using no TORQUE_TOOLS for release. Can I hoist the functions out of fileSystemFunctions.cpp without causing issues or having no tools directory in the scripts cause issues.. Quote Link to comment Share on other sites More sharing options...
Bloodknight Posted February 3, 2019 Share Posted February 3, 2019 limitations of encrypted zip files as well as potential problems in file comparison between client and server are the only unknowns here as far as I can tell, the .mis files are probably checked more adamantly than others, might be worth chasing that through the circular client/server relationship since to the best of my knowledge they are the only shared files between client and server tho i'm sure others know better than i do. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.