FreeOrion

Forums for the FreeOrion project
It is currently Mon Dec 11, 2017 4:56 pm

All times are UTC


Forum rules


Always mention the exact version of FreeOrion you are testing.

When reporting an issue regarding the AI, if possible provide the relevant AI log file and a save game file that demonstrates the issue.



Post new topic Reply to topic  [ 28 posts ]  Go to page Previous  1, 2
Author Message
 Post subject: Re: start up blues
PostPosted: Sat Aug 13, 2016 5:35 pm 
Offline
Psionic Snowflake

Joined: Wed Aug 26, 2015 6:15 pm
Posts: 498
EricF wrote:
No excuse. I play a dozen multi player multi AI games and none of them require this model.
This is a bad habit that MUST be discouraged.
Your game is only secure because it is so rarely used.
If this model becomes commen then script kiddies will take notice.

What model can you use for a distributed player system? Understand that they aren't talking about "hot seat" one at a time player using the same computer, but multiple computers on the internet.


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Sat Aug 13, 2016 6:00 pm 
Offline
Creative Contributor
User avatar

Joined: Fri Jun 28, 2013 11:45 pm
Posts: 3286
Yeah, I would love to see what multiplayer games supposedly don't use a client/server model, I'd be fascinated to learn how they do it.

_________________
Mat Bowles

Any code or patches in anything posted here is released under the CC and GPL licences in use for the FO project.


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Sat Aug 13, 2016 7:50 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4285
Location: Sol III
godel wrote:
I might not have been asking the correct question.
The program can connect via the button that has the address of this forum to the computer.
That button is available before starting the game.
Oh, I assume you're talking about the "Open freoorion.org" button on the main menu, correct?
Quote:
It can not start up.
Ok, still a bit confused. What cannot start up? Taking into account what you said in your previous post, connecting to the forum works, but playing a game does not work. So what you want to know is, why can you connect to the forum using the button on the main menu, but can't play a game because something on your system blocks FO from connecting - is that right?

Assuming I guessed right: The reason is that these are two completely different things. The "Open freeorion.org" button on the main menu doesn't actually try to connect to anything, instead it tries to launch your systems default web browser and tells it to open the FO forum. So the program doing the actual connecting to the internet to access the forum web page is the web browser application, not FO. This apparently works. However, when you're launching a new game, FO launches a server process and subsequently tries to connect to it, so it is the FO application itself that does the connecting here, which apparently fails.

There are two possible reasons for this different behaviour: First, whatever blocks FO on your system knows your web browser as a program that is allowed to establish network connections, while FO is not. Or this program that blocks FO allows connections via the ports used for accessing the web (80&443), but blocks the one FO uses. In both cases accessing the forum works, but starting the game does not.

Figuring out what exactly it is on your system that does the blocking is essential here. However, we can offer only very limited help with that without having access to your system, unfortunately.


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Sat Aug 13, 2016 7:52 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4285
Location: Sol III
godel wrote:
I just reset my router, power cycled then poked that button.
Your router shouldn't have anything to do with you not being able to start a game on your computer (unless you try to connect to a multiplayer game via internet).
Quote:
Just reset windows firewall. I got a message, different message, but tried to allow permission for everything.

Still no go.
What happens if you deactivate Windows firewall completely?


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Sat Aug 13, 2016 8:31 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4285
Location: Sol III
EricF wrote:
No excuse. I play a dozen multi player multi AI games and none of them require this model.
Ok, now I'm confused. What kind of "multiplayer" exactly are you talking about? Hotseat (meaning all human players taking turns one after another on the same machine), like defaultuser mentioned? That's the only kind of multiplayer setup that possibly can work without some kind of client/server model.

Otherwise, if you're talking what nowadays is considered standard multiplayer (which is each human player connects to the game on their own computer, taking turns simultaneously), I'm really curious now: What games are you talking about and what model do they use (opposed to our client/server one)? Because all multiplayer games I know use a client/server model...
Quote:
Your game is only secure because it is so rarely used.
If this model becomes commen then script kiddies will take notice.
Script kiddies can only attack servers that are more or less constantly online. The FO server component is not intended to be such kind of server. It only listens to connections when you start (or resume) a game, so it's should only be vulnerable during a short time window (AFAIK, someone correct me please if I'm wrong).

Now, trying to play FO with some friends sitting together in a cafe using the local public WLAN might be a bit risky, and if you're concerned about security you probably should not do that.

Otherwise I don't know what exactly about FO's client/server model you're so concerned about regarding security.


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Sat Aug 13, 2016 9:26 pm 
Offline
Release Manager, Design
User avatar

Joined: Wed Nov 16, 2011 12:56 pm
Posts: 4285
Location: Sol III
godel wrote:
Could you put in an option to change the ports?
Not sure if that can already be configured somewhere/somehow. But to be sure, please open a github issue. That's definitely something that's needs to be configurable.
Quote:
Or change whatever identifier the util is looking for?
I'm afraid there is nothing we can do about what I think you want to say here. I don't think whatever blocks FO on your system is looking for a particular "identifier"...


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Sun Aug 14, 2016 3:05 pm 
Offline
Dyson Forest

