Friday Facts #139 - Wrapping up multiplayer

Regular reports on Factorio development.
linkedparadise
Burner Inserter
Burner Inserter
Posts: 8
Joined: Sat May 21, 2016 4:46 am
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by linkedparadise »

Alekthefirst wrote:
linkedparadise wrote:Hi. Sorry I don't understand well about networking. But I want to ask about something written in the blog.

1)In the next update (0.13), if we want to play multiplayer, we need to login and verified with a Factorio account (factorio.com)? Well then, will the in-game name changing function be useless?

2)About the NAT punching thing. Basically, this thing will allow players joing to a sever even when the server don't have its ports opened, like PAYDAY2, Borderlands using SteamWorks?
1) no the login is exclusively to ensure that you have a valid copy of the game, you in game username can still be set in the options menus

2) NAT is a way do circumvent a growing problem on the internet; we ran out of ip adresses a few years back, therefore not everyone can have their own. Those who do not get their own, gets put behind a NAT, which basically allows your isp to assign the same IP to many households. NAT punching makes it so you can connect to the wanted user
So then the game still using the IP method, right? Ahh, I hoped it would change to use Steamworks since my router couldn't be port forwarded.
rkfg
Long Handed Inserter
Long Handed Inserter
Posts: 62
Joined: Thu Jan 15, 2015 11:11 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by rkfg »

Hmm, why wouldn't you use HMAC instead of these hash methods? It's a well-tried standard.
User avatar
ssilk
Global Moderator
Global Moderator
Posts: 12889
Joined: Tue Apr 16, 2013 10:35 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by ssilk »

I read the blog post three times, and I must say it's very difficult to understand these pics:

Image
...

Instead I think a sequence diagram (or similar) would be more useful. Like so:


Image
Image
Cool suggestion: Eatable MOUSE-pointers.
Have you used the Advanced Search today?
Need help, question? FAQ - Wiki - Forum help
I still like small signatures...
KindDragon
Manual Inserter
Manual Inserter
Posts: 4
Joined: Fri Mar 11, 2016 11:44 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by KindDragon »

Please, please! add multiplayer mode for map generation when players appears at random location (with some sort of a radius from the center of the map) with separate starting area for each player.
Original
Burner Inserter
Burner Inserter
Posts: 17
Joined: Tue Nov 18, 2014 7:49 am
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by Original »

Didn't understand anything.
There is progress and I am happy about it.
Go Factorio!
wwdragon
Long Handed Inserter
Long Handed Inserter
Posts: 91
Joined: Sun Jun 28, 2015 12:16 am
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by wwdragon »

RackAttack wrote:
wwdragon wrote:Wait you are planning to have the game dial home to your server when it starts???
UNACCEPTABLE!

I hate it when programs try to connect without my permission.
If I'm playing single player, lan or even direct IP, it should not be connecting to your servers... not unless I specifically tell it too because I chose the secure mode checkbox in the game setup screen.
In fact, if .13 tries to dial home, I'm digitally throwing factorio in the trash.

PLease don't screw up the game, by doing this.
Did you even read the article? The server is for multiplayer matchmaking... The article even says you can matchmake on LAN without internet access, and that the old direct IP functionality will remain.
I did read it.
But it contains contrary information.

Didn't you notice that it says it requires an authorization server at the start of the game?
While at the same time stating that you don't need to login for that other service?

There should NOT be any login until I goto the multiplayer menu and select to browse in matchmaking!
Putting a required login, is the same online authorization CRAP that EA did and no one could even play!
It's also an insult, saying they are paranoid and don't even trust their customers; which is part of why I'm angry!
User avatar
HanziQ
Former Staff
Former Staff
Posts: 630
Joined: Fri Mar 27, 2015 7:07 am
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by HanziQ »

wwdragon wrote:
RackAttack wrote:
wwdragon wrote:Wait you are planning to have the game dial home to your server when it starts???
UNACCEPTABLE!

