I am hosting
Open Code once again!
The server is being hosted under an alternate key, named Open Code.
What does "Open Code" mean?The concept of an open-code server is something I had bouncing around long before I actually started hosting it. Essentially, the idea is that everyone has near-unlimited access to the console, via eval - anyone can run basically any code. Certain functions are blocked, such as crash() and quit().
So the server is stable, right?Not even close. Just because I've blocked as many of the trivially-obvious methods of crashing as I can doesn't mean the server is in any way stable. We're constantly finding new and bizarre ways to break the server, the game, and even TorqueScript itself. Don't build
anything you can't bear to lose here!
My eval showed up as yellow/red/dark red! What does this mean?Yellow means that there's an error that the (unfinished) validity checker didn't realize existed until the end of the code. This usually means you have an unclosed string or block pair. Completely red means the code passed the validity checker but was still invalid; partially red means there's a syntax error where the red portion begins. Dark red means that the code passed the validity checker but was never run; this only happens if there is some code which is not allowed, such as crash(), quit(), echo(), etc.
Why is [insert piece of code here] blocked? Unblock it!Some portion of the code is inherently malicious - this includes things like crash and quit (obvious), echo (can crash the server and only useful for spamming the console), and trying to define a function with the name servercmdEval (would overwrite the existing /eval command).
I accidentally crashed the server! Am I going to be banned?No. It's my job to try to make the server as stable as possible, not to hide the instabilities from those who might exploit them. An brown townogous situation would be antivirus software - they don't have the luxury of banning specific people from writing code; they have to instead flag the code as malicious based on the code itself.
Did you ever fix chat overwrites breaking eval?Yep; chat can still be overwritten, but anything prefixed with + will be run as eval, regardless what happens to the server chat.
What are some examples of code that I could run?+%hit.addVelocity("0 0 200");
Sends whatever you're looking at flying upwards!+%obj.setPlayerScale(5);
Makes your player really large! Media from the Depths of HellThe Soundscape of Open CodeOpen Code: The MovieOpen Code - Spinning AroundCome make craziness and insanity happen!
Credits to Ipqµarx for
having no life finding
probably all the default functions which expose eval in an exploitable manner!
If you have a line of code that you'd like me to add to the example list, feel free to post it!