Servidores y aceleración gráfica


#1

Voy a hacer una pregunta por demás inocente, por desconocimiento. ¿Cómo hacen los datacenter para montar un servidor gamer en relación a la aceleración gráfica? Supongo que virtualizan para asignar recursos pero… y la placa de video? Se emula? Hay detrás una gran “ATI nvidia” de varios miles de dólares? Digo… armar un servidor potable para lo que sea conlleva como mínimo unos 40 a 50 lucas… Alguien sabe?


#2

No, el código del juego se ejecuta en la maquina cliente, en el servidor “solo” se procesan y organizan los datos de los clientes


#3

Lo que hace el servidor remoto es “renderizar los frames”. Tengo entendido que es algo así y por eso es tan pero tan importante la baja latencia porque al fin y al cabo uno cuando juega en esos servicios está jugando en una especie de Escritorio Remoto optimizado para gaming.

Si me equivoco, por favor me corrigen.


#4

Todos los juegos son así? Entonces no hay diferencias con un servidor común y corriente, salvo la optimización en tiempos de respuesta… Digo, porque por lo general son más caros los servers gaming!


#5

¿Pero vos te referís a los servidores “dedicados” para juegos?

¿O a los servers que renderizan juegos onda los de los servicios de Playstation Now por ejemplo?


#6

No, no. Los dedicados. Los que compran los clanes para jugar.


#7

Estoy tocando de oído, pero renderizar en el server seria muy poco practico. Y tampoco lo tendria que bajes o instales un dvd de varios GB siendo que el trabajo pesado (render) lo hace el servidor. Pongo ejemplo de juego de pelea en 2D. Vos lo que tendrías que mandar al servidor seria la posición (x,y), posición de proyectiles, pulsación de botones y una marca de tiempo. Lo mismo haría tu oponente, luego el servidor procesa estos datos y manda tus datos al oponente, y los de tu oponente te los manda a vos lo mas rápido posible. Entonces el juego toma esos datos, actualiza las nuevas posiciones y estado y después recién ahí se haría el render. De lo contrario el servidor tiene que calcular pixel por pixel, ajustar resoluciones, y un larguísimo etc que tiene la parte gráfica.
Igual remarco, capaz que todo el laburo lo hace el server y estoy mandando cualquier verdura


#8

Supongo que es una cuestión de performance, no es lo mismo procesar una plantilla de wordpress que la data de los jugadores en simultaneo constantemente.


#9

Por lo que puedo entender yo, los server que hostean juegos solo cumplen una función tipo Core donde toman los datos que se envían de cada cliente (acciones del jugador) para juntarlas con las de los demás jugadores + las del entorno propio del juego (enemigos, medio ambiente, etc) y luego así van actualizando los datos en la frame (partida).

No se si los términos son correctos ni si en verdad funciona exactamente así, pero suena re pro!

Lo que si puedo decir es que el hard de cada jugador es el encargado de procesar todo sus datos. El server solo los recibe y los coloca conjuntamente con la de los otros players para crear la partida.


#10

No reenderizan video. Normalmente es una consola desde la que se ingresan parámetros. Puede que entres al juego para moderar o espectar, pero podes verlo en 640x480 con todo al mínimo que no va a afectar la forma en que lo ven los clientes. Se prioriza microprocesador, RAM y disco.


#11

Creo que estamos metiendo alta ensalada, jaja. Y es divertido.

No sabemos si se habla de un server dedicado (sólo maneja la lógica del juego, scores, users, etc) o los servidores nuevos, que son los que manejan los servicios en donde TODO EL JUEGO se procesa de forma remota.


#12

Podes dar un ejemplo de servicio que renderice el juego así buscamos la fuente y nos tiramos la posta? jajajaja, parecemos “Hablemos sin saber”…


#13

Los argumentos de todos suenan muy convincentes.

Deberíamos armar una vaca, alquilar un server y jugarnos una partida de conter y vemos que pasa… :joy::joy::joy::joy::joy:


#14

A ver.

Servidor dedicado: Aquel donde el juego lo tenes que tener instalado en tu PC, las graficas las genera tu PC y lo unico que hace es conectar a todos los player.

Servidor de Streaming: Es como un Youtube para juegos. Lo unico que tenes es un cliente tipo STEAM pero el juego está instalado en los servers remotos, y vos cuando jugás lo unico que hacés es enviar los comandos que son procesados remotamente y devuletos a tu PC. Es como un Teamviewer de Gaming. Todo el procesamiento ocurre en esos servers, es bestial.

Ejemplos: PlaystationNow y el de Nvidia que no me acuerdo el nombre.


#15

Correcto, podes tener 2 maneras como dijo Guillermo: dedicado y lo nuevo (nuevisimo) Gaming as a Service (GaaS). Tradicionalmente se hacia como explicamos, un servidor recoge la información de los clientes y manda actualizaciones. uno de esos utilizan los clanes para jugar. Acá esta mejor explicado y los tipos de GaaS que se encuentran hoy día https://en.wikipedia.org/wiki/Cloud_gaming


#16

El tema es que la pregunta inicial deja duda y no sabemos bien cuál de las 2 son, jeje.

Entonces es por eso la confusión.


#17

Yo hablaba de servidores dedicados nomás, de los que compraban/compran los clanes para jugar al Counter Strike/Call of Duty/etc, porque me intrigaba el cómo se procesaban los gráficos, que por desconocimiento, mezclé con el GaaS (gracias @logico) de la actualidad.


#18

Opino lo mismo sin demasiadas fundamentaciones jeje, osea es lo que me imagino


#19

Al parecer ya resolvieron el dilema entre que tipo de servidores se estaba hablando jaja.
Les dejo una charla de nerdearla del año pasado que habla de un poquito sobre el networking en los FPS, lo interesante es que comenta algunas tecnicas usadas tanto del lado del servidor como del cliente para compensar el lag que existe tanto en la entrada, salida, nosotros como jugadores y la misma red. https://www.youtube.com/watch?v=dPXJgHEYfP4&t=2s

Por lo de armar un servidor para los pibes y pibas de tecnovortex. He estado probando el servidor dedicado de CSGO en un VPS de Amazon en su datacenter de Brasil y funciona bastante bien, si hay varios jugadores de CSGO podriamos jugar todos juntos y reirnos un rato. O coordinar con algun juego en especifico