Quote:
Originally Posted by JellyBitz
I never tried actually. So I'm not aware about the issues can be over there.
|
Forgot to add that all 3 gameservers read the ini correctly and also write into the LOG DB. But only one of them is putting out in these 3 lines in the debug console:
Code:
* Initializing database fetch to execute actions...
- Waiting 1min before start fetching...
- Fetching started!
Every time the server modules are started it is completely random which of the gameservers will execute functions.
Maybe some of you already tried it and have some experience running with multiple GS?
Edit: I realized it is by design
Code:
CreateMutexA(0, FALSE, "JellyBitz/vSRO-GameServer");
if (GetLastError() == ERROR_ALREADY_EXISTS)
{
// Avoid create fetch connection
return;
}
Without this part, all GS could process the records from _ExeGameServer but we would have to solve the second problem where only the first GS to grab any record would actually process it because it would no longer have the Action_Result UNKNOWN by the time the other gameservers get to it.
It might be a dumb idea but do gameservers have IDs? If yes, we could have as many tables as there are gameservers all named for example _ExeGameServer_ID and would insert desired actions into all such tables. I think it wouldn't hurt as all GS would process their respective tables but only one gameserver would return SUCCESS and execute the action because the others would return CHARNAME_NOT_FOUND.
Of course this is just an idea and there are probably better ways to solve this. I am nowhere near that level to evaluate that.