Satisfactory

Satisfactory

Ez a téma zárolásra került
Wayfinder 2020. jún. 12., 9:27
2
3
Want to see what Satisfactory is phoning home to Epic? Look here.
I'll assume you're looking here because you want to know what the Epic components of this game are phoning home to tell ol' Timmy Tencent when you play your copy of Satisfactory. I see arguments breaking out on the basis of no information so hopefully this'll help.

tl;dr Satsifactory phones home even when you launch with -NoMultiplayer. If you opt out of data collection in the options menu it stops sending data to a non-Epic metrics service ("StatHat") but still phones home to the Epic metrics service. Payloads and explanations below. I've redacted any sensitive information in the payloads and there's nothing that constitutes secret information. To be clear, this is stuff that anyone slightly knowledgeable can get with about ten minutes of work - it's sent over perfectly normal HTTPS and uses your computer's root trust store. This was not hard to get. No software reverse-engineering or license-breaking activity involved, just a little bit of very straightforward traffic interception on my own computer's network stack using an HTTPS interception proxy.

Metric collection is very common in many pieces of modern software, games included. Lots of game creators don't know the first thing about doing proper thorough metrics collection, so they usually turn the job over to software libraries made by metrics collection services. Our good friends over at Epic provide their metrics services to game creators out of the goodness of their hearts and because it's good business sense to help your game creators know what's being done with their games. That Epic also gets to see all of that sweet in-depth usage data in its raw un-aggregated, un-anonymized form is presumably a coincidental side-effect.

You should note that Coffee Stain are users of Epic's metric collection services. They don't get to look at the data your copy of Satisfactory is phoning home to Epic. Epic collects it, stores it, crunches it, and then shows whatever they want to show to Coffee Stain.

Coffee Stain have helpfully provided a -NoMultiplayer switch that disables EOS integration when you launch the game. Wonderful! It still phones home when you play with -NoMultiplayer enabled. They also provide an opt-out in the game options to not having data collected, which I checked (i.e. I opted out) before restarting the game and capturing the session. The payloads below are what was sent when I launched and played for a bit with -NoMultiplayer set AND the data collection opt-out set.

First request was a simple GET to http://ingamenews.satisfactorygame.com/other.news with User-Agent set to FactoryGame/++FactoryGame+rel-main-0.3.5-CL-124504 Windows/10.0.18363.1.256.64bit. Pretty innocuous, uses the user-agent to disclose the version of Satisfactory and your OS version. Sets a __cfduid cookie (looks like a UUID) with a fingerprint. Not very interesting.

Next, it opens an HTTPS connection to api.epicgames.dev:

GET /sdk/v1/default?platformId=WIN HTTP/1.1: This declares its user-agent to be EOS-SDK (so it's coming from Epic's components that Coffee Stain have included in Satisfactory) and sends a header marked X-Epic-Correlation-ID with a long string that would be used to correlate this with other requests (hence the name). Also includes an Authorization header that looks like a token presumably used to stop metric forgery.

GET https://api.epicgames.dev/sdk/v1/default?platformId=WIN HTTP/1.1 Host: api.epicgames.dev Accept-Encoding: deflate, gzip Accept: application/json X-Epic-Correlation-ID: EOS-<REDACTED> User-Agent: EOS-SDK/1.5.0-12496671 (Windows/10.0.18363.1.256.64bit) Satisfactory/1.0.0 X-EOS-Version: 1.5.0-12496671 Authorization: <REDACTED> Content-Length: 0

Epic's server responds with a big blob of housekeeping, presumably intended for its telemetry engine and/or multiplayer components:

HTTP/1.1 200 OK Date: Fri, 12 Jun 2020 15:26:52 GMT Content-Type: application/json Content-Length: 8212 Connection: keep-alive X-Epic-Correlation-Id: EOS-<REDACTED> Server: eos-gateway {"client":{"RateLimiter.SDKConfigClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["RequestUpdate"]},"RateLimiter.EcomClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.DataStorageClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["GetAccessLinks","CopyFile","DeleteFile","DownloadFileRedirected","UploadFileRedirected"]},"LeaderboardsClient":{"MaxUserScoresQueryUserIds":100,"MaxUserScoresQueryStats":25},"BaseService":{"HttpRetryLimit":4,"HttpRetryResponseCodes":[429,503,504]},"HTTP":{"HttpReceiveTimeout":30,"bEnableHttp":true,"HttpConnectionTimeout":60,"HttpSendTimeout":30,"MaxFlushTimeSeconds":2.0,"HttpTimeout":30},"RateLimiter.FriendClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["QueryFriends","SendFriendInvite","DeleteFriend"]},"RateLimiter.UserInfoClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.AuthClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"/Script/Engine.NetworkSettings":{"n.VerifyPeer":false},"WebSockets.LibWebSockets":{"ThreadStackSize":131072,"ThreadTargetFrameTimeInSeconds":0.0333,"ThreadMinimumSleepTimeInSeconds":0.0},"StatsClient":{"MaxQueryStatsStatNamesStrLength":1900},"RateLimiter.MetricsClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["RegisterPlayerBackendSession"]},"RateLimiter.DataStorageClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.FriendClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.AchievementsClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"LogFiles":{"PurgeLogsDays":5,"MaxLogFilesOnDisk":5,"LogTimes":"SinceStart"},"RateLimiter":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.UserInfoClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["QueryLocalUserInfo","QueryUserInfo","QueryUserInfoByDisplayName"]},"LobbyClient":{"MaxSendRetries":3,"SentMessageTimeout":5,"InitialResendDelayMs":100,"MaxConnectionRetries":3,"LobbySocketURL":"wss:/api.epicgames.dev/lobby/v1/`deploymentId/lobbies/connect","MaxResendDelayMs":2000,"InitialRetryDelaySeconds":5,"MaxRetryIntervalSeconds":15},"RateLimiter.PresenceClient":{"MessageCount":60,"TimeIntervalInSeconds":60.0},"RateLimiter.SessionsClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.PresenceClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["SendUpdate","SetPresence"]},"RateLimiter.LeaderboardsClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["QueryLeaderboardDefinitions","QueryLeaderboardRanks","QueryLeaderboardUserScores"]},"Messaging.EpicConnect":{"FailedConnectionDelayMultiplier":2.5,"ServerHeartbeatIntervalMilliseconds":0,"FailedConnectionDelayMaxSeconds":180,"FailedConnectionDelayIntervalSeconds":5,"Url":"wss://connect.epicgames.dev","ClientHeartbeatIntervalMilliseconds":30000},"MetricsClient":{"HttpRetryLimit":2},"RateLimiter.AchievementsClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["QueryDefinitions","QueryPlayerAchievements","UnlockAchievements"]},"Messaging.Stomp":{"ClientHeartbeatIntervalMs":30000,"RequestedServerHeartbeatIntervalMs":30000,"Url":"wss:/api.epicgames.dev/notifications/v1/`deploymentid`/connect"},"ConnectClient":{"MaxProductUserIdMappingsQueryUserIds":128,"MinProductUserIdMappingsUpdateTimeInSeconds":900.0},"RateLimiter.LobbyClient.Operations":{"MessageCount":100,"TimeIntervalInSeconds":60.0,"Operation":["GetLobbyById","UpdateLobby"]},"EcomClient":{"PurchaseUrl":"https://launcher-website-prod07.ol.epicgames.com/purchase","PurchaseCookieName":"EPIC_BEARER_TOKEN","PurchaseEpicIdUrl":"https://www.epicgames.com/ecom/payment/v1/purchase"},"RateLimiter.SessionsClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["UpdateSession","JoinSession","StartSession","EndSession","RegisterPlayers","SendInvite","RejectInvite","QueryInvites","FindSession","DestroySession"]},"RateLimiter.StatsClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["IngestStat","QueryStats"]},"DataStorageClient":{"AccessLinkDurationSeconds":300},"RateLimiter.AuthClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["VerifyAuth","DeletePersistentAuth","GenerateClientAuth"]},"P2PClient":{"IceServers":["stun:stun-1-nat.ol.epicgames.com:3478","stun:stun-2-nat.ol.epicgames.com:3478","turn:geo-nat.ol.epicgames.com:3478"],"P2PMinPort":7777,"P2PMaxPort":7876},"RateLimiter.LobbyClient":{"MessageCount":30,"TimeIntervalInSeconds":60.0},"RateLimiter.LeaderboardsClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"SDKAnalytics":{"BaseUrl":"https://api.epicgames.dev/telemetry/data/","DevPhase":2,"AppEnvironment":"Production","UploadType":"sdkevents"},"RateLimiter.ConnectClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.MetricsClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.StatsClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"AuthClient":{"VerifyTokenInterval":60.0,"PollExpiresIn":300,"AuthorizeEndpoint":"https://epicgames.com/id/authorize?exchange_code=`exchange_code&scope=`scope","PollInterval":5,"RefreshTokenThreshold":100.0,"bOfflineAccountToken":true},"XMPP":{"bEnabled":true,"bEnableWebsockets":true,"ThreadStackSize":131072},"Core.Log":{"LogEOS":"verbose","LogEOSMessaging":"verbose","LogEOSConnect":"verbose","LogXmpp":"verbose","LogEOSSessions":"verbose","LogEOSAuth":"verbose","LogHttpSerialization":"verbose","LogCore":"verbose","LogHttp":"warning","LogStomp":"verbose"},"UIClient":{"FriendsURL":"https://static-assets-prod.epicgames.com/game-overlay-prod/index.html"},"Messaging.XMPP":{"ReconnectionDelayJitter":1.5,"PingTimeout":30,"ReconnectionDelayBase":4.0,"ServerPort":443,"bPrivateChatFriendsOnly":true,"ReconnectionDelayMax":300.0,"ServerAddr":"wss:/xmpp-service-prod.ol.epicgames.com","PingInterval":60,"Domain":"prod.ol.epicgames.com","ReconnectionDelayBackoffExponent":2.0},"RateLimiter.SDKConfigClient":{"MessageCount":300,"TimeIntervalInSeconds":60.0},"RateLimiter.EcomClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["QueryOwnership","QueryOwnershipToken","QueryEntitlement","QueryOffer","RedeemEntitlements","Checkout"]},"RateLimiter.AuthClient.SensitiveOperations":{"MessageCount":12,"TimeIntervalInSeconds":60.0,"Operation":["GenerateUserAuth"]},"RateLimiter.ConnectClient.Operations":{"MessageCount":300,"TimeIntervalInSeconds":60.0,"Operation":["LoginAccount","CreateAccount","LinkAccount","CreateDeviceId","DeleteDeviceId","QueryExternalAccountMappings","QueryProductUserIdMappings"]}},"services":{"DataStorageService":{"BaseUrl":"https://api.epicgames.dev/datastorage"},"AccountsEpicIdService":{"BaseUrl":"https://api.epicgames.dev"},"MetricsService":{"BaseUrl":"https://metrics.ol.epicgames.com/datarouter"},"EcommerceService":{"BaseUrl":"https://ecommerceintegration-public-service-ecomprod02.ol.epicgames.com/ecommerceintegration"},"FriendEpicIdService":{"BaseUrl":"https://api.epicgames.dev/epic/friends"},"CatalogService":{"BaseUrl":"https://catalog-public-service-prod06.ol.epicgames.com/catalog"},"EOSAuthService":{"BaseUrl":"https://api.epicgames.dev"},"SessionsService":{"BaseUrl":"https://api.epicgames.dev/matchmaking"},"LobbyService":{"BaseUrl":"https://api.epicgames.dev/lobby"},"StatsAchievementsService":{"BaseUrl":"https://api.epicgames.dev/stats"},"PriceEngineService":{"BaseUrl":"https://priceengine-public-service-ecomprod01.ol.epicgames.com/priceengine"},"AccountsService":{"BaseUrl":"https://egp-idsoc-proxy-prod.ol.epicgames.com/account","RedirectUrl":"accounts.epicgames.com"},"EcommerceEpicIdService":{"BaseUrl":"https://api.epicgames.dev/epic/ecom"},"PaymentEpicIdService":{"BaseUrl":"https://api.epicgames.dev/epic/payment"},"PresenceService":{"BaseUrl":"https://api.epicgames.dev/epic/presence"},"StatsIngestService":{"BaseUrl":"https://api.epicgames.dev/ingestion/stats"},"FriendService":{"BaseUrl":"https://egp-idsoc-proxy-prod.ol.epicgames.com/friends"},"LeaderboardsService":{"BaseUrl":"https://api.epicgames.dev/leaderboards"}},"watermark":-1670283319}

