Quenty
|
  |
| Joined: 03 Sep 2009 |
| Total Posts: 9316 |
|
|
| 23 Mar 2013 04:03 PM |
The ServerReplicator is an interesting object, used to prevent people from stealing your game. No one uses it except for the admins, and no documentation exists on the wiki.
The API dump gives us this:
Function void ServerReplicator:PreventTerrainChanges() [RobloxPlaceSecurity] Function void ServerReplicator:SetBasicFilteringEnabled(bool value) [RobloxPlaceSecurity] Event ServerReplicator.TicketProcessed(int userId, bool isAuthenticated, int protocolVersion) Callback FilterResult ServerReplicator.DeleteFilter(Instance deletingItem) [RobloxPlaceSecurity] Callback FilterResult ServerReplicator.EventFilter(Instance firingItem, string event) [RobloxPlaceSecurity] Callback FilterResult ServerReplicator.NewFilter(Instance newItem, Instance parent) [RobloxPlaceSecurity] Callback FilterResult ServerReplicator.PropertyFilter(Instance changingItem, string member, Variant value) [RobloxPlaceSecurity]
There are callbacks for _every_ single item being sent to the client... I think the way a local system would work is...
1) Network replicator appears, server replicator is it's child. 2) Set callbacks to only allow replication of items that are parented to a local 'model' that are parented to the player's own local model.
I'm too lazy to test (I know, I know, I should), but I want to ask what you think about this. The other thing that is much more important is... Can we use this to protect our games?
Overall, what I'm looking for is documentation of this, and how to use it, and it's possible applications. |
|
|
| Report Abuse |
|
|
UnAdmin
|
  |
| Joined: 10 Jul 2012 |
| Total Posts: 4706 |
|
|
| 23 Mar 2013 04:07 PM |
| I bet 5$ you can't use it. |
|
|
| Report Abuse |
|
|
dekkonot
|
  |
| Joined: 22 Dec 2010 |
| Total Posts: 6685 |
|
|
| 23 Mar 2013 04:10 PM |
Event ServerReplicator.TicketProcessed(int userId, bool isAuthenticated, int protocolVersion)
Is that not restricted?
Reported for spam. |
|
|
| Report Abuse |
|
|
booing
|
  |
| Joined: 04 May 2009 |
| Total Posts: 6594 |
|
|
| 23 Mar 2013 04:13 PM |
| I don't think this is very effective. I went to someone's personal server, cleared the terrain and loaded builderman's resort hotel and everything saved. |
|
|
| Report Abuse |
|
|
|
| 23 Mar 2013 04:14 PM |
All of those methods are RobloxPlaceSecurity which means they cant be used in Library Scripts, Scripts or LocalScripts
-Roblox Wiki http://wiki.roblox.com/index.php/Normal_Identities |
|
|
| Report Abuse |
|
|
Quenty
|
  |
| Joined: 03 Sep 2009 |
| Total Posts: 9316 |
|
|
| 23 Mar 2013 04:19 PM |
Was there not a script though, that was protecting games that the admins were using?
:/
Wait. If they're already filtering parts with a callback. How hard would it _really_ by to put in local parts? :/
|
|
|
| Report Abuse |
|
|
dekkonot
|
  |
| Joined: 22 Dec 2010 |
| Total Posts: 6685 |
|
|
| 23 Mar 2013 04:20 PM |
Exactly. Lazy admins are lazy. Just implement LocalWorkspace, and we'll be fine.
Reported for spam. |
|
|
| Report Abuse |
|
|
Quenty
|
  |
| Joined: 03 Sep 2009 |
| Total Posts: 9316 |
|
|
| 23 Mar 2013 04:23 PM |
"Quenty: Local services. I want a local SoundService, Workspace, Lighting, etc to work with. Sometimes you don’t want to be playing a ‘Cave’ echo for one player when they’re in the open, but most of your game is a cave. Workspace would be local parts, and lighting – well, what if you just want to have a storm for one player, or a mission in which the player has to find an item? A non-hackish way would be great. I know that stuff is replicated client-side and that adding this wouldn’t be entirely hard either.
John: This is a tricky one. There are many aspects to consider here. While it should definitely be possible to play sound files for specific players, I’m not convinced that the best way to do this is via a local service, which would be a new type of entity in our system. In the cave example, the best design is probably to create custom regions that apply specific sound effects, like an echo, to all sounds played in that region. Having these effects be global and be in the SoundService, like they are now, is not ideal.
As far as local parts are concerned – this is something that we’d like to get away from. Our guiding vision for ROBLOX is that objects in ROBLOX act as you would expect them to in the real world, using physics. There’s no such thing as “local parts” in the real world. They also fight our network architecture – typically ROBLOX scripters don’t need to spend a lot of time thinking about what each client “sees” when they play the game: everyone sees everything. This simplifies a lot of game programming in ROBLOX. Today in ROBLOX, scripters use local parts as a last resort to accomplish some effect that you can’t get any other way. Our challenge is to make it easy to achieve these effects without this hack." |
|
|
| Report Abuse |
|
|
dekkonot
|
  |