I hate it when programs try to connect without my permission.
If I'm playing single player, lan or even direct IP, it should not be connecting to your servers... not unless I specifically tell it too because I chose the secure mode checkbox in the game setup screen.
In fact, if .13 tries to dial home, I'm digitally throwing factorio in the trash.

PLease don't screw up the game, by doing this.
Did you even read the article? The server is for multiplayer matchmaking... The article even says you can matchmake on LAN without internet access, and that the old direct IP functionality will remain.
I did read it.
But it contains contrary information.

Didn't you notice that it says it requires an authorization server at the start of the game?
While at the same time stating that you don't need to login for that other service?

There should NOT be any login until I goto the multiplayer menu and select to browse in matchmaking!
Putting a required login, is the same online authorization CRAP that EA did and no one could even play!
It's also an insult, saying they are paranoid and don't even trust their customers; which is part of why I'm angry!
The usage (creating games as well as listing games) of our Multiplayer Matching Server will require user to be logged in with his Factorio username.
This is an anti-piracy change, but in a different way than AAA games do it - we don't use DRM (apart from Steam, but you can still download the game from the website) that would disallow you from playing the game, we are just hiding some of the more advanced features, that require further use of our servers, behind some walls. If you don't like it, it's very simple, stop playing.
jokey
Burner Inserter
Burner Inserter
Posts: 6
Joined: Sun May 22, 2016 6:41 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by jokey »

- Console commands for the server (also via RCON connections).
How will that RCON look like? Are there any known protocols or something?
Gully
Inserter
Inserter
Posts: 31
Joined: Mon Jan 19, 2015 10:24 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by Gully »

Klonan wrote:
Ratzap wrote:One thing I'm wondering still is how will this game finder support modded games? Will there be space for a URL or something next to the game name to let people grab whatever mods are required?
The mod portal will be used to download any required mods
That is awesome, sir. It was always a bit annoying, that when you want to quickly show your factorio to a friend, you have to do all the "mod-equilibration" and activation by hand.
User avatar
bobingabout
Smart Inserter
Smart Inserter
Posts: 7352
Joined: Fri May 09, 2014 1:01 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by bobingabout »

Klonan wrote:
Ratzap wrote:One thing I'm wondering still is how will this game finder support modded games? Will there be space for a URL or something next to the game name to let people grab whatever mods are required?
The mod portal will be used to download any required mods
what if said mod required is not on the mod portal?
Creator of Bob's mods. Expanding your gameplay since version 0.9.8.
I also have a Patreon.
CodAv
Burner Inserter
Burner Inserter
Posts: 7
Joined: Fri Apr 15, 2016 8:45 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by CodAv »

HanziQ wrote:This is an anti-piracy change, but in a different way than AAA games do it - we don't use DRM (apart from Steam, but you can still download the game from the website) that would disallow you from playing the game, we are just hiding some of the more advanced features, that require further use of our servers, behind some walls. If you don't like it, it's very simple, stop playing.
As long as the server browser, mod browser and user authentication features are fully optional and stay that way, I'm totally fine with it. But tying the multiplayer/internet game features of Factorio to your server infrastructure is actually DRM, as it limits a part of the game to the availability of your infrastructure and gives you the possibility to punish players by banning their account. Also, in case Wube ceases to exist or doesn't consider running the required infrastructure to be cost-efficient anymore (as EA did two years ago for 50+ titles), Factorio will lose an integral part, even if it's got no badass copy protection.
Jarin
Long Handed Inserter
Long Handed Inserter
Posts: 87
Joined: Thu Aug 28, 2014 8:01 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by Jarin »

Thank you so much for putting in the extra effort to deal with NAT passthrough. I've seen even some AAA publishers skip this critical step, making their games nigh-unplayable for many users.
huhn
Inserter
Inserter
Posts: 36
Joined: Fri May 06, 2016 2:27 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by huhn »