That's interesting. Guess the -NoMultiplayer switch just stops Satisfactory from requiring EOS but EOS still runs, does its handshake, then (presumably) stays dormant under the hood.

(continued in next post)
< >
6175/604 megjegyzés mutatása
Vault Traveler eredeti hozzászólása:
I am not defending it, but you cannot bend the fact that you send all your precious information already while we are writing each other in this forum.

I understand people dont like that behavior, me neither but I never saw any of you writing such stuff to steam. You all acting hypocritical, there is no excuse to defend your own behavior.

So whats next are you gonna make a steam forum thread in a steam related subforum to make a fair cut? No? Why not? Oh I forgot you prefer steam. Yeah...

Also I never quoted you but still you fell personally attacked. So why?

Again, there's a difference here. I knew in advance that i would be sharing info when i opened my account to Steam. If a store, or a game, or whatever, makes a option in settings and tells you that no data would be sent, and yet it does, i think it's reasonable to be worried, or angry, or dissapointed or whatever and ask for a fix and/or a notice in the store.

There's also another point here. Imagine you make an account in a store, like Steam (or Epic, it doesn't matter) Ten you buy and download a game, and then you discover that just running that game you are sending your data to Origin, Battlenet, Uplay or any other store you have no account, you did not choose and no one told you that was going to happen.