| Joined: 22 Dec 2010 |
| Total Posts: 6685 |
|
|
| 23 Mar 2013 04:25 PM |
If you're worried about it being tricky, admins, let one of us do it.
Reported for spam. |
|
|
| Report Abuse |
|
|
MM233
|
  |
| Joined: 19 Jun 2008 |
| Total Posts: 925 |
|
|
| 23 Mar 2013 04:36 PM |
"As far as local parts are concerned – this is something that we’d like to get away from. Our guiding vision for ROBLOX is that objects in ROBLOX act as you would expect them to in the real world, using physics. There’s no such thing as “local parts” in the real world. They also fight our network architecture – typically ROBLOX scripters don’t need to spend a lot of time thinking about what each client “sees” when they play the game: everyone sees everything."
This is probably one of the silliest excuses I've heard... Local parts are VERY useful, especially when you want to make a very large place. Using local parts, you can limit what each player's computer has to handle by only loading relevent content onto their client, thus reducing lag and enabling higher place detail and creativity. Besides, why limit us in any way, just for the sake of "realism"? The goal of a scripter is to make something unique and exciting, and sometimes that requires thinking outside the box of physics. |
|
|
| Report Abuse |
|
|
|
| 23 Mar 2013 04:44 PM |
"There’s no such thing as “local parts” in the real world"
Quantum mechanics. Get it together, John. |
|
|
| Report Abuse |
|
|
|
| 23 Mar 2013 05:56 PM |
| I agree with MM. Local parts are absolutely necessary and if Roblox decide they can do without them, then we will hack something to get them working, |
|
|
| Report Abuse |
|
|
|
| 23 Mar 2013 06:41 PM |
| Idea: We should all make really good games that rely heavily on local parts. Then get them famous so roblox can't remove local parts without making everyone mad. |
|
|
| Report Abuse |
|
|
UnAdmin
|
  |
| Joined: 10 Jul 2012 |
| Total Posts: 4706 |
|
|
| 23 Mar 2013 06:49 PM |
| Make Daedalus' design for his labyrinth but the players are in their own cameras so nobody cheats. |
|
|
| Report Abuse |
|
|
|
| 23 Mar 2013 06:53 PM |
@Arceus According to Shedletsky's logic, ROBLOX should just remove GUIs because they don't exist in the real world. |
|
|
| Report Abuse |
|
|
MrNicNac
|
  |
| Joined: 29 Aug 2008 |
| Total Posts: 26567 |
|
|
| 23 Mar 2013 07:03 PM |
| I'd really like to be able to disable physics completely, or individualize it's mechanics so that not everything is constantly under check. All I would want is for the part to render. |
|
|
| Report Abuse |
|
|
UnAdmin
|
  |
| Joined: 10 Jul 2012 |
| Total Posts: 4706 |
|
| |
|
coplox
|
  |
| Joined: 07 Jun 2008 |
| Total Posts: 3252 |
|
|
| 23 Mar 2013 08:15 PM |
| I can't count how many things are locked that presents no security issue unlocked. And this is one of them. (ScriptContext.Error is another, the list goes on.) |
|
|
| Report Abuse |
|
|
kert109
|
  |
| Joined: 31 Dec 2009 |
| Total Posts: 681 |
|
|
| 23 Mar 2013 10:04 PM |
128 Read only items 299 Security items 29 Not browsable items 22 Hidden items ^ :c
Btw, LOCAL PARTS RULE! |
|
|
| Report Abuse |
|
|
|
| 24 Mar 2013 04:09 PM |
| You're late, Quenty. I already suggested using the server replicator as soon as I learned about its API to get local lighting. popinman322 replied in the thread where I suggested it and said that the replicator would crash a client instantly if a specific replication was rejected. |
|
|
| Report Abuse |
|
|
stravant
|
  |
 |
| Joined: 22 Oct 2007 |
| Total Posts: 2893 |
|
|
| 24 Mar 2013 04:13 PM |
| Even if you could get it working perfectly, on enough bad (as par that API) replications from a given client the server will kick that client, so it would be very hard to use it for any practical example. |
|
|
| Report Abuse |
|
|
|
| 24 Mar 2013 04:49 PM |
| This is actually how Shedletsky made his SFoTH's place un-hax-able a couple months ago. It seems he didn't bother to keep it up to date though, since you can now do whatever with it replicating. Any bets on what ISN'T going to be implemented on the Egg Hunt? =P |
|
|
| Report Abuse |
|
|
GOLDC3PO
|
  |
| Joined: 31 May 2011 |
| Total Posts: 509 |
|
| |
|