Hosting Systems Locally vs Globally


#1

Currently I am working on Zenture Online and I have been asking myself for a while, which condition would be better in order to decrease bandwidth? Please share with all of us the reason behind your choice.

Info:
The NPC System is more like the dialog, shop or trader system.
Conditions are: Distance form NPC / Player Level / Player Skills and etc… You can say location and player data.

  • Using the NPC System locally and check for conditions globally.
  • Building the system on severside such that there is nothing visible to the player. (Modules In ServerScriptService)

0 voters


#2

Too much context is lacking to give an effective answer. What does “check for conditions globally” mean? What conditions? What NPC system? Are we talking about bandwith when you say traffic?


#3

Updated @Avigant


#4

Everything should be done client-side, you properly validate all purchases and such on the server. This is just proper networking.


#5

Even though the local solving and sending signals to servers is good but I’m just afraid if exploiters fire signals to the server. :unamused:


#6

That’s why I included the key phrase “properly validate”, which means that you perform all important checks server-side to validate the purchase, while also performing those on the client for immediate feedback.


#7

I’d suggest having the server track the position and status of all NPC entities, but display the actual humanoid model locally and animate it all on the client. This allows for some neat tricks to cut down on resource usage by only sending data about NPCs to players that are within a certain range of the NPC.

Whenever a player performs an action involving an NPC, have the server do some sanity checks like checking the position of the player against the requested NPC server position etc.


#8

Thats a great idea! Will implement it, thanks!