For instance, these days Electronic Arts is making very clear that all their new games at Steam come with Origin, all their BIG (lol sorry) EULA, maybe another DRM (like Denuvo ofc) on top of Steam and Origin Auth, etc. Imagine they don't say anything, people buy and then there's a massive refund. Oh, surely there will be people that will not care, but imagine their forums, and that will probably end up in some magazines. Bad image, controversy, review-bombing, whatever.

I mean, not the same situation with CSS (and i really believe what Stefan said-that Stefan, not you lol) but just an example to argue that there's a difference between what it's discussed in this thread and your "all acting hypocritical" because no one of us wrote such stuff to Steam argument (really? you personally can asseverate that no one of us claimed never against all the data we send to Valve?)

Last 2 points: First, i don't prefer Steam, i prefer GOG. Second, you did not quoted me but you wrote after i did and all of us here that don't like this situation are in the same bag for you (hypocritical, pathethic, lemmings and monopoly fans it seems) so ofc i felt forementioned and answered to your rude words. You really felt aggraviated by us, like if it was personal to you, and i think you were rude and provocative, as i said, and that was unnecessary.

Edit: oh, and about monopolies no, i also strongly dislike that. That's what Epic does these days, using big money to buy exclusives, preventing customers to buy where they want and forcing their rules. That's a monopoly, and it's not competition, but unfair competition. Microsoft did and the EU fined them. Google did and same. Facebook, idem. Apple, idem. All fined. No, i'm not a monopoly lover, quite the contrary.
Well, the wanted to enable us to deactivate the sending of data and for some reason it didn´t work.
They will certainly fix that.
sansee eredeti hozzászólása:
As long as Steam in online mode, the so-called "bug" where the you end up in another clone won't happen. I only allow Steam to connect, not the game itself and it works just fine here also.

