-
Notifications
You must be signed in to change notification settings - Fork 38
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Create support for "federation" #129
Comments
Regarding special stuff like say KICK - servers only relay that if it was allowed command for its user. That means that admins from each of the servers have power over all people not just people on their own server. |
why don't you contribute to the "official" server? |
Well just look what I done to uberserver, i removed like 50% of it including all DB access and instead made it use json services to ZK ... Those sorts of things.. |
i saw what you did, but i don't see a reasonable goal. fixes/improvements can't be exchanged any more at some point... this is a fork. for what you write, i suggest to use melbot. as you removed encryption stuff i don't see any acceptable channel to communicate between servers. |
the user creation/changes/db has be shared as well, else you can write some melbot-like thing, too. |
i don't see this happen in uberserver without encryption / shared account db. |
rephrased in #130 |
also, what feature doesn't uberserver have, so you need "add features faster" ? |
Mainly optimization for 7000 people, better banning, no lobbyid duplicities, metadata (what nightwatch does in #extensions channel). |
Why do you think encryption is needed?
And btw i had to use pre-crypto uberserver because later multiplexer.py does not work on windows (you removed non-linux code from it) |
btw: pull requests / fixes are welcome to readd windows support |
|
|
If something that was never in use is a must have and its useless to
|
Zero-K is now moving to its own fork of uberserver (to address some pains it has and add features faster).
It would be nice if those servers could be connect over common subset of protocol.
Goal is to have shared set of games and if possible also shared chat channels (dont have to be all and can be treated as special case).
It could work like this:
server B opens connection to server A and relays subset of commands in common format to A. A does the same for B. All data contain (server local) account ID.
Server pushes this to its own data processing as "fake clients" based on account ID supported.
There is no need to relay server-> client communication because each server has its own (identical) logic to do that. All thats needed is client-> server direction. So any commands destined for "remote" users from other server can be skipped because other serve does that.
Example
client 1 sends LOGIN to A
A verifies login and fetches its own local account ID
A relays LOGIN command to B (prepended with account ID)
B trusts A so it creates temp account if there is no direct login/password match - or reuses existing DB user.
A already knows about all players, battles and channels logged to B so it can decide to send ADDUSER for all those people and add battles from them.
When client 1 sends more data to A that is in the common subset, it gets relayed to B prepended with account ID, B then pushes it to its own processing using "fake client" located by account ID.
The text was updated successfully, but these errors were encountered: