Om bij het begin te beginnen:
Een paar weken geleden heb ik (oorspronkelijk voor mezelf) een gameserver opgezet. Om precies te zijn een Mu Online server. Leuk speelgoed, en nadat de MSSQL server geinstalleerd was en alle ODBC links klaar waren kon de pret zogezegd beginnen. Al snel kwam de behoefte naar een online aanmeldforumlier, en na wat adverteren op de juiste fora zaten we al snel op een paar hondert accounts. So far, so good.
De server echter begon last te krijgen van deze load. Het is maar een oude machine (P3-500, 128mb ram, 8GB HD) en met 30, 40 users tegelijk is de grens al snel bereikt. Ik vermoed dat de problemen dan ook hier mee te maken hebben.
Sitautieschets:
De server zelf bestaat uit 8 samenwerkende programma's, die allemaal via hun eigen poort communiceren. Sommige UDP, anderen TCP, weer anderen beide. Om dit goed te laten verlopen is er voor deze specifieke machine een bepaalde reeks poorten direct opengezet (zeer onveilig, ik weet het, hier wordt nog aan gewerkt) naar internet. Het ziet er ongeveer zo uit:
Het probleem:
Kortgezegd: de verschillende programma's raken elkaar kwijt. De gameserver zelf verliest op de een of andere manier contact met de login server, waarna ik een error krijg of ik de gameserver wil stoppen, met cancel en ok optie. Beide opties zorgen er voor dat de gameserver 'kwijt' raakt: hij staat niet meer in de login server lijst, en user kunnen ook niet meer connecten.
De laatste keer dat dit gebeurde, een paar minuten geleden, was er iets vreemds aan de hand: mijn eigen PC (clients groep) verloor ook connectie met internet. Eenmaal een verdieping lager aangekomen bij de router stond daar een helder rood diag lampje te branden. De router in kwestie is een E-tech DSL / CABLE router, type RTBR03. In de handleiding staat vrij vertaald dit erover: "Als het lampje blijft branden, ondervind het apparaat een probleem. Neem contact op met uw dealer". Een stroom onderbreking later werkt'ie echter wel weer.
Vermoedelijke oorzaken:
Wat ik zelf vermoed: de gameserver loopt op z'n tenen, het zou kunnen dat bepaalde programma's TE lang op CPU tijd moeten wachten zodat er een timeout plaatsvind. Het veranderen van de prioriteit van de gameserver naar high en zelfs realtime lijkt een negatief effect gehad te hebben.
Andere opties is wellicht een kapotte switch, of netwerkproblemen die ik over het hoofd zie.
Suggesties hierover zijn zeer welkom
Een paar weken geleden heb ik (oorspronkelijk voor mezelf) een gameserver opgezet. Om precies te zijn een Mu Online server. Leuk speelgoed, en nadat de MSSQL server geinstalleerd was en alle ODBC links klaar waren kon de pret zogezegd beginnen. Al snel kwam de behoefte naar een online aanmeldforumlier, en na wat adverteren op de juiste fora zaten we al snel op een paar hondert accounts. So far, so good.
De server echter begon last te krijgen van deze load. Het is maar een oude machine (P3-500, 128mb ram, 8GB HD) en met 30, 40 users tegelijk is de grens al snel bereikt. Ik vermoed dat de problemen dan ook hier mee te maken hebben.
Sitautieschets:
De server zelf bestaat uit 8 samenwerkende programma's, die allemaal via hun eigen poort communiceren. Sommige UDP, anderen TCP, weer anderen beide. Om dit goed te laten verlopen is er voor deze specifieke machine een bepaalde reeks poorten direct opengezet (zeer onveilig, ik weet het, hier wordt nog aan gewerkt) naar internet. Het ziet er ongeveer zo uit:
code:
Waarbij er een virtuele server opgezet is en de '||' en '=' doorgemapte poorts voorstellen. 1
2
3
4
5
| Internet Overige services
| || gameserver
clients - router = loginserver
Database servers
MSSQL server |
Het probleem:
Kortgezegd: de verschillende programma's raken elkaar kwijt. De gameserver zelf verliest op de een of andere manier contact met de login server, waarna ik een error krijg of ik de gameserver wil stoppen, met cancel en ok optie. Beide opties zorgen er voor dat de gameserver 'kwijt' raakt: hij staat niet meer in de login server lijst, en user kunnen ook niet meer connecten.
De laatste keer dat dit gebeurde, een paar minuten geleden, was er iets vreemds aan de hand: mijn eigen PC (clients groep) verloor ook connectie met internet. Eenmaal een verdieping lager aangekomen bij de router stond daar een helder rood diag lampje te branden. De router in kwestie is een E-tech DSL / CABLE router, type RTBR03. In de handleiding staat vrij vertaald dit erover: "Als het lampje blijft branden, ondervind het apparaat een probleem. Neem contact op met uw dealer". Een stroom onderbreking later werkt'ie echter wel weer.
Vermoedelijke oorzaken:
Wat ik zelf vermoed: de gameserver loopt op z'n tenen, het zou kunnen dat bepaalde programma's TE lang op CPU tijd moeten wachten zodat er een timeout plaatsvind. Het veranderen van de prioriteit van de gameserver naar high en zelfs realtime lijkt een negatief effect gehad te hebben.
Andere opties is wellicht een kapotte switch, of netwerkproblemen die ik over het hoofd zie.
Suggesties hierover zijn zeer welkom