Skip to content
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

networking support #66

Open
meltzow opened this issue May 16, 2015 · 10 comments
Open

networking support #66

meltzow opened this issue May 16, 2015 · 10 comments
Assignees

Comments

@meltzow
Copy link
Collaborator

meltzow commented May 16, 2015

I created a branch named "networking" in my own repository for that.
First step should be, is to create a server client architecture with onboard JME networking (see http://wiki.jmonkeyengine.org/doku.php/jme3:advanced:networking ). The client logged into the server and create events of all needed thing. The server only reports the events.
In next step, another second client can connect to the server. The clients are "talking" (with events) to each other to synchronize your games.

@meltzow meltzow self-assigned this May 16, 2015
@methusalah
Copy link
Owner

I have no experience in that, but I'm wondering : the server should
manage interaction between players, doesn't it?

For exemple, the A-player's unit send an attack event to the server, and
the server create and send a damage taken event to B-player.

It seems necessary to me to prevent crash from lags or wild disconnections,
and of course cheating. But it's confuse to me and I could use some more
info ☺

Le sam. 16 mai 2015 10:19, Mario Meltzow [email protected] a
écrit :

I created a branch named "networking" in my own repository for that.
First step should be, is to create a server client architecture with
onboard JME networking (see
http://wiki.jmonkeyengine.org/doku.php/jme3:advanced:networking ). The
client logged into the server and create events of all needed thing. The
server only reports the events.
In next step, another second client can connect to the server. The clients
are "talking" (with events) to each other to synchronize your games.


Reply to this email directly or view it on GitHub
#66.

@meltzow
Copy link
Collaborator Author

meltzow commented May 16, 2015

Yes, you are right, the server must rule the game. Thats one of the reason for #62 . I have some experience for that. I will take a smooth refactoring for that.

@meltzow
Copy link
Collaborator Author

meltzow commented May 17, 2015

@methusalah should we have a central server, where the clients can logged in? It will be easier as starting the server on localhost everytime you want to play. Starting the server local should be a alternative.

@poVoq
Copy link

poVoq commented May 18, 2015

Many games even run a local server when they in fact start an single-player game. I think this is a good way to do it as it treats multiplayer first and stuff like cooperative campaigns etc. will always work out of the box and not require hacking the singleplayer only code.

@meltzow
Copy link
Collaborator Author

meltzow commented May 18, 2015

absolutely. That's the current plan. Thx for comment.

@meltzow
Copy link
Collaborator Author

meltzow commented Jun 25, 2015

@poVoq
Copy link

poVoq commented Jun 25, 2015

Hmm, does it have to be written in Java? I guess... otherwise there would be also Raknet:
https://github.com/OculusVR/RakNet

@meltzow
Copy link
Collaborator Author

meltzow commented Jun 25, 2015

Yes its in Java. I must inspect the feactures.
But RakNet is written in C++. Why we should use it?

@meltzow
Copy link
Collaborator Author

meltzow commented Jun 25, 2015

Just if you are interested to know: https://github.com/EsotericSoftware/kryonet is also looking good. But none of them have realized tickrate support (like here described https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking )

@poVoq
Copy link

poVoq commented Jun 28, 2015

Raknet is a very fully featured networking middleware used by several commercial games and which was only recently acquired and open-sourced by OcculusVR. So going by those credentials it should be one of the best options if java is not a strict requirement.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants