Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Tutto e di + - Una domanda sui server
Forum - Tutto e di + - Una domanda sui server

Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2306
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 8:40
Venerdì, 24/04/2015
Ieri discutendo con una persona su un forum del mio progetto.
Si parla di una cosa abbastanza importante riguardo al server.

L'utente mi ha detto che erano nati molti progetti simili
ma erano stati abbandonati perché c'erano problemi per il server
che da lag nella gestione di tutto.

Quindi questa cosa mi ha messo un pò il dubbio.
e magari voi riuscite a farmi passare il dubbio o consigliarmi qualcosa di diverso.

1) Avevo creato un server in C# con socket divisi per thread.

2) In secondo momento ho deciso di fare un WebServer.
    Ovvero posizione su un host qualsiasi file php e script che fungono come
    fosse un già un server. Solo che viene interpellato tramite pagine php
    

un socket del client interpella una pagina php che gli restituisce ciò che vuole sapere
(Esempio: Posizione degli altri player, Oggetti ecc. ecc.)
Però non sò come funzionerebbe la cosa con una cinquantina di giocatori attivi.

E se conviene utilizzare di più il server in C# o un semplice socket che interpella pagine php
da un host in modo di averlo sempre up 24h/7gg

Anche se penso che avere direttamente un server in C# è molto più elegante.
ma per quella stragrande maggioranza di utenti che non hanno un hosting per ospitare il server
sarebbe un problema. E per altri, dover utilizzare Hamachi o altre diavolerie simili.


Noto che:

Provo a spulciare in giro ed informarmi su questo argomento e scopro che:
nel 2015 a dietro max anno 2000

Molti giochi famosi utilizzano più di un server. ed ogni server può ospitare al max 30 utenti.

http://strategy.jediknight.net/jka/images/servers.jpg

Questo per non appesantire tutti i processi che il server esegue. (almeno credo)
E molti di questi esempio scrvino:  

Server Alpha
Server Beta
Server Delta





Invece, Essendo un vecchio assiduo giocatore di un famoso MMORpg chiamato Rangarok.
Ho messo mano in passato diverse volte al codice sorgente per fare alcune cosette.

Scopro che questo tipo di gioco ha con sé 3 server.

1 per gestire i login
1 per gestire i l'inventario, oggetti, ecc. ecc.
1 per gestire le posizioni dei player.

Scritto in C.


Ma qui si parla di numeri veramente ma veramente alti

http://i41.tinypic.com/35aqjnp.jpg

anche se non credo che un gioco scritto con il mio tool rpg possa arrivare a quei livelli di utenza.

NB: ( 710 Players Connected )

http://i560.photobucket.com/albums/ss41/Scarlet__2009/Test ...




La domanda è:
Quanto può implicare il fatto che un server possa essere scritto in un codice nativo e l'altro managed ma
più o meno con le stesse funzioni?

Quale metodo e che tipo di server dovrei utilizzare nella lista scritta?

Magari qualcuno di voi avrà già affrontato un qualcosa di simile in passato
e potrà darmi consigli utili.

Ultima modifica effettuata da Thejuster il 24/04/2015 alle 8:49


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
HeDo (Founder Member)
Guru^2


Messaggi: 2765
Iscritto: 21/09/2007

Segnala al moderatore
Postato alle 9:26
Venerdì, 24/04/2015

Implementare un server di gioco in PHP può andare bene solo per un gioco a turni, tipo un gioco di carte. Se non fai uso di tecnologie come le websocket sei molto limitato dall'overhead che l'HTTP aggiunge ai "pacchetti" di gioco.

Tutti i giochi hanno implementazioni custom in TCP o, se FPS, in UDP.  Se vuoi avere buone performances e riuscire a tenere online diverse decine di giocatori RPG devi stare alla larga da HTTP :)

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2306
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 13:21
Venerdì, 24/04/2015
Grazie hedo per le delucidazioni.

E se usassi come dissi a Piero tempo fa.
(E un idea stupida ma potrebbe essere molto ingegnosa.)
Usare un server IRC come scambio dati.
Ogni chan equivale ad una mappa gli utenti connessi al chan = utenti visibili nella mappa.
Messaggi pubblici in chan
E privati come qury.
Cosa ne pensi?


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
dnha (Member)
Pro


Messaggi: 137
Iscritto: 24/07/2014

Segnala al moderatore
Postato alle 21:07
Venerdì, 24/04/2015
In pratica proponi di effettuare un Tunnelling...
Sembra un idea carina :)
Comunque io, personalmente, userei TCP o UDP

PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2306
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 21:29
Venerdì, 24/04/2015
Si il fatto d che in c# non ho problemi nel farlo.
Ma il problema sta nel farlo in c++

Ho già creato la base server client.

Invia,ricevi,rispondi,chiudi.

Solo che poi mi sono fermato perche non riesco a farlo a thread separati.


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote
Avatar
Thejuster (Admin)
Guru^2


Messaggi: 2306
Iscritto: 04/05/2008

Segnala al moderatore
Postato alle 14:45
Mercoledì, 29/04/2015
Volevo togliermi un'altro dubbio anche se sò la risposta quale sarà voglio accertarmene

Sono indeciso se fare un server in C++ con l'uso delle librerie Qt o con C#

(Qt perche farlo direttamente in nativo ci ho rinunciato. meglio avere un framework molto simile al net che nulla)

Anche in termini di prestazioni cosa consigliate?


https://mire.forumfree.it/ - Mire Engine
C# UI Designer
PM Quote