Open Code Server

Author Topic: Open Code Server  (Read 3323 times)

I am hosting Open Code once again!

    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.

    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 Hell
The Soundscape of Open Code
Oaken Code - Jeeps with Tree Tires
Open Code - Spinning Around


Come 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!
« Last Edit: June 05, 2015, 08:36:08 AM by Xalos »

He sure to block onStart()

Setro has decided to be an starfish.  Since I apparently can't trust him not to be an starfish, I'm just not going to deal with this.

Joking about rape is not loving funny, end of story, period, full stop, just don't.

Update: Having since changed the way the mod works, the server is now up; I now can and will ban you if you decide to be a complete and utter prick.  Crash the server and we'll all have good laughs, joke about rape and you'll be permabanned.


Joking about rape is not loving funny, end of story, period, full stop, just don't.
i don't recall joking about rape.

aaaaaand the server's already crashed.

Are you ever going to release the source code of the safe eval and auto-start software? (The program that pings the server to see if its still alive)

i don't recall joking about rape.

Sadly "I don't recall being an starfish" is not a valid defense.

05/14/15 17:28:34 - Setro (43991, [IP removed]): announce("<font:impact:97><color:ff00bb>i stopped a girl from getting raped once- i stopped chasing her");


Are you ever going to release the source code of the safe eval and auto-start software? (The program that pings the server to see if its still alive)

This eval is safe only in the sense that most immediately-obvious avenues of attack are blocked.  Badspot failbins all eval mods, and this would be no exception; there is simply no way to make eval "safe" for full use on a general server.

Setro has decided to be an starfish.  Since I apparently can't trust him not to be an starfish, I'm just not going to deal with this.

Joking about rape is not loving funny, end of story, period, full stop, just don't.

Relax dude, I know it isn't funny, but just ban him.

Relax dude, I know it isn't funny, but just ban him.

I shut the server down because it became undeniably clear that I could not trust people to remain civil human beings.  Since at the time, everyone could ban if anyone could, I decided that it simply wasn't worth it.  The few ruining it for the many, as always happens.  As I have previously said, I have since changed the way admin access works, and have banned Setro.

He just decided to abuse a previously existing problem - that is, the inability of anyone to actually ban him - to be an starfish.

someone put in a function or something that changes my chats to "i'm gay!" whenever i try to chat something. it means i can't run codes and it ruins the server for me. can this be fixed, please?

come on, it was a joke

someone put in a function or something that changes my chats to "i'm gay!" whenever i try to chat something. it means i can't run codes and it ruins the server for me. can this be fixed, please?

You can use /eval to run code regardless of what happens to the server chat.

You can use /eval to run code regardless of what happens to the server chat.
This
Explaining why:
slash commands are never received by the chat, the client intercepts it and turns "/command" into "commandtoserver('command');"
The only way to break /eval is to overwrite serverCmdEval, which xalos blocked from being overwritten