6.12.2: Hardware Survey

In this forum we discuss the future of Ren'Py, both bug fixes and longer-term development. Pre-releases are announced and discussed here.
Message
Author
User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

6.12.2: Hardware Survey

#1 Post by PyTom »

One problem with improving Ren'Py is that I don't have a good idea of the hardware that it's running on. There are a bunch of decisions (especially performance-related ones) that I'm being fairly conservative on, simply because I don't know the fraction of people it would prevent from playing the game. (Most notably, there is some really cool stuff I can do with OpenGL shaders, but I don't know if a significant number of people are missing them.)

I'm considering including a component in Ren'Py that sends information back to my server about the hardware it's running on. Data I'm considering collecting consists of:

- The version of Ren'Py and the platform it is running on.
- The name of the video card manufacturer.
- The version of OpenGL and the current driver version.
- Information about the limits of the hardware (texture size, number of multitexture units, etc.)
- Information about available extensions (if known).

No information about what game is running would be sent back to the server. The server would collect the information, and store it in a database that I could then analyze. (The IP address would be sent along with the data. Although I don't plan to store it with the data, I don't want to rule out it being logged on the server I use - so I'll say I collect that too.)

Games would still run even if the computer is not connected to the internet. The hardware survey would run in a background thread, so that it wouldn't slow Ren'Py down at all.

I plan to disclose this in the LICENSE.txt and help.html files that ship with Ren'Py. Ren'Py would also log communications to and from the server, so people can see what it's sending.

Users would be able to disable the hardware survey by editing the environment.txt file before starting Ren'Py.


Commenting on this proposal: I'm worried that people might accuse Ren'Py - and games made with Ren'Py of being spyware, because it does send information about users' computers back to the server. I'm hoping by disclosing what we're doing openly, this accusation is mitigated.

At the same time, I don't want to ask for permission explicitly - largely because I think the information being collected isn't that sensitive, and because I don't want people's first impression of a Ren'Py game being "Ren'Py would like to collect information about your hardware. Is that okay?"

I suspect that after several games have been released with the survey, I'd be able to get relatively good information about the hardware people run Ren'Py on. That would help me make decisions about what hardware I can take advantage of - which would, in turn, help me to improve Ren'Py.

I think the benefits of something like this would outweigh the disadvantages - especially since information about video card hardware isn't all that sensitive. But I'd like feedback from the community before I go ahead with this - especially, information about other software that does this, and the response from its user community.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
redcat
Regular
Posts: 189
Joined: Thu Oct 30, 2008 9:30 am
Contact:

Re: 6.12.2: Hardware Survey

#2 Post by redcat »

At the same time, I don't want to ask for permission explicitly - largely because I think the information being collected isn't that sensitive, and because I don't want people's first impression of a Ren'Py game being "Ren'Py would like to collect information about your hardware. Is that okay?"
Please ... don't collect information from anyone's PC without their consent, no matter how "unimportant" the information is. Also, many people don't read the license.txt file before playing the games, and they might get panicked when their internet security software warned them about a "suspicious" data stream going out from their PC.

Anyway, I'm supporting the hardware survey.
Meowwngg...??

Adorya
Miko-Class Veteran
Posts: 541
Joined: Fri Aug 18, 2006 4:51 pm
Contact:

Re: 6.12.2: Hardware Survey

#3 Post by Adorya »

Like many android app, a pop up with a warning would be nice.

User avatar
jack_norton
Lemma-Class Veteran
Posts: 4085
Joined: Mon Jul 21, 2008 5:41 pm
Completed: Too many! See my homepage
Projects: A lot! See www.winterwolves.com
Tumblr: winterwolvesgames
Contact:

Re: 6.12.2: Hardware Survey

#4 Post by jack_norton »

I too think is better to let the user know about it, rather than doing it in the background. Probably would be enough to be clear upfront and make a build of a very popular freeware (basically any Ayu game LOL) and tell users something like "we'd like to collect info about your computer bla bla".
Otherwise another system is to have a separate small app that collect the info, called it troubleshooting something. A friend of mine did that 5-6 years ago to see how many people had working GL cards and would also display a link to the correct drivers. Being a SEPARATE app from the game, people couldn't click it accidentally or accuse anyone of being spyware, since the app was clearly made to try to help the user run the games.
The con of this system is of course that people who can run games just fine won't start it :)
follow me on Image Image Image
computer games

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: 6.12.2: Hardware Survey

#5 Post by PyTom »

I really would like every instance of Ren'Py (except those that opt out) to collect this data, as I want there to be a large amount of data to guide the decisions I make in the future. I'd think that the audiences of Kansei and Homeward are fairly different. Undead Lily would be different still, and it's not clear that information about one would tell me much about the other.

This isn't a troubleshooting tool. The idea isn't to help me to solve the problems that people are having with todays' games - it's to ensure that people running next year's games won't have problems with them. (And also, to ensure that I'm not overly conservative when it comes to hardware support, and that I don't do unnecessary work.)

I actually like the idea of an opt-in system, but I'm not sure how to make it work without ruining the atmosphere of the game. I really don't want peoples' first experience of a game to be the hardware survey opt-in screen. One idea might be to present the opt-in screen when the user enters the game menu for the first time. The downside there is that it means I won't be collecting data from games that are small enough that nobody needs to save.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
Aleema
Lemma-Class Veteran
Posts: 2677
Joined: Fri May 23, 2008 2:11 pm
Organization: happyB
Tumblr: happybackwards
Contact:

Re: 6.12.2: Hardware Survey

#6 Post by Aleema »

This is more ethics than simply finding the "solution." It's why people aren't installed with tracker chips when they're born -- that's not right. You can argue all the positives for knowing where a person is at all times, and it may even save that persons life over and over, but it's not right. Putting a tracker chip in everyone might really help the police reduce crime, but there's a larger cost to it. But we all know this. I'm not against anonymous data collection, but I always opt-out when something asks me to do it. Put a tinfoil hat on me and call me crazy. Sure.

I want to help you develop Ren'Py. Totally. 100% behind you. But this is can get ridiculous very quick. And why? For simple research purposes. When I first read your post, I thought this would be a collection of data from the Ren'Py launcher. I was down with that, and I was going to opt-in. But inside the very games that Ren'Py produces? I'm no, no, no, no. It's one thing to bother ME, it's another to ask me to bother everyone that plays my games.

I suggest this be an optional feature for the developers. If they decide they want to, they can set config.track_ur_shiat = True and then their game will ask the player if they can send anonymous whatevers. That way you can still get mass data, but not at the expense of everyone who ever builds a distribution. Do I want to see an opt-in prompt for a ten minute kinetic novel? Not really! Do I want to be tracked just because I downloaded a ten minute kinetic novel? Uh, no! The only "solutions" I can think of this is: A.) to not do it (put up a poll somewhere on your site, simply asking for people's specs), or B.) make it completely optional in every conceivable way.

Also, I don't suggest a pop-up intrusive message demanding you make one decision or another. That's a mood-killer, as you've pointed out. Something as simple as another button in the preferences screen (like the Joystick menu) seems fair. I think several games do that already: toggle it on by default making you toggle it off first. But then, those were statistics that were constantly streamed to the company. Maybe have it off by default, and then the button sends the information? Though, I doubt a lot of my players will know what Ren'Py is or care, so a more general "help us" prompt would get more clicks.

Counter Arts
Miko-Class Veteran
Posts: 649
Joined: Fri Dec 16, 2005 5:21 pm
Completed: Fading Hearts, Infinite Game Works
Projects: Don't Save the World
Organization: Sakura River
Location: Canada
Contact:

Re: 6.12.2: Hardware Survey

#7 Post by Counter Arts »

While understandable I think the fair bet would be the opt-in.

Windows might to scream at the user that <renpy program X> is trying to access the internet. So you'd get a pop-up anyways breaking the user from the experience.

I think your best bet is to test on machines with integrated graphics chipsets. That is 80% of all graphics chips from what I heard years ago. Id say test on intel graphics among other integrated graphics.

Or better yet test on this computer...

http://www.trustedreviews.com/news/usb- ... ts-only-15.

I am all for taking advantage of hardware acceleration! But I would highly recommend very simple effects like color add mode and other things that doesn't really require shaders (does it?).
I really think you can go far with a little.

If anything make the advanced shaders a renpy extension or something. Offload the shader problems stuff to developers who know how to utilize it properly.

Edit: Actually they can play around with it but the devs are the ones to understand the issues with using it.
Fading Hearts is RELEASED
http://www.sakurariver.ca

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: 6.12.2: Hardware Survey

#8 Post by PyTom »

Aleema wrote:This is more ethics than simply finding the "solution."
I agree with this, which is why I'm posting this here rather than just going ahead and implementing it without discussion.
It's why people aren't installed with tracker chips when they're born -- that's not right. You can argue all the positives for knowing where a person is at all times, and it may even save that persons life over and over, but it's not right. Putting a tracker chip in everyone might really help the police reduce crime, but there's a larger cost to it. But we all know this. I'm not against anonymous data collection, but I always opt-out when something asks me to do it. Put a tinfoil hat on me and call me crazy. Sure.
Implanting people with tracker chips is a very dramatic metaphor - but also a very inaccurate one, as the information collected won't be specific to a person in any way. A better metaphor would be collecting the weight of every car that goes over a bridge, in order to figure out if new bridges can be built better.

Probably the most accurate metaphor is with something like google analytics, which is present on many websites people visit every day - including this one. Nobody considers that sort of tracking to be overly invasive, although if we asked about it each time someone visited a site, many people would probably decline it - to the detriment of the site.
I want to help you develop Ren'Py. Totally. 100% behind you. But this is can get ridiculous very quick. And why? For simple research purposes. When I first read your post, I thought this would be a collection of data from the Ren'Py launcher. I was down with that, and I was going to opt-in. But inside the very games that Ren'Py produces? I'm no, no, no, no. It's one thing to bother ME, it's another to ask me to bother everyone that plays my games.
Collecting information about Ren'Py developers - even collecting data about people who know what Ren'Py is - isn't as useful as knowing about the computers of the other 90% of users, the ones who simply play games without being developers and so on.
Do I want to be tracked just because I downloaded a ten minute kinetic novel? Uh, no! The only "solutions" I can think of this is: A.) to not do it (put up a poll somewhere on your site, simply asking for people's specs), or B.) make it completely optional in every conceivable way.
I'm not sure that tracked is the right word. Being tracked implies that the data can be associated with a person - which this can't be.
Also, I don't suggest a pop-up intrusive message demanding you make one decision or another. That's a mood-killer, as you've pointed out. Something as simple as another button in the preferences screen (like the Joystick menu) seems fair. I think several games do that already: toggle it on by default making you toggle it off first. But then, those were statistics that were constantly streamed to the company. Maybe have it off by default, and then the button sends the information? Though, I doubt a lot of my players will know what Ren'Py is or care, so a more general "help us" prompt would get more clicks.
If other games can - without complaint - allow data to be streamed to the server by default, why can't Ren'Py? It seems to me that what I'm proposing (only sending data once, and only sending hardware data) is strictly less intrusive than what these other games do.
Counter Arts wrote:Windows might to scream at the user that <renpy program X> is trying to access the internet. So you'd get a pop-up anyways breaking the user from the experience.
It might, but isn't this a non-default setting? I believe the default for Windows firewall is to block incoming connections, but allow outgoing connections to proceed unmolested. So only people that changed these settings would see any sort of popup.
I think your best bet is to test on machines with integrated graphics chipsets. That is 80% of all graphics chips from what I heard years ago. Id say test on intel graphics among other integrated graphics.
In an ideal world where I had infinite time, money, and space, this might make sense. But even then, that wouldn't be all that useful. How may people use the i810 chipset? The GMA 945? The GMA 950? Without knowing what people are using, I have no idea what to test on. IMO, it doesn't make sense to hold Ren'Py back in order to support obsolete computers - but at the same time, right now I can only guess which computers are obsolete.

As best as I can tell, there's no survey that shows what hardware indie/casual/VN gamers are actually running. There are surveys like the one steam runs - but I seriously doubt that's relevant to us.
Or better yet test on this computer...

http://www.trustedreviews.com/news/usb- ... ts-only-15.
This is nothing like a computer anyone uses. (It's much more like a smartphone, and not a very good one by today's standards.) So that's a horrible platform to test on.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
backansi
Veteran
Posts: 224
Joined: Sun May 31, 2009 7:15 am
Location: Korea, Republic of
Contact:

Re: 6.12.2: Hardware Survey

#9 Post by backansi »

So user should edit environtment.txt file if they don't want to do it? Will it be opened automatically before starting game?

[reading post again...]
PyTom wrote: At the same time, I don't want to ask for permission explicitly - largely because I think the information being collected isn't that sensitive, and because I don't want people's first impression of a Ren'Py game being "Ren'Py would like to collect information about your hardware. Is that okay?"
Huh? Are you sure with this?
I totally agree with Aleema now. Collecting information has something to do with ethic. Every information related person is personal. That's why many programs open prompt window to ask permission about collecting information. Even if you want to use it for public interest, it can't be no exception that you can use personal information. And you want to use it without explicit agreement?

I strongly recommend that you reconsider it.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: 6.12.2: Hardware Survey

#10 Post by PyTom »

backansi wrote:Every information related [to a] person is personal.
(I've put, in square brackets, what I think you meant.)

The thing about this is that this information - describing GPU capabilities - isn't related to a person. I obviously wouldn't collect personal information about people without their consent - the question is, how acceptable is it to collect impersonal information without asking?

EDIT: An interesting precedent is the Unity Web Player, which sends the following information to their server without asking:

Code: Select all

(a) Operating system and version
(b) The make of the CPU, and number of CPUs present
(c) The graphics card type and vendor name
(d) Graphics card driver name and version (example: "nv4disp.dll 6.10.93.71")
(e) Which graphics API is in use (example: "OpenGL 2.1" or "Direct3D 9.0c")
(f) Amount of system and video RAM present
(g) Current desktop resolution
(h) Version of the Unity Web Player
(i) A number describing whether running on Mac or Windows
(j) A checksum of all the data that gets sent to verify that it did transmit correctly
From the end user license.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
backansi
Veteran
Posts: 224
Joined: Sun May 31, 2009 7:15 am
Location: Korea, Republic of
Contact:

Re: 6.12.2: Hardware Survey

#11 Post by backansi »

Well, thanks about the "grammar" thing. But you've got my import, so it's not the point.

Then I have a question. What's the reason that you don't want to ask permission to users?
Last edited by backansi on Tue May 24, 2011 12:48 pm, edited 1 time in total.

User avatar
Aleema
Lemma-Class Veteran
Posts: 2677
Joined: Fri May 23, 2008 2:11 pm
Organization: happyB
Tumblr: happybackwards
Contact:

Re: 6.12.2: Hardware Survey

#12 Post by Aleema »

Well, it seems most of your responses to me are correcting my terms and language. Sorry, I don't mean to associate this with terms with stigma or exaggerate the proposition with my language. That's not my goal with my post. I chose "implant a tracker chip when you're born" because it was an easier analogy than anything else I could think of at the time (there's a reason why the government doesn't install cameras absolutely everywhere, there's a reason cops need permission to enter your home, etc). There are certain rights people have, and that's for you to ask them for something, rather than just take it. Especially for trivial matters that aren't life and death. I can guarantee that any ordinance that allowed for bridge builders to collect data on passing cars did so by putting it to a vote, where the public/representatives of the public said that they had permission to do so.
If other games can - without complaint - allow data to be streamed to the server by default, why can't Ren'Py?
Please don't take my off-handed comment as proof to your argument. I can't provide exact examples of this, as I can only remember games that did not take data automatically. It was always togglable before I even launched or played the game. Considering how sensitive I am to game recording information about my system (you can thank my paranoid family for raising me this way), I feel as if there was at least one program that took data without asking me outright. I feel that way, because I would feel offended and remember. But I cannot say what program/game/company did this, so it may have never happened and I'm just an idiot.

And I've already stated my reasoning as to why I'm against silent data collection in every Ren'Py game: because I don't want to force my players into doing something they're uncomfortable with. It's about sneaking something I have no control over (and am uncomfortable with myself) into every single game I make with Ren'Py. You can ask me to collect data from my players, but don't just take it without asking.

It's also messy. Like mentioned before, the firewalls and anti-virus programs are going to trigger. You'd ethically (maybe even legally) have to inform the player you're recording their data, and that's going to be a problem between either preventing you from playing the game/accessing a screen until you decide one way or another (killing the mood). And all other kinds of stuff. AND WHY? These people just wanted to play a game. Games that have been, until that point, free of all this hoop-jumping.
how acceptable is it to collect impersonal information without asking?
backansi has it right. If you wanted to know how many bowls of Cheerios I ate this morning, but you never needed to know my name/brand of cereal - IT DOESN'T MATTER. That's MY business, and not YOURS. It's data about ME. It's personal. There's no way you can collect data from me that is impersonal. All of these things that ask me to send anonymous data are anonymous but they still have the obligation of telling me that they do this. What you're proposing isn't some exception to the rule or a game changer. And it's definitely something you need to look into the legality of before someone does it for you.

Edit:
PyTom wrote:EDIT: An interesting precedent is the Unity Web Player, which sends the following information to their server without asking:<snip>

From the end user license.
For one, from what I can tell that is not an engine that allows users to create and redistribute content (whereby the creator infects all consumers of their content with data collection). It is something that YOU personally have agreed to when you downloaded. You're not making a commitment to collect data on other people. I have no right to give others' rights away.

Second, the data collecting seems to be such a prominent and known feature about it that it's literally there next to the download button: http://unity3d.com/webplayer/
You can't guarantee that developers are going to alert people before they download Ren'Py based games about data collection, you can only put things into your license/EULA that people are not forced to read, unlike other installation GUI programs that force you to agree to the terms before installation. You just unzip Ren'Py games and play.

If you want to do this, I suggest you create a self-installer that requires viewing of the EULA.

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: 6.12.2: Hardware Survey

#13 Post by PyTom »

Aleema wrote:Well, it seems most of your responses to me are correcting my terms and language. Sorry, I don't mean to associate this with terms with stigma or exaggerate the proposition with my language.
The thing though, is that you did exaggerate it a bit. At the same time, so may other people. I think this is a discussion we should have.

There are certain rights people have, and that's for you to ask them for something, rather than just take it. Especially for trivial matters that aren't life and death. I can guarantee that any ordinance that allowed for bridge builders to collect data on passing cars did so by putting it to a vote, where the public/representatives of the public said that they had permission to do so.
Well, I work in the ITS industry, so I _know_ that it's considered perfectly fine to collect data about passing cars without asking. As far as I know, there's no such ordinance allowing or disallowing it - it's just considered public information.
Please don't take my off-handed comment as proof to your argument. I can't provide exact examples of this, as I can only remember games that did not take data automatically. It was always togglable before I even launched or played the game. Considering how sensitive I am to game recording information about my system (you can thank my paranoid family for raising me this way), I feel as if there was at least one program that took data without asking me outright. I feel that way, because I would feel offended and remember. But I cannot say what program/game/company did this, so it may have never happened and I'm just an idiot.
Above, I gave Unity Web Player as an example of a (widely installed) application that collects similar data, and does so without asking permission first. So it's not unprecedented. The legal implications also seem fairly minor - a notification in the license file, and a privacy policy to let people know what we plan to do with the data.
And I've already stated my reasoning as to why I'm against silent data collection in every Ren'Py game: because I don't want to force my players into doing something they're uncomfortable with. It's about sneaking something I have no control over (and am uncomfortable with myself) into every single game I make with Ren'Py. You can ask me to collect data from my players, but don't just take it without asking.
Again, there's nothing "silent" here, no "sneaking" going on. Any data collection would be disclosed in the license file, and I'm opening this up for discussion here. The question is what form the disclosure would have to take, and what effect that disclosure would have on adoption of Ren'Py and its games.
You'd ethically (maybe even legally) have to inform the player you're recording their data, and that's going to be a problem between either preventing you from playing the game/accessing a screen until you decide one way or another (killing the mood).
I dispute that this is ethically necessary for impersonal information. I think it's ethically necessary for sending personal information, but for impersonal information, a disclosure is sufficient.

Now, that doesn't mean it's a good idea. I think the question here is if the benefits to Ren'Py development would outweigh the costs of collecting this information (which may be in goodwill). A lot of that would depend on how the information Ren'Py collects compares to information that other programs collect. This sort of collection seems commonplace in the mobile world, but less so on the desktop one.
There's no way you can collect data from me that is impersonal.
Sure I can, especially when it's aggregated together. For example, I can take a photo of a crowd you're in, and then determine the average hair color of the crowd. (That could be useful if I was in the hair dye business.) I can use radar to scan cars for speed, and then use that speed information to make decisions, like if we want to use a message board to tell people to take another route. I can use javascript to determine the web browser you're using, the plugins you have installed, and the resolution of your screen.
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
PyTom
Ren'Py Creator
Posts: 16096
Joined: Mon Feb 02, 2004 10:58 am
Completed: Moonlight Walks
Projects: Ren'Py
IRC Nick: renpytom
Github: renpytom
itch: renpytom
Location: Kings Park, NY
Contact:

Re: 6.12.2: Hardware Survey

#14 Post by PyTom »

That being said, I am kind of wondering if this collection is too intrusive for a lot of people to be comfortable with.

The unity folks have a hardware survey, http://unity3d.com/webplayer/hardware-stats , that could help me figure out what I need to do. It's missing important information - like driver versions - but I might be able to make due, in general.

I would like to collect information from people who are running Ren'Py in degraded modes. That should be rare enough that most people won't see it, and it would help me to understand how often (and why) Ren'Py is running in degraded mode.

The downside is that I wouldn't get information about successful runs. And I kinda worry that would tend to bias where I put my efforts - maybe I could have it prompt for some fraction of successful runs, and then I could just multiply things out?
Supporting creators since 2004
(When was the last time you backed up your game?)
"Do good work." - Virgil Ivan "Gus" Grissom
Software > Drama • https://www.patreon.com/renpytom

User avatar
backansi
Veteran
Posts: 224
Joined: Sun May 31, 2009 7:15 am
Location: Korea, Republic of
Contact:

Re: 6.12.2: Hardware Survey

#15 Post by backansi »

So there's no answer on my question?
Anyway if it is used for someone's interest - in this case, making better version of renpy, but it's not related with players' interest - without "explicit" permission, people wil definitely hate that. Because they think that they are taken in.
Even with explicit permission people definitely feel awkward when playing Ren'Py game. I feel it too even I've read your posts.
Then how can I make a game with Ren'Py and release that game?

Post Reply

Who is online

Users browsing this forum: No registered users