One Hour One Life Forums

a multiplayer game of parenting and civilization building

You are not logged in.

#26 2019-05-01 17:41:50

Mr.XIX
Member
From: The Netherlands
Registered: 2018-03-12
Posts: 175

Re: Custom Pictures

For easy management you could add a report button for each photo on the photo page, with options "abuse" and "modded".

When "abuse" reports stack up, you can start looking into banning a player. (player belongs to group 3)
When "modded" reports stack up, you can send an automatic e-mail to the player, asking for him to correct his settings. (player belongs to group 2)

Offline

#27 2019-05-01 18:09:29

jasonrohrer
Administrator
Registered: 2017-02-13
Posts: 4,805

Re: Custom Pictures

Well, I could also set up something where you don't get banned from the game, but simply get blocked from posting additional photos with your account.  That's easy enough.

But in general, with anything like this, the human intervention necessary is exhausting and not sustainable.  I'm not going to be checking the photo stream forever.  I'm probably not even going to be checking it next week.

The only real way to do this would be to dedicate a PC with a graphics card to sit there, 24x7 and listen for photo requests, and then have it insta-pop over to that spot on the map and grab the photo.  Take the end-user clients out of the loop.  That would ensure that all photos have official graphics, and correct zoom, etc.

Of course, this is one more thing to break, go offline, etc.

The other problem is that there are 16 servers.... would I have a separate client waiting to handle photos on each one?  Or one client that somehow got pinged and insta-connected to the necessary server?


The real-real-real way to do this would be server-side, per server.  Which would mean that servers would need to have some kind of rendering engine.  If the server doesn't have a GPU or graphical display setup (which it doesn't), then that means some kind of software compositing, which is a huge nightmare to code up (kinda like what OneTech did, but on steroids, for the whole screen, animations, etc.)

Offline

#28 2019-05-01 18:32:50

Twisted
Member
Registered: 2018-10-12
Posts: 663

Re: Custom Pictures

jasonrohrer wrote:

Well, I could also set up something where you don't get banned from the game, but simply get blocked from posting additional photos with your account.  That's easy enough.

But in general, with anything like this, the human intervention necessary is exhausting and not sustainable.  I'm not going to be checking the photo stream forever.  I'm probably not even going to be checking it next week.

The only real way to do this would be to dedicate a PC with a graphics card to sit there, 24x7 and listen for photo requests, and then have it insta-pop over to that spot on the map and grab the photo.  Take the end-user clients out of the loop.  That would ensure that all photos have official graphics, and correct zoom, etc.

Of course, this is one more thing to break, go offline, etc.

The other problem is that there are 16 servers.... would I have a separate client waiting to handle photos on each one?  Or one client that somehow got pinged and insta-connected to the necessary server?


The real-real-real way to do this would be server-side, per server.  Which would mean that servers would need to have some kind of rendering engine.  If the server doesn't have a GPU or graphical display setup (which it doesn't), then that means some kind of software compositing, which is a huge nightmare to code up (kinda like what OneTech did, but on steroids, for the whole screen, animations, etc.)


What if you only published photos every hour instead of instantly as they're taken? Would that make it easier? Photos do take time to develop in real life after all.

Offline

#29 2019-05-01 19:25:28

jasonrohrer
Administrator
Registered: 2017-02-13
Posts: 4,805

Re: Custom Pictures

The problem with report buttons, etc, is authentication on the reports.  People will spam the button just to bug me.  I'd have to force you to "log in" with your account key to report, which would be a pain.

And the hourly thing would help... but then I'd have to check them hourly!

Offline

#30 2019-05-01 20:32:38

futurebird
Member
Registered: 2019-02-20
Posts: 1,553

Re: Custom Pictures

The volume seems low so maybe start a reporting thread in the bugs forum and pin it to the top. People logged in here can post a URL to the photo and the name if it's really bothering us deeply. I'm not bothered by the, text or cat ears or even some of the sillyness, as long as the feed isn't cluttered and if no one is bothered who cares?

It's hard to get in to this forum without at least owning the game.

I expect the number of photo will fall a bit as time goes on. "violations" should be kinda rare.

Last edited by futurebird (2019-05-01 20:33:05)


---
omnem cibum costis
tantum baca, non facies opus

Offline

#31 2019-05-01 22:56:59

Twisted
Member
Registered: 2018-10-12
Posts: 663

Re: Custom Pictures

jasonrohrer wrote:

And the hourly thing would help... but then I'd have to check them hourly!


I was thinking more along the lines of having the server save any photo requests, and then generating the photos all at the same time every hour or so. Check bigserver every full hour, check other servers on every half hour.

That's just a thought, I know almost nothing about coding and this idea probably doesn't make much sense.

Offline

#32 2019-05-01 22:57:24

zed
Member
Registered: 2017-06-27
Posts: 46

Re: Custom Pictures

