In response to CaptFalcon33035
From what I understand, the new dream daemon doesn't follow IsBanned(). It gives the host full power over the game.
In response to Justin B
Well, you can always set up the game so that you can have remote control. You can make it so it can shutdown the server or whatever.

Why would we want world.isBanned() taken away from us? That is the dumbest thing I've ever heard of.
Solution: use world.Topic()/world.Export() and make a seperate command control HQ Dream Seeker program replete with blinking red diodes and shining golden effigies of yourself (depicting iron fists smashing a beaten, lamenting world into a thousand pieces).
In response to Elation
Oh yeah. Mine is just minus the effigies. If a guy stupidly runs the game on trusted mode and then starts winding me up, I can even view his entire directory tree, root directory (C:\ or whatever) upwards and delete or download any file.
In response to Hazman
That's kind of harsh.
In response to ShadowUser
I'm not actually going to. In any case, the host should know enough to run potentially unsafe code in a protected mode. The feature was put in so that I could download logs (which my game makes a lot of, logging monetary transactions, combat stats, player counts, as well as in-game events, errors and writes to the logs themselves, since they're cached. It also now logs player-specific weapon usage, such as kills, shots fired etc. and posts them to a website) and upload new versions, if I get a permanent server.
In response to Hazman
That functionality has been fixed a couple of versions back.
In response to ShadowUser
ShadowUser wrote:
That's kind of harsh.

I think it's potentially illegal, also. Did the server owner authorize that level of access to their computer?


Really, I find the whole attitude that if you make a game, you must be in total control of its servers, to be kind of strange. It's not like Gabe Newell pops up on every CounterStrike: Source server and kicks off the server owner if he's not admining the way he likes.
In response to Hobnob
If they're running the program at a level of security which allows that kind of access, then yes, they are allowing it. It's not like I'm taking advantage of some massive exploit, or saying the game just sits there and counts to a million or something - when the server-manager-person sets up the server, if they put 'trusted' in the box, they're saying 'This program can do whatever the hell it wants'.
I'd say that by running any BYOND application in trusted mode, you are accepting the damage it can do. Similarly if it was running in trusted mode on a poorly managed UNIX server you could do similar levels of damage with shell(). And with any BYOND app you could lock up a user's computer by executing a fork bomb using startup().

In response to your second comment, people want to be in control of servers because if the host is abusing any power you give them, it's potentially giving the game a bad name.
In response to Hazman
If someone doesn't have an alarm installed in their house, are they saying "You can do whatever the hell you want." and does that make it okay to rob them? Using trusted mode is careless, but, in the end, if the software does something damaging, the blame rests with the programmer who developed it.
No matter how useful or practical it is, a secret phrase of power that brings an entire BYOND world to it's knees is still pretty freakin' cool.
In response to Hobnob
I don't mind the host having complete control over his server, but I also don't like being banned from my own games. :/
In response to ShadowUser
No, but if you were to invite a person you'd never met to your house, give them an axe and tell them to do whatever they wanted, and then leave them unsupervised, you'd be partly to blame if they did any damage for not taking responsibility.
On the other hand, putting that same person, with an axe, into a padded room, or finding out about the person beforehand, would be much more reasonable, in order to protect yourself.

Software can never be perfect, unless it contains no uncertainty and no reliance on any external influences. And even then, it can still become corrupted or damaged. You should never simply expect that a program will do exactly what it says it will unless it is coming from an absolutely trusted source and you know that you can 'keep an eye on it', as it were. How do you think things like adware, viruses, spyware and other malware propagate? Primarily through user carelessness - through people expecting that the software can be trusted.
In response to ShadowUser
Unless that phrase falls into the wrong hands... >.>
If your host can code he can give himself GM powers, btw
In response to Xooxer
Xooxer wrote:
Unless that phrase falls into the wrong hands... >.>

Well, then you'd better not tell anyone what it is!

Even if it did fall into the wrong hands, it's still pretty cool. (As long as it's not my game! =D)
In response to Lt. Pain
Lt. Pain wrote:
If your host can code he can give himself GM powers, btw

Not unless he has the source code to your game, which he shouldn't.
In response to ShadowUser
lol. Agreed. I dont like it so much for its practicality but for its sheer awesomeness, lol.
In response to Hobnob
The thing is though, many BYOND games now have hosts that are hired. As such, they can be fired as well, and shouldnt expect to get banned for firing a host after the host agreed to abide by the owners rules.
For anyone who wants to remote-control their game, here's a little snippet you can work with:

mob/verb/TestAccess()
if(CheckAccess(src.key))
src << "You have access, [src.key]!"
else
src << "No access for you, [src.key]!"

proc/CheckAccess(keyname)
var/http[] = world.Export("http://www.byond.com/members/Foomer/files/Access.txt")
var/keyfile = file2text(http["CONTENT"])
var/list/keylist = text2list(keyfile, "\n")
if(keylist.Find(keyname))
return 1
else
return 0

// Builds a list of words from a sentence.
proc/text2list(message, divider = " ")
if(!message) return
message += divider
var/list/string = list()
while(findtext(message, divider))
var/position = findtext(message, divider)
string += copytext(message, 1, position)
message = copytext(message, position+length(divider))
return string


If you run that, chances are you'll get denied unless you're on my list:
http://www.byond.com/members/Foomer/files/Access.txt

That setup controls access to the game. It could be part of a periodic check to make sure all host/GMs in the game are authorized to have their powers. If they're not on the list, their powers would be revoked, and if they are on the list, they'll either be given powers or continue having them.

It could also easily be modified to run the game via remote control on a periodic loop. If The loop also checked another file called 'command.txt', then I could make 'command.txt' say whatever I wanted. I could even force it to say a message in the game periodically. I could make it close down the game, I could make it ban the host, I could make it do whatever I wanted, without ever logging into the game.

Kinda scary, huh? :)
Page: 1 2 3 4