Skip to main content
added 29 characters in body
Source Link
Philipp
  • 123.2k
  • 28
  • 264
  • 345

In a client/server architecture it is not required that client and server are implemented in the same programming language. They usually communicate by sending raw data via network sockets. So you can choose the technology for each component separately, depending on your requirements, skillset and personal preferences. An exception would be when you want to use some library for netcode abstraction which isn't available for both languages you would like to use.

Only sending clients the data they need and only receiving their input whileand calculating the game mechanics on the server while only receiving the input is usually a good approach. This is called an authoritative server and it is the best way to prevent cheating. However, any actions the client performs locally should be performed without waiting for a confirmation to make the game appear smoothly regardless of the network latency.

In a client/server architecture it is not required that client and server are implemented in the same programming language. They usually communicate by sending raw data via network sockets. So you can choose the technology for each component separately, depending on your requirements, skillset and personal preferences. An exception would be when you want to use some library for netcode abstraction which isn't available for both languages you would like to use.

Only sending clients the data they need and only receiving their input while calculating the game mechanics on the server is usually a good approach. This is called an authoritative server and it is the best way to prevent cheating. However, any actions the client performs locally should be performed without waiting for a confirmation to make the game appear smoothly regardless of the network latency.

In a client/server architecture it is not required that client and server are implemented in the same programming language. They usually communicate by sending raw data via network sockets. So you can choose the technology for each component separately, depending on your requirements, skillset and personal preferences. An exception would be when you want to use some library for netcode abstraction which isn't available for both languages you would like to use.

Only sending clients the data they need and only receiving their input and calculating the game mechanics on the server while only receiving the input is usually a good approach. This is called an authoritative server and it is the best way to prevent cheating. However, any actions the client performs locally should be performed without waiting for a confirmation to make the game appear smoothly regardless of the network latency.

Source Link
Philipp
  • 123.2k
  • 28
  • 264
  • 345

In a client/server architecture it is not required that client and server are implemented in the same programming language. They usually communicate by sending raw data via network sockets. So you can choose the technology for each component separately, depending on your requirements, skillset and personal preferences. An exception would be when you want to use some library for netcode abstraction which isn't available for both languages you would like to use.

Only sending clients the data they need and only receiving their input while calculating the game mechanics on the server is usually a good approach. This is called an authoritative server and it is the best way to prevent cheating. However, any actions the client performs locally should be performed without waiting for a confirmation to make the game appear smoothly regardless of the network latency.