• Play Rogue in my lame server

    From Arelor@77:1/114 to All on Tue Mar 9 18:14:44 2021
    Hello!

    I have been busy porting the dgamelaunch game launcher and rogue to the OpenBSD platform. YAY!

    I have set a testing server with the software. It is a very beta thing, but so far it looks usable.

    Feel free to try to conquer the Dungeon of Doom at ssh://dgamelaunch@operationalsecurity.es (password Yendor)

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.12-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From ryan@77:1/128 to Arelor on Tue Mar 9 17:33:04 2021
    I have been busy porting the dgamelaunch game launcher and rogue to the OpenBSD platform. YAY!

    This is fun! I had a good time testing this out. Nice work.

    --- Mystic BBS v1.12 A46 2020/08/06 (Linux/64)
    * Origin: monterey bbs (77:1/128)
  • From Arelor@77:1/114 to ryan on Wed Mar 10 03:37:41 2021
    Re: Re: Play Rogue in my lame server
    By: ryan to Arelor on Tue Mar 09 2021 05:33 pm

    I have been busy porting the dgamelaunch game launcher and rogue to the OpenBSD platform. YAY!

    This is fun! I had a good time testing this out. Nice work.

    Glad you like it.

    I plan to set some other games that are hard to find in public servers because they have been replaced by newer versions. Maybe
    Moria, original Dungeon Crawl and Hack. And Rogue Clone III.

    Rogue5 is actually available at rlgallery.org (from which the code my copy uses is forked from), but their copy does not have a
    satisfactory fix for the ISRUN bug, which is why I booted my own version.

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.12-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From Arelor@77:1/114 to All on Sat Mar 13 06:27:22 2021
    Re: Play Rogue in my lame server
    By: Arelor to All on Tue Mar 09 2021 06:14 pm


    Hi there!

    Somebody at SlackBuilds noticed my patches to Rogue and they are getting imported in the appropiate Slackware package. That's awesome.

    I plan to place the software under a public CVS repository one of these days.

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.12-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From Dumas Walker@77:1/115 to ARELOR on Sun Mar 14 14:50:00 2021
    Somebody at SlackBuilds noticed my patches to Rogue and they are getting imported in the appropiate Slackware package. That's awesome.

    I plan to place the software under a public CVS repository one of these days.

    Good news on both counts!


    * SLMR 2.1a * Florida bumper sticker: DON'T SHOOT! I'M LOCAL!
    --- SBBSecho 3.12-Linux
    * Origin: capitolcityonline.net * Telnet/SSH:2022/HTTP (77:1/115)
  • From Arelor@77:1/114 to All on Tue Mar 16 04:34:45 2021
    Re: Re: Play Rogue in my lame server
    By: Arelor to ryan on Wed Mar 10 2021 03:37 am

    Well, I spent a whole afternoon trying to fix some issue with shared semaphores in dgamelaunch, only to find out that
    dgamelaunch's implementation is not supported over OpenBSD.

    My friendly fork of dgamelaunch is approaching the state in which it will be ready for a, shall we say, preview release. I
    intend to make it aware of some nice OpenBSD features (such as pledge(), which lets programs drop capabilities; and crypt_*(),
    which uses safer hashing algorithms than standard, non portable crypt()).

    At some point I will replace all the memory unsafe functions too :-P

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.12-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From fusion@77:1/911 to Arelor on Tue Mar 16 21:54:25 2021
    Somebody at SlackBuilds noticed my patches to Rogue and they are getting imported in the appropiate Slackware package. That's awesome.

    that's too funny.. i was watching that on the mailing list ;) seems other people have a thing for the old ways too. the way he made it sound it would
    be like LORD without Violet or something

    --- Mystic BBS v1.12 A47 2020/09/07 (Windows/32)
    * Origin: d i s t o r t i o n // d1st.org (77:1/911)
  • From Arelor@77:1/114 to fusion on Wed Mar 17 08:59:16 2021
    Re: Re: Play Rogue in my lame server
    By: fusion to Arelor on Tue Mar 16 2021 09:54 pm

    Somebody at SlackBuilds noticed my patches to Rogue and they are getting imported in the appropiate Slackware package. That's awesome.

    that's too funny.. i was watching that on the mailing list ;) seems other people have a thing for the old ways too. the way he made it sound it would
    be like LORD without Violet or something

    Ah, you mean the talk about dropping modern Angband versions and sticking with old ones?

    You know, these games are an anomaly. In the old days, if you released a game and then maintained it, you focused development on fixing issues and the game never stopped
    being recognizeable as itself. Doom and Doom 2 and Heretic and whatever had maintenance done on their engines throughout their lifetime (actually you can argue they are
    still maintained), but the games never ceased being identifiable as themselves. However, you take an old Angband and compare it to a new one, and it feels clearly
    distinct.

    If you don't like the differences, I think it is reasonable to feel backstabbed :-) But since these games have decades of development and they don't have a clear focused
    goal for the most part, changes you don't like are bound to happen, at which point you are better off sticking to a version you like and skipping the rest.

    In my opinion, when you bring divisive changes to the table you should spin your game off like a sequel or something :-)

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.12-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From ryan@77:1/128 to Arelor on Wed Mar 17 11:14:00 2021
    Ah, you mean the talk about dropping modern Angband versions and
    sticking with old ones?

    I actually love the RL rabbit-hole. I have a few of these games on my BBS...
    - Cataclysm Dark Days Ahead
    - Frogcomposband
    - DoomRL
    - Poschengband
    - Sil
    - Frozen Depths
    - Dungeon Crawl Stone Soup
    - Dwarf Fortress
    - Conquest
    - Mangband
    - nlarn
    - Yuxtapa

    Frankly I need to compare each of these and figure out if 1) there are any security concerns, 2) if it's possible to run multiplayer in any real way,
    and 3) what the actual tangible differences are in any of these games. :P

    On another note, some of these have a rather poor 80x24 user experience. Perhaps I can lock some down to larger terminal sizes.

    --- Mystic BBS v1.12 A46 2020/08/06 (Linux/64)
    * Origin: monterey bbs (77:1/128)
  • From Arelor@77:1/114 to ryan on Wed Mar 17 20:17:44 2021
    Re: Re: Play Rogue in my lame server
    By: ryan to Arelor on Wed Mar 17 2021 11:14 am

    Ah, you mean the talk about dropping modern Angband versions and sticking with old ones?

    I actually love the RL rabbit-hole. I have a few of these games on my BBS... - Cataclysm Dark Days Ahead
    - Frogcomposband
    - DoomRL
    - Poschengband
    - Sil
    - Frozen Depths
    - Dungeon Crawl Stone Soup
    - Dwarf Fortress
    - Conquest
    - Mangband
    - nlarn
    - Yuxtapa

    Frankly I need to compare each of these and figure out if 1) there are any security concerns, 2) if it's possible to run multiplayer in any real way, and 3) what the actual tangible differences are in any of these games. :P

    On another note, some of these have a rather poor 80x24 user experience. Perhaps I can lock some down to larger terminal sizes.

    Phantasia is suposed to have real multiplayer, but I once tried it and it is not stellar. Also not on your list.

    Mangband has real multiplayer I think. If you die you can have other player get to your mauled corpse and resurrect you, I think.

    Some of these games had actual security issues. From the top of my head, I remember seeing some security notices in DCSS's changelogs regarding vulnerabilities. So beware.

    Also, nice to see a game from the Larn family in the list :-)


    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.12-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From fusion@77:1/911 to Arelor on Thu Mar 18 06:48:40 2021
    In my opinion, when you bring divisive changes to the table you should spin your game off like a sequel or something :-)

    sounds reasonable enough ;) yeah from what i gathered everyone who chimed in agreed that if this person wanted to keep an older version in the repository rather than the newer one, he presented a good enough reason.

    maybe sometime i'll actually have to play some of these rogue-like games (not the new ones that use that moniker tho) .. i remember when i was a kid i
    tried a few and thought they were too hard lol

    --- Mystic BBS v1.12 A47 2020/09/07 (Windows/32)
    * Origin: d i s t o r t i o n // d1st.org (77:1/911)
  • From fusion@77:1/911 to ryan on Thu Mar 18 06:55:43 2021
    I actually love the RL rabbit-hole. I have a few of these games on my BBS... - Cataclysm Dark Days Ahead

    ..

    - Yuxtapa

    and just when i mention wanting to try a few out i'm presented with a nice listing ;) .. thanks!

    --- Mystic BBS v1.12 A47 2020/09/07 (Windows/32)
    * Origin: d i s t o r t i o n // d1st.org (77:1/911)
  • From ryan@77:1/128 to Arelor on Thu Mar 18 10:32:41 2021
    Phantasia is suposed to have real multiplayer, but I once tried it and
    it is not stellar. Also not on your list.

    Ah, interesting. I'll give it a look.

    Mangband has real multiplayer I think. If you die you can have other player get to your mauled corpse and resurrect you, I think.

    Didn't realize that! Considering I already have it installed, lol, I should
    dig in more here. That said, I have it installed so each player runs in an independent sandbox to avoid collision. But maybe I should research this more for this game.

    Some of these games had actual security issues. From the top of my head,
    I remember seeing some security notices in DCSS's changelogs regarding vulnerabilities. So beware.

    Yeah, my fear is that someone can access the underlying filesystem somehow,
    or break out of the game and into a shell. It's a real concern. But I can't audit these games myself so am trying to think of a better security scheme. Maybe I should host them in a docker or something.

    I also just installed Curse Of War, which actually does allow custom game configuration (i.e., you can set computer aggressiveness and things like
    that) as well as a multiplayer incarnation. That said, the multiplayer thing requires setting up a listener on the fly and then having a specific number
    of clients connect on the port. So, not super easy, and doubtful anyone would use it. But man it's a pretty cool game.

    Got any other recommendations to add to the list for my bbs?

    --- Mystic BBS v1.12 A46 2020/08/06 (Linux/64)
    * Origin: monterey bbs (77:1/128)
  • From Arelor@77:1/114 to fusion on Sat Apr 3 04:51:19 2021
    Re: Re: Play Rogue in my lame server
    By: fusion to Arelor on Thu Mar 18 2021 06:48 am

    In my opinion, when you bring divisive changes to the table you should spin your game off like a sequel or something :-)

    sounds reasonable enough ;) yeah from what i gathered everyone who chimed in agreed that if this person wanted to keep an older version in the repository rather than the newer one, he presented a good enough reason.

    maybe sometime i'll actually have to play some of these rogue-like games (no the new ones that use that moniker tho) .. i remember when i was a kid i tried a few and thought they were too hard lol

    They were too hard. In fact, they are not designed to be beaten.

    The Moria dev actually tried to make the game unbeatable. When somebody managed to beat it, he researched how he had done it and countered that method.

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.14-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From Arelor@77:1/114 to ryan on Sat Apr 3 04:57:52 2021
    Re: Play Rogue in my lame server
    By: ryan to Arelor on Thu Mar 18 2021 10:32 am

    Some of these games had actual security issues. From the top of my head I remember seeing some security notices in DCSS's changelogs regarding vulnerabilities. So beware.

    Yeah, my fear is that someone can access the underlying filesystem somehow, or break out of the game and into a shell. It's a real concern. But I can't audit these games myself so am trying to think of a better security scheme. Maybe I should host them in a docker or something.


    What I am doing myself is patching dgamerlaunch and Rogue V5 with some OpenBSD capabilities. Namely, pledge() and unveil() capabilities.

    If you are familiar with Linux' seccomp, the idea is similar.

    Pledge() just removes permissions for a process to perform system calls, so you can apply a bunch of pledges to your roguelike and remove its ability to use network sockets, create special device nodes, execute processes, fork, you name it.

    Unveil() removes the program's ability to acces sthe filesystem. You declare which paths the program can access and which permissions with. If your rogue game tries to access your ssh keys, it gets a permission denied error.

    Sadly, ElrinR is not adding these to his early-roguelike collection :-(

    You can replicate this functionality with AppArmor or firejail in Linux.

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.14-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From fusion@77:1/911 to Arelor on Sat Apr 3 06:58:43 2021
    on 03 Apr 2021, Arelor said...

    The Moria dev actually tried to make the game unbeatable. When somebody managed to beat it, he researched how he had done it and countered that method.

    hah. well i guess that's one way to keep people playing. reminds me of those "crackme" programs that people would release (or even just when people would request their own software be cracked.. to counter it). ends up being more of an author vs player thing.

    ever played any of the "modern" rogue-likes, like Spelunky for 2d or perhaps Eldritch (3d.. voxel style like Minecraft) ? i kinda gained renewed interest
    in a backwards way because a few of my friends were playing those.

    obviously 90% of the complexity is removed, but they still seem pretty dang difficult ;)

    --- Mystic BBS v1.12 A47 2020/09/07 (Windows/32)
    * Origin: d i s t o r t i o n // d1st.org (77:1/911)
  • From Arelor@77:1/114 to fusion on Sat Apr 3 09:30:11 2021
    Re: Re: Play Rogue in my lame server
    By: fusion to Arelor on Sat Apr 03 2021 06:58 am

    on 03 Apr 2021, Arelor said...

    The Moria dev actually tried to make the game unbeatable. When somebody managed to beat it, he researched how he had done it and countered that method.

    hah. well i guess that's one way to keep people playing. reminds me of those "crackme" programs that people would release (or even just when people would request their own software be cracked.. to counter it). ends up being more o an author vs player thing.

    ever played any of the "modern" rogue-likes, like Spelunky for 2d or perhaps Eldritch (3d.. voxel style like Minecraft) ? i kinda gained renewed interest in a backwards way because a few of my friends were playing those.

    obviously 90% of the complexity is removed, but they still seem pretty dang difficult ;)

    By "modern rogue-likes", do you mean "roguelites"?

    The only roguelite I have experienced is Dead Cells, and not that much. It is a hack-n-slash in 2d.

    If you mean actual roguelikes that are modern, the only that comes to mind is Hyperrogue. It is grid based, turn based, and features "permagameover" (in theory you don't die when you lose). It is still not really traditional. You die in 1 hit, and the world is a 2d hyperbolic plane. The game field is built around some crazy maths so there are "hyperbolic circles" whose center is infinitely far away, parallel lines that get closer to each other, and lots of phenomena that is not possible in common euclidean space.

    Link here: https://www.roguetemple.com/z/hyper/faq.php

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.14-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From ryan@77:1/128 to Arelor on Sat Apr 3 11:53:48 2021
    You can replicate this functionality with AppArmor or firejail in Linux.

    Hm, interesting. I have heard mixed reviews about firejail.

    One thing I was considering was putting each game into its own chroot sandbox and making a user account automatically for each user that tries to run a
    game within that chroot. Not sure of performance but seems like a safe
    option. I assume this would take a ton of preparation and upkeep lol.

    --- Mystic BBS v1.12 A46 2020/08/06 (Linux/64)
    * Origin: monterey bbs (77:1/128)
  • From Arelor@77:1/114 to ryan on Sat Apr 3 18:24:54 2021
    Re: Re: Play Rogue in my lame server
    By: ryan to Arelor on Sat Apr 03 2021 11:53 am

    You can replicate this functionality with AppArmor or firejail in Linux

    Hm, interesting. I have heard mixed reviews about firejail.

    One thing I was considering was putting each game into its own chroot sandbo and making a user account automatically for each user that tries to run a game within that chroot. Not sure of performance but seems like a safe option. I assume this would take a ton of preparation and upkeep lol.

    No offense, but that sounds too cumbersome an approach.

    For reference, the current architecture in my game server is as follows:

    User SSHs in->Shell chroots into a filesystem tree that holds all the games ->Shell drops privileges (now there is no easy scaping the chroot)->User uses shell to launch game->Game containerizes itself using OpenBSD system calls (now the only resources the game can leverage are the ones the game needs).

    Ther big con is you have to patch each game manually, in order for the game to containerize itself. But the approach is hard to beat.

    Most of the procedure is to be published in an incoming Linux Magazine issue btw.

    The chroot used for the whole deployment is only one. The whole thing is very compact.

    If I was doing it on linux, I would just use firejail and have the game launcher invoke firejail as to containerize each launched game. I am not a great fan of firejail but it sounds better to me than using an orchestator to launch a whole container for each user :-D

    --
    gopher://gopher.richardfalken.com/1/richardfalken
    --- SBBSecho 3.14-Linux
    * Origin: Palantir * palantirbbs.ddns.net * Pensacola, FL * (77:1/114)
  • From ryan@77:1/128 to Arelor on Sun Apr 4 11:40:50 2021
    If I was doing it on linux, I would just use firejail and have the game launcher invoke firejail as to containerize each launched game. I am not
    a great fan of firejail but it sounds better to me than using an orchestator to launch a whole container for each user :-D

    Not a bad idea. Yeah, the work of patching each game independently seems like too much overhead for me :P

    This seems like probably the best approach tbh. I'm going to explore this today.

    --- Mystic BBS v1.12 A46 2020/08/06 (Linux/64)
    * Origin: monterey bbs (77:1/128)