CodAv wrote:
HanziQ wrote:This is an anti-piracy change, but in a different way than AAA games do it - we don't use DRM (apart from Steam, but you can still download the game from the website) that would disallow you from playing the game, we are just hiding some of the more advanced features, that require further use of our servers, behind some walls. If you don't like it, it's very simple, stop playing.
As long as the server browser, mod browser and user authentication features are fully optional and stay that way, I'm totally fine with it. But tying the multiplayer/internet game features of Factorio to your server infrastructure is actually DRM, as it limits a part of the game to the availability of your infrastructure and gives you the possibility to punish players by banning their account. Also, in case Wube ceases to exist or doesn't consider running the required infrastructure to be cost-efficient anymore (as EA did two years ago for 50+ titles), Factorio will lose an integral part, even if it's got no badass copy protection.
but there is no alternative to this. so they either do it this way or they don't add a lobby server.

they can't add a lobby server and say do what you want with it.
a server cost money and traffic cost money.
just think about the high traffic from the mod portal to download the needed mobs just to play on a server.

playing the game without paying is one thing but playing the game and make the creator of the game pay for you is another thing...

and don't forget no one stops you from playing the game without the lobby server
CodAv
Burner Inserter
Burner Inserter
Posts: 7
Joined: Fri Apr 15, 2016 8:45 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by CodAv »

huhn wrote: but there is no alternative to this. so they either do it this way or they don't add a lobby server.
There are more possible alternatives to choose from:
  • No lobby service at all. Current state.
  • Add a lobby service, make it mandatory for joining any multiplayer game and enforce authentication via the official lobby server which is validated using SSL certificates. This would be the most restrictive solution, even forcing an internet connection when playing LAN games.
  • Same as above, but allow direct IP connections to LAN addresses. This will force the use of Hamachi or other tunneling services to play pirated copies via the internet.
  • Same as above, but keep direct IP connections. This will keep multiplayer functionality as of version 0.12.x for pirated copies.
  • Same as above, with additional auto-discovery for LAN games. This is the implementation coming in 0.13, as far as I understand.
  • Same as above, but don't require the use of the official servers and document the protocol for players who want to set up their own lobby service.
The last option will certainly remove part of the anti-piracy effect, but give players the possibility to run their own private lobby server (even inside a LAN) instead of having Factorio "phone home". Most people will still use the official lobby, so I'd prefer this as a good tradeoff between anti-piracy measures, functionality and freedom. The first two lobby options are way too restrictive IMHO.
Additionally, someone will certainly reverse-engineer the protocols used to communicate with these services and implement server software and Factorio patches to circumvent the official servers.
huhn wrote: they can't add a lobby server and say do what you want with it.
a server cost money and traffic cost money.
just think about the high traffic from the mod portal to download the needed mobs just to play on a server.
playing the game without paying is one thing but playing the game and make the creator of the game pay for you is another thing...
Requiring authentication for using their services is absolutely okay. This way, people playing with a pirated copy are limited to privately hosted lobby/mod services, thus not using resources Wube pays for.
Zeblote
Filter Inserter
Filter Inserter
Posts: 973
Joined: Fri Oct 31, 2014 11:55 am
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by Zeblote »

What's the point of a private lobby? I doubt the devs care about helping pirates play multiplayer...

The way I understood the post is that you can still host a game like now and have your friends connect to your IP (lame!) or use the global server list (obviously requires login). You can decide whether your server requires authentication for players or not.
rkfg
Long Handed Inserter
Long Handed Inserter
Posts: 62
Joined: Thu Jan 15, 2015 11:11 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by rkfg »

There's one more approach that I haven't seen anywhere, a P2P discovery system. First the client bootstraps from some hardcoded IPs (long-term servers) and then asks those serves for more nodes thus gathering all the servers. A DHT-like method could be used so that each server has a random ID and knows only about those nodes which are "close" to it in terms of XOR metric. There could be a search that allows to quickly narrow the hash-space to the servers you're interested in, you'd also be able to connect to a server by its ID even if the IP isn't static.