However, if Steam isn't running in the background you won't auto log in to Steam and that "bug" happens.

Oh, yes, because the game asks for the steamid. But i have read that the same "bug" happens with Steam offline although your account credentials and steamid are saved locally and valid for 2 weeks so the game could read the id from there (not sure about this) instead of forcing a constant online connection even if you play SP. Or, well, modify the saving function and only use the id if you are online and not link the game saves to our id :S

I guess Epic works different or it's just a CSS choice to made it that way. But well, i can play with those domains blocked, so it's good enough.
CSS LOVE that Epic $ $ $
Vault Traveler eredeti hozzászólása:
Steam already collected your data and you trust them, which is a huge mistake if they are so important to you, I am aware epic is a ♥♥♥♥♥♥ company and another data octopus like Apple or Google but honestly you guys need understand that Steam is the same.

Its just a patethic attempt from gamers to support their beloved monopol like apple lemmings defending apple or samsung owners their smartphone. WE ALL obey to some large company regardless if its steam, amazon or what ever they call themself.


Let's say for arguments sake what you wrote is correct and Steam is "just as bad". How do you go from that to it being a "patethic attempt from gamers to support their beloved monopol" that some don't want it to go to Steam and Epic and CSS? As if one isn't enough.That is quite the mental gymnastics there buddy.

* We agree to Steams rules when using Steam
* We did NOT agree to share data (that is what the opt out option is for after all) to Epic

It isn't that hard to spot the difference..
Legutóbb szerkesztette: dahoon; 2020. jún. 21., 14:31
Bat Mantis eredeti hozzászólása:
CSS has earned plenty of trust with DRG.

DRG? I have no idea what DRG is so why should it earn them any trust? Because they earned *your* trust with DRG makes no difference to anyone else but you.

Bat Mantis eredeti hozzászólása:
Its up to you if you want to trust them, but they have been very up front with DRG and Satisfactory. They don't really need to earn it from people who don't believe in them,

If you don't need to "earn trust" from those that don't believe in you there're no one left to earn trust from. What a silly statement.
Bat Mantis eredeti hozzászólása:
Why people are going out of their way to make them look bad is just plain stupid when their other game is Overwhelmingly Positive, Multiplayer, and online all the time.

So if they do something good they can never do something bad? That make no sense. Their rating on another games is also totally irrelevant. Besides saying out loud that they share data (bug or not) is not trying to make anyone look bad. It turned out that it actually wasn't totally innocent after all as proved by OP.
Legutóbb szerkesztette: dahoon; 2020. jún. 21., 14:40
dahoon eredeti hozzászólása:
Vault Traveler eredeti hozzászólása:
Steam already collected your data and you trust them, which is a huge mistake if they are so important to you, I am aware epic is a ♥♥♥♥♥♥ company and another data octopus like Apple or Google but honestly you guys need understand that Steam is the same.

Its just a patethic attempt from gamers to support their beloved monopol like apple lemmings defending apple or samsung owners their smartphone. WE ALL obey to some large company regardless if its steam, amazon or what ever they call themself.


Let's say for arguments sake what you wrote is correct and Steam is "just as bad". How do you go from that to it being a "patethic attempt from gamers to support their beloved monopol" that some don't want it to go to Steam and Epic and CSS? As if one isn't enough.That is quite the mental gymnastics there buddy.

* We agree to Steams rules when using Steam
* We did NOT agree to share data (that is what the opt out option is for after all) to Epic

It isn't that hard to spot the difference..

Problem is by using Unreal Engine Games you agree this rules. Its not transparent what UE4(and some UE3 games) use that API, I give you that but as many already stated feel free to deinstall all other UE4 games.
Legutóbb szerkesztette: Vault Traveler; 2020. jún. 21., 22:15
The question isn't about if someone's right about how the information is collected/used, it's about if they want to agree to it or not.

We have more information about what is shared, which is always good. Trying to get someone to change their opinion either way doesn't win anyone anything. Thanks to the OP. thanks to the people who gave options to people who didn't want this phoning home, and thanks to the devs for not only taking it seriously, but admitting they weren't entirely aware of this. That's the problem with any pre-packaged engine.

Nobody's going to change their mind about their privacy or their trust in the company (or moral relatavism) but it's interesting to see what, exactly, are the mechanics behind the telemetry.
BtB eredeti hozzászólása:
The question isn't about if someone's right about how the information is collected/used, it's about if they want to agree to it or not.

We have more information about what is shared, which is always good. Trying to get someone to change their opinion either way doesn't win anyone anything. Thanks to the OP. thanks to the people who gave options to people who didn't want this phoning home, and thanks to the devs for not only taking it seriously, but admitting they weren't entirely aware of this. That's the problem with any pre-packaged engine.

Nobody's going to change their mind about their privacy or their trust in the company (or moral relatavism) but it's interesting to see what, exactly, are the mechanics behind the telemetry.

Pretty much, the Information gathered and shared from the OP is pretty much to only important thing. Choose your poison.
Legutóbb szerkesztette: Vault Traveler; 2020. jún. 21., 23:22
Wow and every one said I was crazy when I was warning of this.
A dev responding to this with " I didn't know" is the worst thing I've seen in a while. Seriously you should have been silent.

I'm literally shocked and speechless.
Legutóbb szerkesztette: TyresTyco; 2020. jún. 22., 2:04
I'm sure you know every detail about everything you've ever worked with.
tomvanharmelen eredeti hozzászólása:
I'm sure you know every detail about everything you've ever worked with.

But thats not just a detail. But whatever. Expected one of you instantly gatekeep the devs. Especially you.

I dunno. From where I come from, with this lax behaviour.. I would get instantly fired if I work on a product thats open for sale.

But thats nothing new in this industry. Still bothering.

Double edit: Maybe I'm just a lil bit jealous. Such strange working culture they have there. I would like that for me tbh.
Legutóbb szerkesztette: TyresTyco; 2020. jún. 22., 2:56
It's you cherry-picking what's important and what isn't.
You have issues with the epic connectivity stuff and therefore you put emphasis on devs needing to know all there is to know about that stuff.
Someone else who cares a lot more about some other aspect of the game would get upset the devs dont know all about that stuff in particular.

You can't please everyone.
The guy acknowledged the fact that stuff isn't ideal and they're going to talk about possible ways to handle things, meaning they'll improve their knowledge about the subject regardless of the outcome.

I'm not gatekeeping anything, I'm just providing you with a more realistic view on stuff instead of your ridiculously biased outlook on this stuff.
tomvanharmelen eredeti hozzászólása:
It's you cherry-picking what's important and what isn't.
You have issues with the epic connectivity stuff and therefore you put emphasis on devs needing to know all there is to know about that stuff.
Someone else who cares a lot more about some other aspect of the game would get upset the devs dont know all about that stuff in particular.

You can't please everyone.
The guy acknowledged the fact that stuff isn't ideal and they're going to talk about possible ways to handle things, meaning they'll improve their knowledge about the subject regardless of the outcome.

I'm not gatekeeping anything, I'm just providing you with a more realistic view on stuff instead of your ridiculously biased outlook on this stuff.

You are implying I care about the whole EOS stuff. I don't

But I care about the product. When I see devs openly admit... that they or he has no idea about that. WHAT SIMPLE random user can find out.

I believe that is bothering. Software devs have to know where their software clings to.

Thats a huge no no no in my eyes. I dont care how you see that. Thats my opinion.
Legutóbb szerkesztette: TyresTyco; 2020. jún. 22., 2:59
< >
6175/604 megjegyzés mutatása
Laponként: 1530 50

Közzétéve: 2020. jún. 12., 9:27
Hozzászólások: 604