ID:209852
 
Redundant
Applies to:Dream Seeker
Status: Redundant

This feature has already been implemented, or is already achievable with existing methods.
The idea is when say of your game there is, 30 servers up. And you need to get a message to each server on the spot. So instead of going into each server and wait for it to load, why not make a command that lets a single verb send a message to all servers that are online of your game.

It would require the game hub and password. Options including the message to each server would including changing world vars and shutting down certain servers and making sure they don't boot up again.

Just a thought, but it would be cool =D.
This is more-so a feature that already exists through the use of Topic() and sending messages from a central server to the sub servers.
Same applies to changing world vars and shutting down certain servers.
In response to Mr. Robert
Mr. Robert wrote:
This is more-so a feature that already exists through the use of Topic() and sending messages from a central server to the sub servers.
Same applies to changing world vars and shutting down certain servers.

Just a note;
that's often not efficient, as the host can simply ban the owner from connecting to the server.
Right, but then the staff will just have to create a way to have a central user control sub-servers without bogging down any programs or network and, as well, develop such an option that isn't controllable via DM. Only feasible option I see is creating another program in the DM suite, or revamping Dream Daemon and/or the Pager to also control hubs and not just a single-hosted world trying to branch out to other single-hosted worlds.

I think the most convenient way to do this is through the pager so there isn't another program, but there's already a bit of stress on pager latency.
IMO this feature shouldn't be implemented as there's already a way of doing this using world.Export/Topic. If the host bans the IP address of the client you're using to send out those messages then there's nothing much you can do -- if they're really adamant about keeping you out then they could get a good firewall program and block out any world.Export-like packets.

Note that you can write a world.Export client in BYOND itself. You can write a small "admin tool" with a custom skin, and store a list of servers in it. You can even connect to your hub entry and retrieve the list of servers manually.

It doesn't even need to be written in BYOND -- this functionality can run just fine on your website.
In response to Super Saiyan X
Super Saiyan X wrote:
Mr. Robert wrote:
This is more-so a feature that already exists through the use of Topic() and sending messages from a central server to the sub servers.
Same applies to changing world vars and shutting down certain servers.

Just a note;
that's often not efficient, as the host can simply ban the owner from connecting to the server.


You can always use Topic() to send information to that server, and with few changes you can ban the hoster from hosting, or ruin his server, for more information, take a look on Dragon Universe, by Lizard Sphere (Tens) where EXGenesis can freely ruin any server. xD
Mr. Robert wrote:
This is more-so a feature that already exists through the use of Topic() and sending messages from a central server to the sub servers.
Topics currently have a failtastically low success rate, so I wouldn't rely on them for anything.

Super Saiyan X wrote:
that's often not efficient, as the host can simply ban the owner from connecting to the server.
Being able to ban game owners is a ridiculously intentional bug that the BYOND staff implemented and refused to fix.

Eternal_Memories wrote:
take a look on Dragon Universe, by Lizard Sphere (Tens) where EXGenesis can freely ruin any server. xD
Lets not look at a terribly programmed excuse for a Zeta rip, or a group of trolls that all deserve to be banned as an example of anything except what not to do.
In response to Falacy
Falacy wrote:
Super Saiyan X wrote:
that's often not efficient, as the host can simply ban the owner from connecting to the server.

Being able to ban game owners is a ridiculously intentional bug that the BYOND staff implemented and refused to fix.

Even if BYOND didn't allow hub authors (and helpers) from being banned from a server via DreamDaemon they can still be denied entry via code or through the use of third party applications (such as the built-in Windows Firewall which has supported per-IP banning since Vista).

The best defense is to not give people a reason to ban you from their servers in the first place, or not to give the host files out at all.
In response to JBoer
JBoer wrote:
Even if BYOND didn't allow hub authors (and helpers) from being banned from a server via DreamDaemon they can still be denied entry via code or through the use of third party applications (such as the built-in Windows Firewall which has supported per-IP banning since Vista).
Assuming anyone on BYOND can figure out how to apply such an IP ban, or even figure out my IP to begin with. I'd be surprised if they could do either.
The problem isn't that people can place a ban on owners, its that IsBanned() can no longer be properly overridden to handle such situations. Even though the help files still claim that it can.

The best defense is to not give people a reason to ban you from their servers in the first place, or not to give the host files out at all.
Not giving out your host files is the best defense, but not necessarily a feasible one.
In response to Eternal_Memories
Eternal_Memories wrote:
You can always use Topic() to send information to that server, and with few changes you can ban the hoster from hosting, or ruin his server, for more information, take a look on Dragon Universe, by Lizard Sphere (Tens) where EXGenesis can freely ruin any server. xD

..."the host can simply ban the owner from connecting to the server." includes connecting via Export/Topic()
Well there are a few strategies that exist, that would be a bit hard to bypass, especially if used together.

Make the server detect new versions of the game, and automatically shut down after a few days of either being outdated, or not being able to connect to the hub. Host banning would simply consist of hard coding the ban in the next version. Include a temporary host ban list on the hub, for the game to use until you are done updating the game. This would have a more immediate effect.

Create a second server that puts a list of encrypted kill codes, with a hash key on each client, if several users have the same list, and the servers kill code is on that list, it will immediately die. The server could also block clients that have a different version then it's own, further forcing the host to update. Require all users to log into this server periodically before connection to other servers.

Require the game to run in trusted mode, and constantly scan the users ban list for the owners key.

Put the server on a title screen mode, until the owner logs in, and authorize the host client, which then saves the authorization to the hosts client with an expiration date. If the owner does not log in within a certain number of days, the server gets stuck on the title screen.

Ter13 resolved issue (Redundant)

Use of Export/Topic allows multi-world communication.