From: sbkelley Date: Mon, 1 Jun 2026 18:51:12 +0000 (-0400) Subject: Update readme for more-current information. X-Git-Tag: v1.6.1-roc-dev~6^2 X-Git-Url: https://skyeroc.xyz/gitweb/?a=commitdiff_plain;h=631627a5f13187cf56abd48a88d1e5b7179d3c39;p=dgamelaunch Update readme for more-current information. --- diff --git a/README.md b/README.md index 8343186..32f849f 100644 --- a/README.md +++ b/README.md @@ -1,182 +1,15 @@ -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