chichineJoin Date: 2011-07-16 Post Count: 496 |
I see many people have problems with Filtering Enabled. I have some tips for them, I hope this help.
First, Filtering can be Enabled in workspace properties. It prevents any exploiter from editing Workspace, this is helpful to make your game secure.
When you enable Filtering, most of your scripts will break. There is a wiki tutorial at http://wiki.roblox.com/index.php?title=Client-Server_Model_and_FilteringEnabled that can help alot about understand how it works.
Basically, clients can't edit server and server can't edit clients. There is some objects such as RemoteEvent to make the server/client communicate.
This wiki tutorial helps to understand how to work FE but there is no help about fixing your game.
Here is some current problems:
- Localscripts can't access ModuleScripts that aren't in a local object
- Localscripts can't edit workspace
- Scripts can't edit client
Localscripts can access global values and get what is inside but can't edit the value.
Like I already said, you can use RemoteEvent to send informations to the server/client:
Here is the API:
http://wiki.roblox.com/index.php?title=API:Class/RemoteEvent
I recommend to use a table to send informations like:
Event:FireServer({"EventName", EventObject})
WARNING:
(it can be a problem with saving)
if you have a value in the player, let's name it "Points" and write it like that:
Event:FireServer(Points.Value)
this won't work! Because the server won't be able to see the points value. You should write this:
local CurrentPoints = Points.Value
Event:FireServer(CurrentPoints)
This is a LITTLE help about Filtering Enabled, I hope you understand, if you have any question about Filtering Enabled, reply to this post with your question.
Please keep in mind that I am french, my english is not so good. Thanks!
--I do not work for ROBLOX but I do help the community. |
|
OzzyFinJoin Date: 2011-06-07 Post Count: 3600 |
there is so much wrong with this post |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
This is a tutorial for beginners, so they can learn more about it. But there's nothing wrong in there. (Or maybe my grammar?)
--I do not work for ROBLOX but I do help the community. |
|
|
"Event:FireServer(Points.Value)
this won't work! Because the server won't be able to see the points value. You should write this:
local CurrentPoints = Points.Value
Event:FireServer(CurrentPoints)"
Actually both of these would work, if the points are in leaderstats in the player the client cant edit them but the server cant, but both can read it
|
|
|
Worst example ever lol;
WARNING:
(it can be a problem with saving)
if you have a value in the player, let's name it "Points" and write it like that:
Event:FireServer(Points.Value)
this won't work! Because the server won't be able to see the points value. You should write this:
local CurrentPoints = Points.Value
Event:FireServer(CurrentPoints)
|
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
Nope, won't work. You can try, will work with leaderboard, but won't work with a local value. It will send an old value(0 or the first value the server had) or return nil.
--I do not work for ROBLOX but I do help the community. |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
Yeah, I add no idea on a good exemple. xD
--I do not work for ROBLOX but I do help the community. |
|
|
But why would a client send its points to the server?
Exploiters can adjust their leaderstats (with FE on just locally) and then send it, seems vulnerable to me.
They should request the server to do something, then the server should check the leaderstats being on the server |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
Again, this is for beginners, but yes I understand what you mean.
The players who had FE problem sent me there game, and I fixed it, the save system was automatic(a loop), or button save, so it send to the server for it to save.
--I do not work for ROBLOX but I do help the community. |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
there or their? #French
--I do not work for ROBLOX but I do help the community. |
|
|
their indicates possession |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
Okay thanks XD
--I do not work for ROBLOX but I do help the community. |
|
|
misinformation
MISINFORMATION EVERYWHERE |
|
cntkillmeJoin Date: 2008-04-07 Post Count: 49450 |
OP is an idiot |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
Okay lol
--I do not work for ROBLOX but I do help the community. |
|
|
OzzyFinJoin Date: 2011-06-07 Post Count: 3600 |
"It prevents any exploiter from editing Workspace, this is helpful to make your game secure."
it's still as possible as before, the change just won't replicate to any other client nor server. also localplayer's character movement replicates, so you are able to teleport your character or change your humanoid properties and it'll replicate
"server can't edit clients"
of course it can, everything done server side will replicate to the clients
however handling visual stuff that doesn't affect gameplay much should be handled client side
"Localscripts can't access ModuleScripts that aren't in a local object
- Localscripts can't edit workspace
- Scripts can't edit client"
what? -- you can require a modulescript anywhere it runs and client can see
incorrect
incorrect
"it can be a problem with saving"
not if you know what you are doing, you don't seem to
"this won't work! Because the server won't be able to see the points"
ahhahaha it will definitely work
1st at all you are passing the value of points, not the object
2nd if it was created server side it will be able to access it
you should never handle important data (points, cash for instance) client side, let server do that
|
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
I said most of the exploit.
It can't access PlayerGui and Backpack, only can paste thing into it.
It can access but using functions from a module script will print an error.
This is for beginner, so they don't know how to do it.
This won't work. Because server will take OLD value. First he sees or 0.
--I do not work for ROBLOX but I do help the community. |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
it*
--I do not work for ROBLOX but I do help the community. |
|
AethexJoin Date: 2011-10-16 Post Count: 2193 |
@chichine what? why would a function from a modulescript error unless you made it wrong? localscripts can run modulescripts as long as they have access to them (i.e. not in serverstorage) |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
Yeah, I think, but sometimes it error unless it is in a local object.
--I do not work for ROBLOX but I do help the community. |
|
|
"It prevents any exploiter from editing Workspace"
No it doesn't.
"Basically, clients can't edit server"
This is a bit of a strange way to put it - more like, changes clients make won't replicate to the server.
"and server can't edit clients."
That doesn't make any sense.
"Localscripts can't access ModuleScripts that aren't in a local object"
Err, what? ModuleScripts will run from where they are required from (i.e a module required locally will run on the client).
"Localscripts can't edit workspace"
Yes, they can.
"Scripts can't edit client"
That doesn't make any sense.
"Localscripts can access global values and get what is inside but can't edit the value."
That is incorrect. They can.
"this won't work! Because the server won't be able to see the points value. You should write this:"
Yes it can, the argument will only be passed as nil if it only exists locally.
"local CurrentPoints = Points.Value
Event:FireServer(CurrentPoints)"
That's doing exactly what you were doing before.
"Please keep in mind that I am french, my english is not so good. Thanks!"
Your English is fine. |
|
OzzyFinJoin Date: 2011-06-07 Post Count: 3600 |
"It can't access PlayerGui and Backpack, only can paste thing into it."
server can totally access them, what are you talking about?
"It can access but using functions from a module script will print an error."
what
"This is for beginner, so they don't know how to do it."
why would you give beginners wrong and bad information & practices?
"This won't work. Because server will take OLD value. First he sees or 0."
what
you don't handle points client side, you do it server side
if you do it client side you are an idiot
don't make posts like these if you have no clue what you are talking about
|
|
AethexJoin Date: 2011-10-16 Post Count: 2193 |
uh no, even if it was trying to edit an object on the server, it would still change the properties and just not replicate to the server or any other clients |
|
chichineJoin Date: 2011-07-16 Post Count: 496 |
@LongKillKreations
Yes it does.
Yeah, I mean replicate.
It does. unless my english is bad xD
Yes, it does, made a mistake
They can but won't replicated, like you just said.
what are you saying, you just said this a second ago.
No they can't edit the value inside the workspace(doesn't replicate again)
this is what I am saying what.
nope, this one works.
Thanks. xd
--I do not work for ROBLOX but I do help the community. |
|