Joined: Tue Mar 24, 2015 12:58 am
Posts: 206
Thanks for the kind and expert words.
I do not know how to open a github issue.


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Sun Aug 14, 2016 7:21 pm 
Offline
Psionic Snowflake

Joined: Wed Aug 26, 2015 6:15 pm
Posts: 498
Vezzra wrote:
EricF wrote:
No excuse. I play a dozen multi player multi AI games and none of them require this model.
Ok, now I'm confused. What kind of "multiplayer" exactly are you talking about? Hotseat (meaning all human players taking turns one after another on the same machine), like defaultuser mentioned? That's the only kind of multiplayer setup that possibly can work without some kind of client/server model.

There could certainly be a different system for single-player mode, as all you need is an inter-process communication method. However, that would be in addition to, not in place of, the current port-based client/server. That adds complexity.

I'm not all that convinced that a system using localhost is somehow vulnerable from the outside. Naturally if someone puts out a hacked version of the game code, that could be problem. However, there's no end of exploits that could happen in that case.

I would never play multi-player with people I didn't know and trust.


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Wed Aug 17, 2016 5:35 am 
Offline
Programmer

Joined: Sun Feb 14, 2016 12:08 am
Posts: 359
godel, do the instructions here help at all?


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Wed Aug 17, 2016 5:46 am 
Offline
Programmer
User avatar

Joined: Fri Mar 01, 2013 9:52 am
Posts: 1040
Location: Germany
defaultuser wrote:
There could certainly be a different system for single-player mode, as all you need is an inter-process communication method.


An IPC like the local network stack? This whole discussion is superfluous.

defaultuser wrote:
However, that would be in addition to, not in place of, the current port-based client/server. That adds complexity.


That's right and therefor any parallel IPC implementation won't happen.

defaultuser wrote:
I'm not all that convinced that a system using localhost is somehow vulnerable from the outside.


It isn't, as any localhost network traffic will be handled inside the OS and will never even hit the NIC.


However by default freeoriond seems to listen to INADDR_ANY, which is most probably the cause for triggering one of the firewall rules (and for displaying the 'do you want to connect' system popup).

_________________
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Wed Aug 17, 2016 1:52 pm 
Offline
Dyson Forest

Joined: Tue Mar 24, 2015 12:58 am
Posts: 206
The nice people at the Gitwhatever helped me out with a link to my antivirus port control area.
I can play again!


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Wed Aug 17, 2016 3:59 pm 
Offline
Space Squid
User avatar

Joined: Wed May 29, 2013 6:48 pm
Posts: 67
As i get it (very simple and probably wrong :)), when you hit start game FO do this:
- starts "new" program FO server in background. Server creates game, planets, have all game rules and everything. It is the game itself.
- starts client program who then connects to server and say "hi i am biza i want to play this game"
- starts client program for every AI player with same message
- for this message to go between 2 programs it needs open port on witch server listens for messages. If you play only single player then you do not need to open ports on router for incoming messages from internet, you must only allow messages within your windows system. (localhost)
- when server receives client message it answers "OK, play if you want. You have colony ship on planet xxx with population 12, your production is....". And client program then all that data present on screen for you.
- then after end turn is clicked client says to server "Im done, i want to send scout ship to explore, start producing new frigate, research...."
- then server calculates all received messages from all players by the rules. Human or AI to server is the same, he dont know the difference. And after all calculation is done he sends to all players messages about new situation. Process is repeating until end game.

With this system you can play single player, LAN or internet multiplayer and it works the same, no need for double code for single player or multiplayer games, it is all multiplayer to FO server :)

I hope my view on this is not too wrong :) and it can help you to better understand how modern multiplayer games works.

Cheers!

Edit: only difference between turn based and eg. FPS games is that turn based communicate to server only at end turn and FPS needs constant connection as client is non stop updating your position and moves to server and server is updating other players moves to your client. That is why your ping time to server is so important in FPS.


Top
 Profile  
 
 Post subject: Re: start up blues
PostPosted: Wed Aug 17, 2016 4:48 pm 
Offline
Programmer
User avatar

Joined: Fri Mar 01, 2013 9:52 am
Posts: 1040
Location: Germany
biza wrote:
I hope my view on this is not too wrong :) and it can help you to better understand how modern multiplayer games works.


The explanation is quite accurate actually. Well done.

biza wrote:
Edit: only difference between turn based and eg. FPS games is that turn based communicate to server only at end turn and FPS needs constant connection as client is non stop updating your position and moves to server and server is updating other players moves to your client. That is why your ping time to server is so important in FPS.


'constant connection' is a relative term for this. The 'turns' for fps are still discrete, but very small. Source (HL2, CS:S, CS:GO, TF2, …) for example uses a default 'tick' rate of 15ms to simulate and send 'snapshots' of the world to each client. The client does the same for the user input. The continuous display and input interpretation is something done on client and server side by interpolating between those snapshots.

_________________
Resident code gremlin
Attached patches are released under GPL 2.0 or later.
Git author: Marcel Metz


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group