It shouldn't need a GPU - try "LIBGL_ALWAYS_SOFTWARE=true OneLifeApp".
Software rendering. For me, it's slow (~5fps) but graphically perfect.

Offline

#33 2019-05-02 00:45:52

jasonrohrer
Administrator
Registered: 2017-02-13
Posts: 4,805

Re: Custom Pictures

Well, still needs an x server, right?

You can't just ssh and run the game headless and have it render to an invisible graphic surface, can you?

Like, the window will need to go to SOME x server (either local or remote).

Offline

#34 2019-05-02 05:07:51

zed
Member
Registered: 2017-06-27
Posts: 46

Re: Custom Pictures

You need X, but that doesn't mean you need a head:
https://en.wikipedia.org/wiki/Xvfb

Something like this should work:
Xvfb :1337 -screen 0 1024x768x32&
export DISPLAY=:1337
OneLifeApp

Then you should be able to use the imagemagick command 'import' to take a screenshot.

Offline

#35 2019-05-02 07:24:50

BladeWoods
Member
Registered: 2018-08-11
Posts: 476

Re: Custom Pictures

Would it be good/easy to use an open source nsfw image filter (I easily found a couple exist just by googling) to prevent porn or such from being submitted?

Offline

#36 2019-05-02 13:44:34

Sukallinen
Member
Registered: 2019-04-03
Posts: 180

Re: Custom Pictures

It's Jason's game, maybe need to add some warning when launching client/connecting to server, but if nasty stuff reported to him it should be his judgement. Maybe add blanket-you may be banned for anything nasty (not just photos) ? I think there are few that would like a forever/one year ban.

Also if there is a thing to post "nasty" (image) URL's don't show that to everyone and also add bot to official discord server (block reported ones until cleared) and/or give some people there ability to check images and clear'em or ban them. Everything that needs extra hardware is strain. Send stuff to be checked by 3rd party ? Not applicable.

I know it's tough world (even one evil image may be very very bad for the game) and one cannot trust whole community to be "good", but then again waiting for hours for your photos (one or four hour delay is not at all possible, 24 hr with community help might just be) to appear isn't too nice either. I've seen no good solutions so far nor have one to offer, so keep on working community !

Offline

#37 2019-05-02 15:03:14

jasonrohrer
Administrator
Registered: 2017-02-13
Posts: 4,805

Re: Custom Pictures

Zed, do you have a remote server with root that you could test this on and report back?  If not, I could set one up for you.

The game saves its own screen shots (so you don't need imagemagick)---if you can send the game the "=" and see if that works.  If it can get a picture of its own menu screen, saved into the screenshot folder, that's at least a starting point.

(I'd have to write the protocol and stuff for the client to "listen" to the live server for photo requests, jump to that spot on the map, snap the photo, and upload it, etc.   Even more work to have it listen to multiple servers in parallel.....)

But before even thinking about that work, knowing that graphics on headless servers are possible would be important.

Offline

#38 2019-05-02 15:37:44

Chard
Moderator
Registered: 2018-03-04
Posts: 125

Re: Custom Pictures

jasonrohrer wrote:

Zed, do you have a remote server with root that you could test this on and report back?  If not, I could set one up for you.

The game saves its own screen shots (so you don't need imagemagick)---if you can send the game the "=" and see if that works.  If it can get a picture of its own menu screen, saved into the screenshot folder, that's at least a starting point.

(I'd have to write the protocol and stuff for the client to "listen" to the live server for photo requests, jump to that spot on the map, snap the photo, and upload it, etc.   Even more work to have it listen to multiple servers in parallel.....)

But before even thinking about that work, knowing that graphics on headless servers are possible would be important.

Hi Jason,

I've done Xvfb into OHOL before. I set up an automatic map pull system for sammoh over on 2HOL like a year ago now, think it's still running.
$ xvfb-run --server-args="-screen 0 1280x768x24" ./OneLife

I've also used Xvfb for other continuous integration on OpenGL based games to run graphical tests and generate artifacts to include in the CI report.

And I've done both of these things on Linode's hypervisors.

In short, it works, very definitely.

Edit: setting SDL_AUDIODRIVER=none is probably necessary for OHOL to run headless.

Offline

#39 2019-05-02 18:19:23

zed
Member
Registered: 2017-06-27
Posts: 46

Re: Custom Pictures

I just tested, and it seems to work fine. Faking input would take some work -
probably you can do it with the XTEST extension, but I didn't try. Probably
you'd want to hack the client to accept commands on stdin anyway. So for this
test I just used imagemagick 'import' to take a screenshot, as follows:

Xvfb :1337 -screen 0 1024x768x24&
DISPLAY=:1337 LIBGL_ALWAYS_SOFTWARE=true ./OneLifeApp&
DISPLAY=:1337 import -window root test.png

Result: one perfect image of the start-up menu.

Last edited by zed (2019-05-02 18:21:23)

Offline

Board footer

Powered by FluxBB