]> skyeroc.xyz Git - dgamelaunch/commitdiff
Update readme for more-current information.
authorsbkelley <sb24kelley@gmail.com>
Mon, 1 Jun 2026 18:51:12 +0000 (14:51 -0400)
committersbkelley <sb24kelley@gmail.com>
Mon, 1 Jun 2026 20:43:59 +0000 (16:43 -0400)
README.md

index 8343186372b159b8fefe8440342029d1f56e8d40..32f849fa6bcc5d232c711031949b769548ea2fa8 100644 (file)
--- a/README.md
+++ b/README.md
-See far below for step by step usage!
+The main feature of the master branch of this fork is install-dgl-nh500, which does what it says on the tin.
+It will fetch, compile, and install nethack 5.0.0, and do the same for DGL (although it is already fetched
+by the time you're using the script), and put them into a chroot of your choosing.
 
-This repository is a fork of Crawl's version of dgamelaunch[^dgl-crawl], which
-was forked from Paxed's dgamlaunch after January 29th, 2011[^dgl-paxed-2011].
-Work by Paxed continued[^dgl-paxed] after Crawl's fork; this fork has been
-patched to merge the two versions.
-
-```
-Diagram -- paxed branch won't be reflected correctly in git history
-    [   BRANCH   ]
-    [CRAWL][PAXED]
-
-    3d0812c             paxed committed on Jan 29, 2011
-        |\
-        |  \
-    08e687f  \          greensnark committed on Mar 22, 2011
-        |      \
-        |       |
-        .   3405bcf     paxed committed on Mar 26, 2011
-        .       .       
-(more commits truncated)
-        .       .
-        .   55bd7dc     paxed committed on May 11, 2019
-        |       |
-        |       .
-    455308b     |       aidanholm committed on Mar 7, 2020
-        |       .    
-        .       .
-(crawl branch forked)
-        .       .
-        |       |     
-    a81b934     .       zalethon committed on May 22, 2026
-        |      /       
-        .    .
-(paxed branch manually merged in)
-        .  .
-        |.
-    7c45d5a             zalethon committed on May 24, 2026
-```
+autoconf branch is for making dgl's configure/makefile stuff work, without having to use these bash scripts
+people have written over the years.
 
+I'm pretty interested in the history of this program -- so much so that I went through pains trying to make
+sure I was forking a version of the repository that contained accurate commit hashes -- crawl's fork has
+somehow mangled them such that its history appears entirely-unrelated to git.
 
-For history's sake, and in case you're running into trouble and need more
-threads to pull, check out also the original READMEs from each other
-repository: [paxed's readme](README-paxed) and [crawl's readme](README-crawl)
-
-Other than that, the primary feature here is `install-dgl-nh500`, which is a
-drop-in replacement script for `install-dgl-chroot`.
-
-`install-dgl-nh500` It automates installation of NetHack inside a dgamelaunch
-chroot.
-
-[^dgl-crawl]: https://github.com/crawl/dgamelaunch/commit/455308b96fa7522c8c9873653401b4e0cf8f71e4
-[^dgl-paxed-2011]: https://github.com/paxed/dgamelaunch/commit/3d0812cc3c78f713ec244f64d67c922d66dd46f3
-[^dgl-paxed]: https://github.com/paxed/dgamelaunch/commit/55bd7dce01db17356b05da966595ff1ae6097e60
-
-# TODO
-* Fixing the makefiles so that we don't have to use eldritch bash scripts to
-    install stuff
-* reading through Paxed's TODOs, importing ones from crawl, incorporating
-    issues below
-
-## Issues
-(from Paxed's repository; some may have been addressed by crawl team already)
-### Security
-* [Blank password bypasses certain passwords #20](https://github.com/paxed/dgamelaunch/issues/20)
-* [dgamelaunch vulnerable to pass-the-hash attack #10](https://github.com/paxed/dgamelaunch/issues/10)
-    This one was most likely addressed by crawl's team -- I avoided clobbering
-    any changes they made to password infrastructure... if not, a pull request
-    exists in paxed's repository which proposes to resolve the issue.
-* [dgamelaunch binary should not be in chroot](https://github.com/paxed/dgamelaunch/issues/1)
-    I mean yeah probably
-### Compiling
-* [Does not build with newer Versions of flex #4](https://github.com/paxed/dgamelaunch/issues/4)
-* [yywrap undefined #19](https://github.com/paxed/dgamelaunch/issues/19)
-    Duplicate of #4, probably
-### Suggestions
-* [suggestion - record terminal size info in ttyrec #17](https://github.com/paxed/dgamelaunch/issues/17)
-* [Allow importing NETHACKOPTIONS environment variable? #16](https://github.com/paxed/dgamelaunch/issues/16)
-
-# dgamelaunch documentation
-From paxed's excellent README
-```
-COMMANDLINE PARAMETERS
-======================
-
- -a            Ignored.
- -c            Shows error message and exits. (login shell command)
- -e            Ignored.
- -h            Ignored.
- -i user       Autologin and run the register -command hook for "user"
-               (with password "user").
- -p            Ignored.
- -q            Be quiet, suppress errors.
- -s            Show players currently playing.
- -W user:msg   Send message "msg" to all players. The message seems
-               to come from "user".
- -S            Free the shared memory block.
- -D            Show contents of the shared memory block.
-
-
-ENVIRONMENT VARIABLES
-=====================
-
- Linux telnetd allows importing the USER environment variables via telnet,
- while FreeBSD does not.  FreeBSD, on the other hand, does allow the LOGNAME
- environment variable.  Dgamelaunch will first check USER, then LOGNAME,
- for "username:password", and tries autologin if either exists.
- Dgamelaunch-specific DGLAUTH is checked before either of those.
-
-
-ERROR CODES
-===========
-
-   1   Could not terminate stale processes
-   2   Cannot chroot()
-   3   Cannot chdir()
-   4   Cannot setgroups()
-   5   Cannot setgid()
-   6   Cannot setuid()
-   7   Caught HUP
-   8   Cannot run as root: Config file has shed_user = "root"
-   9   Cannot run as root: Config file has shed_user set to UID 0 user.
-  10   Could not setup player
-  11   Cannot run as root: Config file has shed_uid = 0
-  12   Config file has an unrecognized token
-  13   Config file: Negative value not accepted
-  15   dgamelaunch called with -c (login shell command); exited
-  20   No menu defined, or no banner found for menu
-  60   Cannot create a new terminal, or no termcap files.
-  61   Cannot openpty()
-  62   Cannot open /dev/ptmx
-  65   Cannot open master ptsname
-  68   Cannot fcntl inprogress-lock
-  70   Cannot write to inprogress-lock
-  71   ftok() error for shm_key, no "dgamelaunch" file found?
-  72   ftok() error for shm_sem_key, no "dgamelaunch" file found?
-  73   shmget() error, cannot connect to shared memory
-  74   smat() error, cannot attach to shared memory
-  75   Nothing in shared memory?
-  76   sem_init() error, could not initialize shared memory
-  77   sem_wait() error
-  78   sem_post() error
-  95   Cannot fnctl lockfile
-  96   sqlite3_open() failed when checking user existence: could not open login database
-  97   sqlite3_open() failed in writefile()
-  98   sqlite3_exec() failed in writefile()
-  99   Could not open password file
- 100   Username field too long in login file
- 101   Email field too long in login file
- 102   password field too long in login file
- 103   env field too long in login file
- 104   Cannot read config file
- 105   Cannot read default config file
- 106   Cannot open lockfile or password file
- 107   fcntl failed on login database in writefile()
- 108   sqlite3_exec() failed when checking user existence.
- 109   Too many registered users. (see maxusers setting in config file)
- 110   Login failed
- 111   Two users trying to register at the same time
- 112   Error changing password: cannot have ':' in password
- 113   Error parsing configuration file
- 114   exec-command fork failed
- 115   could not read lock file in writefile()
- 116   Too many registered users. (see maxusers setting in config file)
- 117   wall error: no message to send
- 118   wall error: no players
- 119   User has a retarded terminal
- 120   wall error: message too long
- 121   wall error: "from" username is too short
- 122   Error changing password: struct "me" does not exist
- 123   chdir() failed in dgl commands.
- 140   populate_games(): Cannot open inprogress-dir
- 145   populate_games(): Inprogress-filename does not have ':' in it
- 146   populate_games(): Inprogress-filename does not have ': in it (pt. 2)
- 200   purge_stale_locks(): could not open inprogress-dir
- 201   purge_stale_locks(): inprogress-file did not have ':' in it
- 202   purge_stale_locks(): could not read inprogress-file
- 203   purge_stale_locks(): could not get inprogress-file contents
-```
+Anyway, if you know anything of the history, reach out.
 
 # install-dgl-nh500 documentation
 ```bash