This would require some good amount of coding, though there are plenty of DHT implementations available, under very permissive licenses as well. It would grant the game's bright future and effectively nullify the support costs. The method may not be the fastest among all but it may be considered as an alternative to the traditional master servers.
orbitarm
Manual Inserter
Manual Inserter
Posts: 3
Joined: Thu Apr 28, 2016 3:18 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by orbitarm »

Figured I'd crosspost my Multiplayer Server request here, since the blogpost says to throw any suggestions into this thread: viewtopic.php?f=6&t=24605

MP Dedicated Server - Autosave when no players are connected

The autosave system works wonderfully for dedicated servers, but it can affect the flow of the game if the interval is set too low. By default, when all players leave, the game is paused until a player connects to the server once again.

I keep my dedicated server up and running 24/7. If the autosave interval is set too high, and the server crashes at an inopportune time, it's possible that a lot of work could be lost. An option for the server to automatically save the main save file when no players are connected would be a big help. Obviously this wouldn't help if the servers crash while players are connected, but in my case (and presumably the case of people playing with friends) where the server is paused for a good chunk of time, this option would save a lot of headaches.
Rseding91
Factorio Staff
Factorio Staff
Posts: 14309
Joined: Wed Jun 11, 2014 5:23 am
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by Rseding91 »

orbitarm wrote:Figured I'd crosspost my Multiplayer Server request here, since the blogpost says to throw any suggestions into this thread: viewtopic.php?f=6&t=24605

MP Dedicated Server - Autosave when no players are connected

The autosave system works wonderfully for dedicated servers, but it can affect the flow of the game if the interval is set too low. By default, when all players leave, the game is paused until a player connects to the server once again.

I keep my dedicated server up and running 24/7. If the autosave interval is set too high, and the server crashes at an inopportune time, it's possible that a lot of work could be lost. An option for the server to automatically save the main save file when no players are connected would be a big help. Obviously this wouldn't help if the servers crash while players are connected, but in my case (and presumably the case of people playing with friends) where the server is paused for a good chunk of time, this option would save a lot of headaches.
Reporting the crashes and having them fixed sounds like the real solution here.
If you want to get ahold of me I'm almost always on Discord.
keyboardhack
Filter Inserter
Filter Inserter
Posts: 478
Joined: Sat Aug 23, 2014 11:43 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by keyboardhack »

Rseding91 wrote:
orbitarm wrote:Figured I'd crosspost my Multiplayer Server request here, since the blogpost says to throw any suggestions into this thread: viewtopic.php?f=6&t=24605

MP Dedicated Server - Autosave when no players are connected

The autosave system works wonderfully for dedicated servers, but it can affect the flow of the game if the interval is set too low. By default, when all players leave, the game is paused until a player connects to the server once again.

I keep my dedicated server up and running 24/7. If the autosave interval is set too high, and the server crashes at an inopportune time, it's possible that a lot of work could be lost. An option for the server to automatically save the main save file when no players are connected would be a big help. Obviously this wouldn't help if the servers crash while players are connected, but in my case (and presumably the case of people playing with friends) where the server is paused for a good chunk of time, this option would save a lot of headaches.
Reporting the crashes and having them fixed sounds like the real solution here.
Can't fix a power faliure. Makes sense to save the game automatically in such cases.
Waste of bytes : P
patmo98
Inserter
Inserter
Posts: 27
Joined: Sat Mar 21, 2015 10:59 pm
Contact:

Re: Friday Facts #139 - Wrapping up multiplayer

Post by patmo98 »

Multiplayer feature requests:
*) If mods are not on the mod portal, download them from the server (or maybe the mod has a http url where it can be downloaded from in the main info file)

*) As someone else mentioned, please add a way to see which clients are slowing down the server (when the server is "lagging" because someone has too much latency)

*) Please let us "whitelist" someone on the server, letting the person with that authenticated username join a private game without need for a password.

And because I've had too many games which stop working when the publisher moves on:
*) Please let direct connect continue to work even when the Factorio auth server can't be contacted. Maybe a flag/checkbox to not require the clients to authenticate? (Yes, I know that this checkbox would make whitelisting much less useful)
Post Reply

Return to “News”