00:00:40 ok I see what it's about, I'll try that 00:13:37 the bind worked, thanks for pointing that out, I read it, but never worked with bind mounts before so I went with the other option, now if I can just figure out why I can't get the webserver to start 00:15:33 I can't for the life of me find any useful log information thought that explains the problem 00:26:30 bind mounts are more like symlinks done right. (if you track backwards through a symlink, you are doing so relative to where it points, not where you are --- this matters for symlinks to directories. bash tries to hide this from you, but the result can be even more confusing.) 00:39:15 is tornado supposed to be in the install instructions? 00:40:03 and I see thanks for the clarification 01:10:58 any idea what's going on here? there's no log entries: https://pastebin.com/63aLuADM 01:12:52 Huene`: that's a permissions error of some kind 01:13:05 make sure the permissions on that directory are right (i don't know what "right" means here) 01:17:24 unfortunately there was a few places in the instructions that were a bit hard to follow, so I'm not terribly certain what right means here either, I am able to run it as root, but it exits out without leaving any log info so I have no idea why it's failing 01:19:21 that is permissions, but not file permissions. the chroot system call requires superuser permissions or granting the appropriate linux capability (to the python executable, so I don;t recommend it unless you have a custom python with appropriate permissions) 01:22:37 @geekosaur, is webtiles supposed to launch as root? 01:23:07 anything in /etc/init.d is normally run as root 01:23:29 and yes, if it's doing chroot, it expects to be running as root 01:25:11 the only reason I set it up as chroot is because I didn't fully understand how dgl associated with webtiles, so I tried to follow the instructions to the letter, that said I personally would have been happier without it 01:26:52 to your knowledge does tornado write a log file other than the one that's in the webserver/run/ directory? 01:46:13 Huene`: webtiles writes to that webtiles.log (I think that's the filename) file only I think 01:46:24 the tornado library doesn't have any special logfile 01:46:38 ok so if it doesn't launch there's no way to know why? 01:52:36 Huene`: are you trying to launch it from the init.d script? 01:52:52 I recall there are various problems that can pop up, like if your config.py is bad for some reason 01:53:06 so what I'd try to do is run it not through the init.d script and see what output it has 01:53:39 you just have to run it as root or through sudo 01:53:41 I did that and it does the same thing, if root, it returns 0 without actually doing anything 01:53:53 oh, and you have to turn off daemon mode 01:54:22 it's probably failing early on 01:54:30 that might be why I can't see anything where is that daemon mode switch 01:54:33 in config.py I think there's a variable 01:54:52 k checking ty 01:55:06 yeah in config.py, set daemon = False 01:55:26 there's a line for that already, it should be set to True, so just edit that 02:00:10 what's th erecommended version of python? I'm getting two different errors depending on which I run, 2 or 3.5 02:03:47 this is however what I'm getting on 3.5 https://pastebin.com/4NtZfjf2 02:07:23 webtiles doesn't support python3 02:07:27 it's python2 only 02:11:42 ok no problem, differnet error then, I'm getting this https://pastebin.com/KwGiWNQe 02:13:24 I did adjust the bind ip, and the port is not in use 02:16:10 that error is because there's a patch you need 02:17:09 oh yup I know which one you're talking about, saw it earlier 02:27:27 gammafunk: this FeAE has been a ride and a half. i literally ate my last ration because the only thing keeping me alive was shadow creatures at max hunger bars 02:27:48 (in spider and swamp, so very few chunks) 02:28:23 i had to like, invis+haste ninja the swamp rune to get myself into vaults where i could start eating again 02:38:45 same for snake, you get only meat from anacondas and shock serpents 02:39:20 actually swamp is less of a problem, there are plenty of swamp worms, and those are "edible"? 02:40:07 yes, i got to eat a few swamp worms and spriggans and the like. but when you have to cast a spell at ####### hunger three times to win every fight, that's not enough :P 02:40:43 haha 04:26:01 -!- amalloy is now known as amalloy_ 04:31:09 -!- amalloy_ is now known as amalloy 05:43:32 -!- amalloy is now known as amalloy_ 09:58:43 hey all, i have a question regarding constriction. i just lost a really promising SpEn to Cigotuvi's monster on a stealth kill attempt that didn't do the job 09:58:43 espais: You have 1 message. Use !messages to read it. 09:58:47 http://141.210.25.156/morgue/erik/morgue-erik-20180116-142752.txt 09:59:08 the issue is that it seems like there were three or four turns that i didn't have the possibility to do anything...if i was constricted shouldn't i at least have had the option to blink? 09:59:35 all i kept getting were more... messages that i was getting pummeled, but if you look at the turn count in theory i should have at least had control to try and escape somehow 09:59:38 !messages 09:59:39 (1/1) geekosaur said (4d 6h 41m 15s ago): real ginger beer is fermented and has alcohol 10:00:17 !tell geekosaur well it seems a new realm of opportunity awaits me then :) 10:00:17 espais: OK, I'll let geekosaur know. 10:00:44 in the US you can find it in specialty stores. in Jamaica it's probably everywhere :) 10:00:44 geekosaur: You have 1 message. Use !messages to read it. 10:01:21 btw true root beer is also alcoholic. which my parents discovered the hard way after neighbors gave them a cask 10:02:27 well til 10:02:46 and im sure it's not like that awful dad's root beer 10:02:53 nope 10:04:02 but then, very little that is commercially bottled is anything like the real thing. 10:05:23 true 10:05:27 (also, proper even non-alcoholic ginger beer / ginger ale is pretty damn good. I've had the non-alcooholic Jamaican variety --- and I still miss the original Vernors from the US 10:08:48 there is some decent stuff coming out in stores at least 10:08:51 non-alcoholic 10:09:03 man i'm from michigan so vernor's is our thing here :D 10:09:37 my comment may be an age check, then. :) 10:09:48 Vernors changed a lot when it sold out and went national distribution :( 10:10:03 Cleveland was on the edge of the original regional distribution. 10:10:18 i had some vernor's the other day, it was ok but now i'm sad that apparently i missed out on the real stuff 10:11:51 gotta be honest though, i'm more of a canada dry fan myself 10:12:47 vernor's is too sweet for me 10:16:07 -!- Snuva is now known as surr 10:21:10 that was one of the things that changed, the original was less sweet. they dumped massive amounts of corn syrup into it when it went national 10:21:39 well, the original was sweeter than canada dry. but it was *balanced* 10:26:17 we used to drink it as a flu-recovery strategy 10:26:25 now i like mixing canada dry with whiskey 10:34:52 hmm does !tell work through cerebot? 10:40:29 you can PM sequell if you want to test it 10:41:58 Yeah I tried it after asking, which for the record it doesn't. Okay so I applied the connection_timeout patch to tornado, and webtiles is still failing to start with the same issue, is there some missing command that isn't included in the instructions? in step 12.6 10:47:25 Huene`: just curious as i'm on a conf call at the moment, are you trying to setup webtiles normally or with dgamelaunch? 10:48:01 dgamelaunch 10:48:08 with* 10:50:12 and you went through all the headache with the user creation, chrooting, etc? 10:50:25 yeah 10:51:08 this has been like a 3 day venture, but we're getting there slowly 10:52:43 problem is I don't typically use several of the technologies used in crawl, so I'm learning as I'm going, I almost never chroot, rarely work with mutliple users for the same process and have no experience iwth python :) so I'm growing leaps and bounds, it's just a slow process 10:53:21 yea, it took me a while to get through the instructions 10:55:10 what OS are you using 10:55:24 Centos 7 10:57:12 so in addition to not knowing what I'm doing, I'm also trying to translate debian instructions :D 10:57:35 thankfully once I figured out the correct way to go almost nothing has failed on me until this tornado thing 10:57:57 ech 10:58:05 cent has to be my least favorite, lol 10:58:15 if i'm going RHEL based i like scientific ;) 10:58:21 hmm 10:58:39 I'd rather use solus, but it's a dedi on the other side of the planet, so I can't be picky 10:59:02 so when you look at running services, is webtiles there at all? 11:01:52 the list-unit-files or whatever that command is 11:02:10 I don't see it running 11:04:56 what is the exact error you see when you try to start it? 11:06:55 https://pastebin.com/nkuZAqiR as crawl-dev 11:07:40 I did modify the file to sudo in the script, because for some reason it wasn't executing as root, but I can take that modification out and regenerate the error if you want, it is a different error 11:11:15 but it's basically saying that it can't execute os.chroot, which is why I modified the script 11:14:50 you mentioned this is rented? 11:14:59 do you have root access? 11:15:28 yeah I can do everything except physically touch the machine 11:15:54 mmm 11:15:54 the issue wuth chrooting is troubling 11:17:20 what verseion of tornado/python? 11:18:23 i seem to recalll having to downgrade tornado 11:18:53 the thing with chrooting and creating the users is mainly related to securing the server, you should be able to run it as normal root 11:20:12 python2, but I have 3.5 installed as well, as for tornado I'm not sure how to check, there's no executable for it, and I was under the impression it was already part of the download in the webserver directory, but I could be wrong 11:20:33 oh duh, so you're running python 2.7 and tornado is at 3.2.2 11:20:36 yeah but since I'm unfamiliar with it, I'm not terribly certain what I can exclude from the instructions which is why I decided early on to follow it to the letter 11:20:41 tornado is usually from the OS, not bundled with crawl. it's a python library 11:20:52 tornado is effectively acting as the webserver 11:21:11 also if you removed the os.chroot then *everything* after it will fail 11:21:21 sure but that won't cause the tornado call to die though 11:21:31 that sounds like a versioning issue 11:21:53 yeh. I'm no pythonista though, can't help much 11:22:01 I didn't remove os.chroot, I modified the init.d to sudo executing server.py to get around the os.chroot permission thing 11:22:23 Huene: did you notice the comment in the dgl guide? 11:22:33 Troubleshooting Notes: -Tornado error: File ”/usr/local/lib/python2.7/dist-packages/tornado-3.0.1-py2.7.egg/tornado/httpserver.py”, line 153, in init TypeError: init() got an unexpected keyword argument 'connection_timeout' Need to install edlothiol's patch for Tornado. As crawl-dev, from /home/crawl-dev: ~$ fetch git://github.com/flodiebold/tornado.git into /home/crawl-dev/tornado ~$ git checkout http-timeouts-2.4 ~ 11:22:51 I applied that 11:22:55 at least as listed, 11:22:58 it didn't do anything 11:23:09 and you're running as crawl-dev 11:23:12 which is why I asked earlier if there was more steps that arn't listed 11:23:14 correct 11:23:15 do you sudo to start webtiles or not? 11:23:37 I've tried both, normal user fails os.chroot, sudo throws connection timeout 11:23:40 (i'm just running through my internal checklist) 11:23:51 it's all good I appreciate the extra eyes 11:24:17 my guess is that: 11:24:26 a) the tornado patch is getting applied to crawl-dev's tornado instance 11:24:43 b) the chroot failure is causing crawl-dev to not work 11:24:53 I had that thought as well, but without knowing python, I'm not sure how to apply it globally 11:24:53 c) running as sudo is running as the root user so you wouldn't use crawl-dev's tornado instance 11:26:33 I wonder if it's as simple as just sudo python setup.py build 11:26:58 give it a shot 11:27:17 I'll let you know in a few minutes 11:27:21 like geekosaur said though, chroot is required for all this multiple user activity 11:27:39 not exactly. it's a security measure. 11:27:47 sure, mentioned that 11:28:01 but running stuff as crawl-dev isn't necessarily going to work well without chroot though right? 11:28:10 all crawl users use the same directory structure, and in theory you could remove the chroot and possibly change the paths afterward. 11:28:20 yea but he's got to be using the paths as is 11:30:02 actually re-reading...did you not do the setup.py build after the tornado patch? 11:30:25 I did 11:30:41 ok 11:30:44 it just didn't do anything so like you said I think it's just updating it locally and not globally 11:31:04 ah 11:33:43 nope same thing as building as root, still connection timeout 11:35:11 what if you uninstalled tornado and then installed the same version as mentioned in the guide 11:35:17 (i hope you're using pip for this by the way) 11:35:36 I can give it a shot 11:35:46 maybe the newest version of tornado doesn't play nice with the patch 11:38:32 well that was interesting 11:39:57 I removed tornado, and for the hell of it tried to launch and it launched, I'm getting errors in webserver.log but that makes sense if it's underversion (it is at 2.4) so we might be on to something does anyone know off hand how to specify version in pip? 11:40:29 pip install ==x.x.x 11:40:41 ty 11:40:51 https://stackoverflow.com/questions/5226311/installing-specific-package-versions-with-pip if you need more detail 11:41:04 sudo if you want to do it sys-wide 11:43:27 okay that was bizarre 11:43:51 sudo pip install tornado==3.0.1 #completed successfully 11:44:11 sudo pip search tornado #installed version 4.2.1 11:44:28 i'd compeltely uninstall tornado 11:44:35 pip freeze tells you the version of everything installed 11:45:37 okay I did it 3 or 4 times and it finally said it's not installed, now installing 3.0.1 11:48:54 huh 11:50:33 there were serveral tornado versions 11:50:40 I took them all out 11:50:43 then reinstalled 3.0.1 11:50:53 that'll happen 11:51:00 still didn't work :/ 11:51:03 bah 11:51:05 same issue connection timeout 11:51:14 you reapplied the patch too i assume 11:51:24 yeah 11:51:40 both as crawl-dev, tried it, connection timeout, and as root, tried it connection timeout 11:56:53 I even deleted and redownloaded the patch because it was part of that step 11:57:52 hmm 12:04:30 so what has worked for me in the past, sadly 12:04:37 is to nuke everything and start from scratch 12:04:44 delete all users, folders, etc 12:04:59 but that's probably worst-case scenario 12:07:15 I'm trying to avoid that only due to it being a 3 day project alredy, but it did cross my mind 12:09:05 yea, i'm running low on ideas 12:09:09 :/ 12:10:30 i'm not sure if there's some particularity with cent that is causing it to not work 12:10:37 hmm, is SElinux enabled? 12:10:46 could try disabling that, restarting, and see if that helps 12:11:01 sometimes with rhel that masks problems 12:15:22 SELinux status: disabled 12:15:25 good thought though 12:34:17 poot 12:34:24 i've got to run, but good luck 12:36:14 thanks for your help 12:49:48 man, crawl server installation is such a mess 12:50:01 yes 12:50:37 we go through something like this every time someone installs a server. and request and often get updates to the dev wiki, but there's always gaps remaining 12:51:10 this is why people were trying to get e.g. docker containers to work 12:51:23 Huene`: it sounds like you just don't have tornado installed with the patch applied yet 12:51:31 *the right version of tornado installed 12:52:12 I am using 3.0.1 with the patch commands run, but I don't think I know of anyway to check to see if it applied correctly 12:52:21 I didn't get an error though 12:52:29 which version is ideal I can try another version 12:52:29 run python, import tornado 12:52:44 then check the version, I think it sets a variable in the module 12:52:57 "python import tornado"? 12:53:19 no, just python to start the interpreter 12:53:24 then `import tornado' 12:53:35 then `tornado.version' 12:53:36 okay no error no return, 12:53:42 ugh 12:53:44 4.2.1 12:53:51 even though it says elsewhere 3.0.1 12:53:55 alright one moment 12:53:58 so, when you've been testing this, how have you been running the server? 12:54:18 has it been as root? from the chroot? 12:54:28 probably not from the chroot I'm guessing 12:54:37 by from I mean you've actually done a chroot 12:54:53 Huene`: which version of python started when you did that 12:54:57 you probably started python3 12:55:01 I didn't execute from within the chroot, but the webtiles init.d script seems to do that 12:55:03 I should have said `python2' 12:55:06 2.7.5 12:55:08 ok 12:56:33 Huene`: you installed with pip? 12:56:38 Huene`: do pip --version 12:56:40 everything I could 12:56:57 what python is it 12:57:01 in that output 12:57:08 9.0.1 with python 2.7 12:57:12 ok, good 12:58:11 yeah, on my system if I do: pip2 install --user tornado==3.0.1 12:58:15 I'm doing a user install here 12:58:22 then I run python and import tornado 12:58:25 I get 3.0.1 12:58:38 now you're not doing a --user install probably 12:59:01 let me try a system-wide 12:59:15 -!- amalloy_ is now known as amalloy 13:01:01 yeah it seems to work either way for me 13:01:44 Huene`: actually, using pip here isn't even desirable, since we have you use that patched version 13:02:09 Huene`: those instructions in 12.6 have you run setup.py yourself 13:02:33 yes, and I did 13:04:28 Huene`: did you run the python setup.py install 13:04:30 command? 13:04:35 yse 13:04:36 yes 13:04:42 both as crawl-dev and as root 13:05:00 oh wait install 13:05:00 well that works for me for doing an install 13:05:01 hang on 13:05:12 I hope it's that simple 13:05:15 yes, if you only build, it won't work without the env var 13:05:23 that's all that's listed on the page 13:05:33 no, it's a comment a bit further down 13:05:34 that's why I kept asking if there was any other commands to it 13:05:44 oh I must have missed that 13:05:47 NOTE from johnstein: ”/etc/init.d/webtiles sets PYTHONPATH for this, so you shouldn't need to install this, but I wasn't able to make it work and needed to ~# python setup.py install” 13:06:05 ugh I thought that was a seperate issue 13:06:06 so you either have to set that PYTHONPATH to include this checkout or just install it 13:06:06 lol 13:06:09 that's probably it 13:06:15 yeah, try running the install as root 13:06:43 then any user should see it, so as root or not-root, try doing the python/import tornado/tornado.version thing to see 13:07:02 I tried that yesterday actually, but it was the wrong tornado at the time 13:07:21 well this is installing tornado 13:07:30 so the current tornado you have is not relevant 13:07:38 this is installing a patched 2.4 13:07:46 now it says 2.4 13:07:50 there we go 13:07:52 try to launch? 13:07:56 no try running webtiles, yeah 13:08:04 that's what I meant 13:08:06 k one moment 13:08:10 still outside of daemon mode though 13:08:13 so you can see output 13:08:15 yeah iut 13:08:17 it is 13:09:13 we should port webtiles to a more recent tornado 13:09:17 I did this for webtiles-changes 13:09:43 recent versions have the connection_timeout arg (although it's a slightly different function signature) 13:10:11 if that's proper terminology for python, since I don't think it has a notion of function signatures 13:10:30 due to how it already has variable arg processing 13:11:03 well it launched but there's no console output, it didn't exit there's just no feedback, and the website is giving a ERR_EMPTY_RESPONSE 13:11:18 if there's no console output, it sounds like you're in daemon mode 13:11:33 it shouldn't be unless something I did turned it off one sec let me check 13:11:54 daemon = False 13:12:20 checkign the log one sec, since it actually finally launched 13:12:32 Huene`: well check the process 13:12:34 is the process running 13:13:04 yes it's definnitely running 13:13:07 I assume you ran it something like `python webserver.py` 13:13:12 so you shoudl see that process 13:13:18 oh, yeah 13:13:22 if it has the logfile set 13:13:27 maybe it makes no console output at all 13:14:34 https://pastebin.com/BSvQcQj7 13:14:49 yep, it's running alright 13:14:57 but the website itself is still coming back as empty response 13:15:17 possibly you have a firewall config issue? 13:15:18 can I paste the url here for diagnostic purposes or is that frowned upon? 13:15:31 you can, but not sure we'll be able to access it 13:15:34 we can see the IP already 13:15:41 http://crawl.mcbadwolf.com 13:15:45 well that's what it's doing 13:15:54 yeah, I think you have a firewall issue probably 13:16:07 oh hang on once I tried to access it I have log info one moment 13:16:07 namely, do you have 8080 allowed to the outside world? 13:16:34 oh ok 13:16:46 you can tail -f that file btw 13:16:55 it will update it in realtime 13:17:37 I never knew that was a thing, I used to watch tail, awsome thanks for the tip 13:17:51 https://pastebin.com/7x5rp0sW 13:17:55 there's the last bit of it 13:18:42 ah, yep 13:18:55 see that note in the wiki from zibudo 13:19:11 er 13:19:49 I forget what the fix is for that 13:20:00 I think you need a proper locale setting 13:20:04 I was just wondering that 13:20:12 I need to find out how to set it on centos7 13:20:23 If latin1 encoding error: edit the final file in the trace and change 'latin1' to 'UTF-8' 13:20:29 I did it in the chroot 13:20:37 any idea what they mean by the final file? 13:20:50 in your error 13:21:04 it's referring to one of the tornado 2.4 files installed 13:21:13 ahh ok I see what you mean 13:21:59 looks like it's httpserver.py 13:22:30 we really need to port webtiles to a recent tornado I guess 13:23:48 Okay now this makes no sense: LookupError: unknown encoding: UTF-8 13:24:08 I wonder if I need en_GB.UTF-8 to match the system 13:24:10 sounds like you missed the quotes 13:24:32 what does the final line you edited look like? 13:24:33 data = native_str(data.decode('UTF-8')) 13:24:35 ok 13:24:36 I was just getting it 13:24:48 it was data = native_str(data.decode('latin1')) 13:24:49 and yeah not sure about that 13:24:52 you could try 13:26:33 didn't work 13:29:09 data = native_str(codecs.latin_1_decode(data)[0]) 13:29:32 oh, you might need ot import codecs with that one 13:29:56 yeah 13:30:02 what you posted that's your line? 13:30:09 yeah that is a workaround 13:30:16 but you need another edit to that file you edited 13:30:24 near the top, you need a line with `import codecs' 13:30:34 that's the whole line? 13:30:37 any line near the other import statements 13:30:38 yeah 13:30:45 what's a comment in python? 13:31:09 Huene`: under `import time' 13:31:19 # sign 13:31:21 k one moment and ty 13:32:16 Huene`: another thing, I wonder if it's actually 'utf-8' 13:32:19 not 'UTF-8' 13:32:30 it's not I tried that already 13:32:35 welp 13:33:32 hrm, I hope that latin_1_decode function returns an n-tuple or something 13:33:51 okay it passed the file but got hung up on another 13:34:10 oh hang on this one references it as utf8 let me undo those changes and try it without the - 13:34:35 yeah 13:34:46 it might just be the name of the encoding we have wrong for utf-8 13:35:11 nah it failed, putting it back to your workaround and looking at the next file 13:36:51 there may be a problem with my fix in that it may be only unencoding one char of a message 13:36:57 so let me try this myself 13:37:39 okay holdinf off on the next file 13:39:03 hmmm, so I don't get any problem even with 4.5 13:39:05 now why is this 13:41:11 nice, ok 13:41:22 Decodes the object input and returns a tuple (output object, length consumed) 13:41:28 re the codec function workaround 13:41:39 so we do want that first element only 13:41:47 ok, so that workaround *should* be ok 13:41:59 Huene`: you say you get more latin1 errors even with that change? 13:42:02 if so, can you pastebin 13:42:27 no once I apply that and add the import it works fine on that file but it stucks on the next one one sec 13:42:48 yeah, I men latin1 errors in other files 13:43:20 https://pastebin.com/6w3ys4c7 13:43:40 looks like you still have a utf8 change 13:43:43 you've made 13:44:04 in escape.py ? 13:44:09 I didn't make any changes in here, but this is the stock line in question: return urllib.quote_plus(utf8(value)) 13:45:25 ok, so maybe you really just don't have the utf8 stuff properly installed on your system 13:46:23 I suppose it's possible but it would definitely not be expected, since the stock locale is en_gb.utf-8 13:46:49 I wonder if it's being thrown off by it being the british locale 13:49:59 changed the system locale to en_US.utf8 and it didn't help 13:50:56 Huene`: which python2 are you running? 13:51:13 full version I mean 13:51:14 I don't understand the question 13:51:18 2.7.5 I think 13:51:21 one sec 13:51:36 yeah 13:51:44 yeah I have 2.7.14 13:53:35 -!- illusion is now known as Guest85706 13:53:38 I think if you can get your python to have those UTF-8 decoders 13:53:40 you'll be good 13:54:05 you won't need that latin_1_decoder workaround and can change that to just 'UTF-8' or whatever the proper string is 13:54:12 and likewise the others will work 13:58:31 meanwhile I'm not sure why my webtiles just works with tornado 4 13:59:06 at least it works with the default config.py 14:03:27 yeah 14:04:19 I could try doing a full DGL setup locally; I did that in the past when I was updating those dgl scripts for webtiles-changes 14:04:42 maybe with the debootstrap install of a chroot I'd see this problem, since maybe my python2 would be a bit older 14:05:14 it's possible you'd have less issues if you just upgraded your python2 but I'm not sure how those encodings actually work 14:05:57 Ge0ff (L27 GhVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1910 failed. (Tomb:3) 14:13:00 you said you were using .14? 14:13:10 nevermind just found the line 14:16:05 it's compiling now I'll know shortly 14:22:07 yeah, 2.7.14 14:22:10 came with ubuntu 17 14:46:29 advil: is the numpad-fix code relatively stable? 14:46:39 I have no idea 14:46:51 as far as I know no one has tested it besides me, and it hasn't been tested on linux 14:47:11 I'd like |amethyst to look at it (since he did the original textinput suppression thing) but he hasn't been around 14:47:48 advil: i can test it on linux. what branch? 14:48:20 numpad-fix 14:48:26 basically it shouldn't change things on linux 14:48:39 local tiles, or both console and tiles? 14:48:43 <|amethyst> advil: I took a look, and it seems better in every way than what I did 14:48:43 just tiles 14:48:49 oh good 14:48:55 <|amethyst> advil: the only question is whether the events always come out in that order 14:48:59 <|amethyst> but it seems like a logical order 14:49:21 and i just want to test how numpad movement behaves, both with and without numlock? 14:50:15 yeah, they do in my testing come in the same order in my testing but I don't know if that'll be guaranteed forever. What changed in new SDL (I think) is just that it was no longer guaranteed that the event that needs to be suppressed is already in the queue at the time you get the keydown 14:50:19 amalloy: yes 14:50:42 also would be good to know if numpad with numlock on leads to a following numeral row keypress not doing anything 14:50:58 it's still not ideal, because AFAIK you can deliver text input pretty arbitrarily 14:51:12 isn't it possible to just turn textinput off? 14:51:21 well, that arbitrariness is exactly what is causing the problem in the first place 14:51:26 I don't think so 14:52:09 most of our keys come as text input 14:52:25 i mean arbitrary as in there's no robust way to deduplicate events at all, because there's not necessarily any correlation between the keypresses and the textinput 14:52:51 hopefully that's mostly theoretical though 14:53:23 as long as numpad is doing what it is doing, some kind of deduplication has to happen, or numpad can't be used the way it is now 14:53:40 there is SDL_StopTextInput() 14:53:41 well, one could write a crawl-specific key handler that replaces most of what sdl is doing 14:54:25 yes, but what about all the text input that we need? :) 14:54:28 * aidanh isn't entirely clued in on what numpad is doing 14:54:45 well, you don't actually need text input, unless you have... text 14:54:54 but crawl mostly cares about keys, not text 14:55:28 textinput matters when you're choosing a name, inscribing, maybe setting skill targets... 14:58:08 ah, wild guess here, but probably part of the reason textinput is always turned on is for android? 14:58:10 so that the keyboard will always be shown 14:59:52 I just got disconnected from my znc bouncer, not sure if this went through: advil it would be a pretty big change as far as I can tell to do things that way 15:00:31 advil: that way == flipping on/off textinput as needed? 15:00:56 right now most of the key inputs we get seem to come through as text input (I didn't dig into why) 15:01:48 I'm not really sure about the history of that, except that I believe SDL 2 involved a big push to move away from keydowns because of non-US keyboards, dead keys, and stuff like that 15:02:09 as I understand it, it's mostly about supporting different input methods 15:05:02 advil: have you seen https://wiki.libsdl.org/Tutorials/TextInput ? 15:05:07 yep 15:08:19 I can see the appeal of rewriting everything so that it's not using the textinput api when processing key input for regular gameplay, but I guess for me the payoff to trouble ratio is way, way off for that project, so I'm not going to do it (and it would happen way slower than we need a fix for this numpad thing anyways) 15:10:06 well, it might actually be not that difficult; although yeah, having numpad working is a bit more urgent 15:10:25 the difficulty wouldn't be getting a version working, I don't think, but testing it 15:11:07 in particular I don't think it's trivial that something that works on a US keyboard layout wouldn't lead to unexpected changes on non-US layouts, that SDL is handling behind the scenes 15:11:17 ugh 15:11:30 *trivial to assume 15:11:38 gammafunk, reboot fixed it -rolls eyes- 15:14:44 Huene`: ok, did you just change that latin1 to UTF-8? 15:14:47 or was that not required 15:15:31 advil: hmm, but crawl currently drops textinput events that are duplicates of the key input events; so a) it seems unlikely that just not receiving those textinput events would cause a change and b) surely if there were layout issues they'd already be causing problems with that 15:15:58 I don't think that's how it works, though I could've misunderstood something 15:16:12 there are pretty much only duplicates for the numpad 15:16:45 oh, then perhaps I'm confused 15:16:49 most of the time crawl ignores keydowns (again, unless I misunderstood something) 15:17:19 definitely all alphabetic keys are processed via textinput 15:18:45 like I said I haven't dug deeply into exactly how all this works but this is mostly based on debug versions I was using that printf'd pretty much every key-related event 15:19:01 oh, so a-z doesn't generate keydown/keyup, because it's handled by sdl and turned into textinput 15:19:20 gammafunk, uh I'm not sure, because it was still showing utf-8 as not available when Ilooked at the log, and I can't start it back up after shutting it down, something's gotta be conflicting somewhere 15:19:20 or we ignore the keydown somehow? not sure 15:19:30 I guess I'll have to do some printf-debugging myself :) 15:19:37 Huene`: what do you mean you can't start it back up? 15:20:03 I mean webtiles was showing, I shut it down, and I couldn't start it again to where the interface was showing 15:20:15 somethings really wierd 15:20:34 well, does the log give any errors when you browse to the webtiles lobby? 15:20:56 let me reboot it agian to get it back up and I'll let you know in a minute 15:20:56 you stay you can't "start it again" but it's not clear if you mean that startup fails or what 15:21:10 s/stay/say/ 15:21:49 it fails in the same way, only right after a reboot the webtiles interface shows in the browser, shut it down, start it up again ERR_EMPTY_RESPONSE 15:22:11 yes, but, what does the *log* say? 15:22:22 you should be making sure that everything is fine in the webtiles log 15:22:30 if there's a failure, it's going to put information in the log 15:22:48 the same thing about the unknown encoding utf-8 15:22:52 ok 15:23:02 so we've identified that you haven't fixed the utf-8 encoding issue 15:23:09 the problem we're at is that 15:23:17 not the ERR_EMPTY_RESPONSE or any of that 15:23:34 just focus on what's showing in the log when there's a problem 15:23:48 but it does that even when it's started up by the system not me, though the interface shows, 15:23:58 okay I'll look at it again after the system comes back up 15:24:19 if you get a python exception like that, the servers's not going to work 15:25:00 I would expect it to fail regardless of startup method if it can't load the proper python encoding functions it needs 15:25:14 what's probably happening is that code simply isn't called until at some point 15:26:16 okay it's up now following the reboot http://crawl.mcbadwolf.com and I'll have the log for you in a sec, keep in mind I havn't finished the installation steps so the game probably won't launch yet 15:26:44 https://pastebin.com/D2aBJ4UD 15:27:04 it didn't crap on the decoding, I take that back 15:27:15 but I'd bet if I shut it down and started it back up again it would 15:27:20 right, if there's any kind of error at all, look right at the log 15:27:25 the log is your source of what's going wrong 15:27:44 right I'm just mentioning it becuase when I first started I wasn't even getting a log file it was dying so early 15:27:57 that's been fixed though 15:28:21 well you mentioned starting it from the init script, which we shouldn't be back to that yet 15:28:27 we have it configured still in daemon mode, remember? 15:28:39 I'm saying don't try to run it three different ways and "see which works" 15:28:44 we're trying to run it one way right now 15:28:58 which is out of daemon mode, manually (not through init script) 15:29:11 if it's not working like that it it's not going to magically work through an init script 15:29:27 I understand, except that it is :) 15:29:54 no it isn't that's the thing 15:29:54 however I'll focus on the manual way right now like you said 15:30:07 if it occassionally seems to work through the init script 15:30:11 the init script isn't fixing anything 15:30:19 it's probably just not running into the error initially 15:30:20 agreed 15:31:20 I saw the lobby load, but I'll leave it to you to configure the server and test games or whatnot 15:33:08 yeah I'll do that once I can start it normally 15:33:22 if I shut it down it won't start back up again 15:33:24 some kind of system state/config leads to those encoders not being available, I uess 15:33:32 how are you shutting it down? 15:33:39 aidanh: I think the choice in SDL2 might be between keycodes via textinput, or scancodes via keydown; at least that's what https://wiki.libsdl.org/MigrationGuide#Input implies 15:33:47 sudo service webtiles stop 15:33:53 no...that's the init script... 15:33:57 we're not using it... 15:34:09 it's surprising how bad sdl documentation is sometimes 15:34:14 you're starting webtiles via python webserver.py, yes? 15:34:19 so you're staring it manually 15:34:29 we're not using init script stuff right now 15:34:33 yeah the SDL docs are pretty spartan, to put it nicely 15:34:34 we have webtiles *not* in daemon mode 15:34:44 which it would need to be for that stuff to even work at all 15:34:44 well when I start it manually I use the init script, but I can try to start it directly as it does in the initscript which is python server.py or something similar 15:35:12 it's not something similar, Huene` 15:35:12 I've been telling you that for the last 10 minutes 15:35:12 run the python server *yourself* 15:35:30 via python server.py 15:35:52 those scripts run through the init.d infrastructure and will need the server to be a deamon etc 15:36:03 okay one moment, shutting it down and attempting that, should I be launching as crawl or crawl-dev 15:36:03 we're not trying to run it that way (you turned daemon off, remember?) 15:36:33 advil: unless I remember wrongly, keydown/up events have both keycode and scancode 15:36:37 launch as root, and it will do a chroot 15:36:45 I assume your config.py has that configured 15:36:52 then the log will be in the chroot 15:36:57 right I remember, I just figured that it didn't matter because it didn't exit to the shell immediatly after starting it, but I'm not going to make any more assumptions 15:37:01 ok one moment 15:37:01 I don't think the keycode is safe to use in SDL 2, it's at least deprecated 15:37:13 textinput is utf8 strings of input, not keycodes 15:37:22 Huene`: if you can, pastebin your config.py at some point 15:37:56 oh yeah you're right 15:38:06 maybe I'm just misremembering what an SDL keycode is 15:38:30 sure thing one sec, that's larger than a screen copy / paste, I have to find a way to pipe it to pastebin 15:41:26 Ge0ff (L27 GhVM) ASSERT(!invalid_monster(&mons)) in 'mon-death.cc' at line 1910 failed. (Pan) 15:41:37 Huene`: so just in case you may not be aware, the config template you edit gets published to the chroot through one of those dgl scripts 15:41:56 those scripts replace various values with those you put in that .conf file 15:42:03 with that said, I have no idea what the keycode is like on layouts with accents 15:42:16 gammafunk, http://termbin.com/5ppg 15:42:27 there aren't enough values in the enum 15:42:30 I'm not sure if you're using the config.py that's actually published or just one that's in the dgamelaunch-config repo 15:43:03 !crashlog ge0ff 15:43:05 that's the one that's in DGL/crawl-master/webserver is that the correct one? 15:43:06 23. Ge0ff, XL27 GhVM, T:107626 (milestone): https://underhound.eu/crawl/morgue/Ge0ff/crash-Ge0ff-20180116-204125.txt 15:43:20 yeah that's in the chroot 15:43:27 that does look like a valid 'published' one 15:43:30 -!- Fixer_ is now known as Fixer 15:43:33 although I see urls for dobrazupa.org 15:43:41 I assume you didn't change those in your .conf? 15:44:03 might not have let me find what you're seeing 15:44:06 yara's + pain bond on a rakshasha 15:44:12 what will players think of next 15:44:52 oh those aren't changed yet because I wanted to get it running before I messed with the branches, 15:45:08 if it's pressing to do now I'll do what I was going to do 15:45:22 no, ok, it's fine 15:45:28 just looked and those urls aren't even in the conf 15:45:46 they're just right in the config.py template 15:45:46 they would ideally be set in the conf 15:45:46 but yeah looks like a valid one 15:46:02 okay I want to do it right, what's the full conf name? 15:46:19 no, I'm saying we don't even support setting those in the .conf file 15:46:30 the .conf files are in probably the crawl-dev home dir? 15:46:38 wherever you have the checkout of dgamelaunch-config 15:46:50 but you need to edit the template config.py 15:46:56 update those urls, then publish 15:47:03 but yeah this is secondary to getting the server actually working 15:47:07 the url fix can wait there 15:47:46 Huene`: for reference, step 8 in the guide is where you're editing those conf files 15:47:57 they are probably in dgamelaunch-config in the crawl-dev home dir 15:48:35 later in step 10 you publish the config.py (and the dgamelaunch.conf) to the chroot 15:48:53 at that time the templates are assembled into final config.py based on the values in the conf file 15:48:56 and put in chroot 15:49:05 just so you understand that this is how these scripts work 15:49:33 if you want to change your webtiles config permanently, you edit that template (possibly editing the .conf file if relevant values need change), then publish as in step 10 15:50:23 Huene`: btw I noticed this in step 11: sudo update-locale LANG=en_US.UTF-8 15:50:31 I assume you did that at some point 15:51:43 I did it like that in the chroot yes, it didn't work outside the chroot, but I did find an equivilancy 15:52:00 that was one of those steps where I wasn't sure if I was chrooted or not so I did both 15:52:33 that would be relevant outside, since this happens at startup 15:53:00 the webtiles server starts up as root (whether you run it or init does) and does a chroot 15:53:09 okay then not like that let me double check the locale since I rebooted since then 15:53:47 yeah that's a global modification, so it should be retained 15:54:09 System Locale: LANG=en_US.utf8 15:54:15 outside the chroot 15:54:18 right, looks good 15:55:11 so if you run your `python webserver.py` from the dir in the chroot with your config (as root) 15:55:15 is it working? 15:55:31 when chrooted? one sec 15:55:40 no, not when chrooted 15:55:45 from inside the chroot as root 15:55:58 cd into the chroot doesn't make you chrooted 15:56:21 *from inside the chroot directory 15:56:43 I should have been more specific there; you want to be in that dir so that webtiles can find your config and all the crawl files it needs 15:56:58 well no I was going to sudo chroot /home/crawl/DGL && #then run it but one sec and I'll do that 15:57:07 yeah don't do that 15:57:13 the webtiles server does it by itself 15:57:23 and it will be confused if you've already done it 15:57:31 ok good to know, that was one of those long standing back of my mind questions I had 15:57:39 yeah, config.py has a setting for this 15:57:51 that's the: chroot = "/home/crawl/DGL" 15:57:54 in your config.py 15:58:03 if you chroot yourself, that location won't exist 15:58:07 and webtiles well not be happy 15:58:16 s/well/will/ 15:58:43 I'm sure you can tell by now I never chroot, primarily because it always confuses the hell out of me, but I've got a better picture now that I know webtiles itself handles the chroot 15:58:46 also that would not work anyway 15:58:47 running now one sec 15:59:02 chroot is like cd, running it in a subprocess is useless 16:03:13 okay it launched doing it that way but I need to go through my config's again because it's on the wrong port 16:03:24 (I changed it yesterday then changed my mind) 16:03:36 yeah, just remember to change the config template 16:03:38 give me a few minutes to correct that 16:03:42 then publish using the commands 16:03:51 if you like though for testing you can directly modify the chroot one 16:04:02 can just edit, run the server to test 16:04:23 but you're suppose to generally edit the template and publish 16:08:14 no sense fixing something then redoing it, I'm editing the template 16:09:41 okay that looks better 16:10:01 didn't set the values yet on the branches yet but I trimmed them up and it's on the correct port again 16:10:35 so I think I'm finally ready for step 13 16:11:01 well, not quite 16:11:09 okay what did I miss 16:11:16 remember you're still running it in non-daemon mode and not using init, right? 16:11:23 oh right yeah 16:11:26 or have you already changed that and tried using init 16:11:40 nope I was waiting for your go ahead on that, but I think we'r ethere 16:11:40 yeah, so enable daemon in config.py template, publish 16:11:52 then try using the service commands and see if it all works 16:12:16 and obv make sure you don't have your manual instance of webtiles currently running 16:12:35 actually it's already on, it was still on from my old template, so it's already enabled I just need to try to launch it 16:13:05 hrm, well was it launching in daemon mode when you were manually testing it? 16:13:12 maybe it was and you were just looking at the logfile 16:13:37 no it wasn't untill you called my attention back to the templates 16:13:46 however that first publish would have put it back on 16:13:50 ok 16:14:01 once that's on, you can try through the init script 16:14:20 but I'm saying 16:14:29 if you have another instance of webtiles already running through your testing 16:14:33 that one you need to kill 16:14:38 yeah I did already 16:15:22 log_daemon_msg: command not found 16:15:22 , this for some reason isn't included in lsb, I had to work around it before too 16:15:57 oh, I vaguely recall seeing that error before, yeah 16:16:13 all I did was hcange it to a different log type and call it a day 16:16:22 just reproducing now one moment 16:19:55 okay corrected. and it's starting but no lobby again and complaining about utf 16:20:12 trying manual again just to make sure my changes didn't do that 16:20:18 shouldn't have though 16:20:44 something you set in your ENV that allowed it to work in manual? 16:20:55 that's not being set under init script maybe 16:21:35 okay it does still work manual but not init 16:22:00 possibly but what I have to look, I've never had to mess with locale before now 16:23:06 Huene`: and it's not failing on latin1, just the unknown encoding 'UTF-8', right? 16:23:13 oh wait the init sets a variable before launching, I froget what, but let me see if it looks related, and I'll try to launch without the variable 16:23:15 umm 16:23:42 LookupError: unknown encoding: utf_8 16:23:56 yeah it sets PYTHONPATH, if that's what you're refering to 16:24:07 which you actually installed that tornado version 16:24:11 so you shouldn't need that line 16:24:23 well you don't need that var, I should say 16:24:33 I don't think setting that path creates a problem, but... 16:24:37 hrm, maybe it would 16:24:40 okay before I dig deeper into the utf let me comment that out I don't think it's related but 16:24:55 can you try modifying the init script to not set pythonpath like that? 16:25:03 just have it be `python ./server.py' 16:25:13 on that line 16:25:18 instead of the prefix where pythonpath is set 16:25:26 https://github.com/neilmoore/dgamelaunch-config/blob/szorg/utils/webtiles#L38 16:25:33 is what I assume you were talking about 16:25:49 yeah that's it 16:26:11 and you can't comment that out 16:26:15 that's the line that starts webtiles 16:26:18 I know I'm modifying the line 16:26:19 one sec 16:26:21 ok 16:26:46 never was a big fan of that style of variable setting, but I'm sure it has it's purposes 16:27:01 oh it's very useful, yes, but not good documentation-wise there 16:27:36 I imagine it's just forgotten after the line copmletes it's execution? 16:28:04 that's its purpose, right 16:28:04 ok yeah without that variable, same results, 16:28:26 yeah, so I dunno what is properly setting the locale 16:28:35 maybe you need to have your locale set in an env var? 16:28:38 that would be my guess 16:28:38 I'm digging one sec 16:28:49 yeah I'm probably going to copy everything locale related to the script 16:30:22 LANG=en_US.utf8 #this is it, putting it in the script one sec 16:30:25 hrm, it's utf_8 16:30:28 not utf-8 16:30:29 suspicious 16:30:58 no that's me I looked it up and utf_8 is apparently the official way the rest are aliases, so that's what I set 16:31:14 but I'm going to duplicate the LANG variable in the script as is 16:31:47 oh..it's copying that from the ENV then? 16:32:33 this is probably all because of how old that tornado is 16:34:03 Huene`: ~#sudo locale-gen en_US.UTF-8 16:34:07 you did this at some point? 16:34:15 it's in step 2 16:34:37 it only works inside the chroot, centos doesn't do that 16:35:09 ah 16:35:45 that's why I was under the impression earlier I should be inside the chroot to execute it 16:35:51 sudo: locale-gen: command not found 16:36:17 but it also could be that I'm the only one trying to do this on centos 16:36:44 yeah, those instructions are based around a debian os 16:37:08 and yeah I'm not sure about locale settings in the environment init creates 16:37:35 that's okay I just applied the equivilancy, trying to launch 16:45:44 nope I applied that locale adjustment "sudo localedef -v -c -i en_US -f UTF-8 en_US.UTF-8" which applied successfully, changed the tornado file back to "UTF-8" and commented the env out in the script and: LookupError: unknown encoding: UTF-8 16:47:53 trying a reboot after that just in case for some odd reason it needs it to apply to init (doubt it, but it never hurts to try it) 16:49:55 <|amethyst> it might be that CentOS python (which is what's running server.py) is looking for the locales in a different place from where Debian python (which is what is inside the chroot at script runtime, after the os.chroot() call) places them 16:50:32 <|amethyst> I think possibly the problem isn't necessarily the system locales, but rather the python codecs inside the chroot 16:50:49 if it's chrooted at the time it should pull it from inside the chroot which I did set via the instructions 16:51:35 <|amethyst> it starts python outside the chroot, then the script itself does the chrooting 16:51:55 <|amethyst> if my guess is right, you can probably tweak your python library path to fix it 16:52:23 yeah, listen to |amethyst 16:53:44 but it was being started outside of chroot before 16:53:52 dunno why this would only be a problem under init 16:53:57 <|amethyst> hm 16:54:31 <|amethyst> maybe your user account has a PYTHONPATH variable that init doesn't have? 16:54:39 I believe he did a system-wide install of that package, but that's a good point 16:54:49 I did but I'll check in a sec 16:54:54 <|amethyst> one thing to check: 16:55:47 <|amethyst> outside the chroot, as root (rather than as your user account), try python then in the python interpreter import sys; sys.path 16:56:25 <|amethyst> that should at least contain /usr/lib/python2.7 or whatever version you have installed inside the chroot 16:56:43 <|amethyst> if your chroot and outside-the-chroot have different versions of python 2, that could be the problem 16:56:53 <|amethyst> (but that wouldn't explain it working outside of init) 16:57:24 <|amethyst> you can do sudo su - to get a root shell with only root's environment variables (rather than your own) 16:59:48 sys.path as described above: ['', '/usr/lib/python2.7/site-packages/tornado-2.4-py2.7.egg', '/usr/lib64/python27.zip', '/usr/lib64/python2.7', '/usr/lib64/python2.7/plat-linux2', '/usr/lib64/python2.7/lib-tk', '/usr/lib64/python2.7/lib-old', '/usr/lib64/python2.7/lib-dynload', '/usr/lib64/python2.7/site-packages', '/usr/lib64/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages'] 17:00:17 <|amethyst> Huene`: do you chave /chroot/usr/lib64/python2.7 or is it /chroot/usr/lib/python2.7 ? 17:00:23 <|amethyst> s/chave/have/ ? 17:00:34 checking 17:01:05 it does exist 17:01:14 <|amethyst> hm 17:01:27 er 17:01:43 lib 17:01:46 not lib64 17:01:52 system is 64 though 17:03:10 <|amethyst> Huene`: you might try running it (in init) as PYTHONPATH=/usr/lib/python2.7 python ./server.py instead of python ./server.py 17:03:34 worth a shot, one moment 17:04:03 <|amethyst> Huene`: or if you already have a PYTHONPATH in the init script, use a colon separator, e.g.: PYTHONPATH=/home/crawl-dev/tornado:/usr/lib/python2.7 python ./server.py 17:05:05 <|amethyst> for *most* things it doesn't matter what python stuff is inside the chroot or where, because imports happen at compile time 17:05:05 <|amethyst> *but* 17:05:25 <|amethyst> python (or tornado anyway) likes to dynamically load codecs at runtime, like the utf-8 codec 17:05:41 <|amethyst> I encountered a similar error when I didn't have python-minimal installed inside the chroot 17:06:19 <|amethyst> (at compile time it's outside the chroot, but this particular load is happening after the os.chroot() call) 17:06:30 <|amethyst> s/load/dynamic load/ 17:09:46 nope UTF-8 error with init.d/webtiles and ERR_EMPTY_RESPONSE on the website, works as normal running directly 17:16:41 could a versioning mismatch between the chroot and the host system cause this? I just noticed that python is 2.7.13 inside the chroot, but 2.7.5 outside 17:25:45 yes 17:28:43 okay I can try to match them then I assume I want to match the chroot to the host rather than the other way around to prevent system issues 17:29:55 yes. but you may be able to simply bind-mount the host's python lib directories into the chroot 17:31:14 alright let me give that a shot 17:35:35 <|amethyst> into the /usr/lib64/python2.7 place so that you don't need the PYTHONPATH either 17:35:59 <|amethyst> s/into/possibly into/ 17:41:05 so not lib, just lib6 17:41:06 64 17:42:25 <|amethyst> yeah, since that's where your python is looking for them by default anyway 17:42:41 <|amethyst> and that way you won't break any python scripts that might be called from inside the chroot 17:42:53 <|amethyst> since they'll look in the chroot's 2.7.13 /usr/lib/python2.7 17:42:57 ok just finished giving it a shot 17:44:19 no change 17:57:59 -!- mekhami is now known as motsognir 17:58:02 Okay now that's intersting: just playing around, this didn't work either from the init (adjusted sodoers for passwordless execution): sudo su [myusername] -c "cd /home/crawl/DGL/crawl-master/webserver && sudo python ./server.py" 17:58:56 -!- motsognir is now known as mekhami 18:21:22 ok nevermind, I worked around it, as long as crontab will run my script at startup without issues I should be fine 18:23:17 there's a sudoers option that prevents it from working if it's not interactive (that is, run from a controlling terminal) 18:24:26 it wasn't failing though it was complaining about UTF-8, the way I launched it already works with my website integration for restarting it if it's offline anyway, so I am good, no init needed 18:24:40 totally breaking standards, but meh 18:40:47 -!- anubis is now known as Guest71560 18:53:53 -!- GiantOwl is now known as Kalir 19:28:49 if crawl is killed (no specificied signal, whatever the default is) and someone is logged in and playing, do they get saved before exiting? 19:30:43 depends on how it's killed 19:31:04 just a kill (pid) 19:31:10 if it's the default kill signal, yes 19:31:12 no specific signals 19:31:16 ok good 19:32:05 got my server status page updated with dgl guess I can move on to step 13 so it's actually playable lol 19:46:49 ZiBuDo: hey, you there? 19:46:59 gammafunk yea 19:47:13 wanted to ask you about spectating on console, seems not to work on cjr 19:47:23 it lets me log in with a prompt for pw over ssh 19:47:26 I see dgl menu 19:47:31 hit w and then I'm logged out 19:47:56 oh 19:48:01 i think this was a bug before 19:48:06 i can look into it 19:48:10 but not much time this week 19:48:18 hrm, and I seem to get logged out when I try to play as well 19:48:22 so maybe console is just not working 19:52:37 ok I think I have a new one for you: OSError: out of pty devices 19:53:51 <|amethyst> did you mount or bind mount /dev/pts into the chroot? 19:54:22 yes, let me make sure it's still mounted 19:55:27 devpts on /home/crawl/DGL/dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000) 19:58:58 so yes, and it is a bind 20:00:44 here's the relevant part of the log: https://pastebin.com/TtMF8r2S 20:08:37 and hit my quota on pastebin, here's the directory listing https://hastebin.com/qutecunire.hs and it does match /dev/pts so it is very likely correctly mounted 20:16:02 $ cat /proc/sys/kernel/pty/max # Gives 4096 20:16:46 03advil02 07* 0.22-a0-79-g605b837: Clear m_glyphs when (re-)configuring fonts 10(7 minutes ago, 1 file, 7+ 0-) 13https://github.com/crawl/crawl/commit/605b83786283 20:17:52 -!- Tux[Qyou] is now known as TidePod 20:18:25 -!- TidePod is now known as Tux[Qyou] 20:37:10 okay so apparnetly there's a centos issue that prevents bind mounting pts with the correct permissions, worked around it, and its bound correctly 21:00:09 Huene`: I don't know if you have time to update any of that wiki with notes about what you had to do on centos 21:00:20 but if you do, that might be helpful for people in the future 21:01:25 the only thing that I think isn't there in some form or another is the mount bug, and I don't really think my solution is a healthy one, I'm mounting at boot outside of fstab 21:02:08 Huene`: you can mention that your solution is not a preferred one 21:02:19 I could probably do that then 21:03:51 it's really scary all the things my OS has mounted 21:03:57 I don't really know what most of them do 21:04:34 mount |wc -l? 21:04:34 I think I'm at 37 currently 21:07:02 36 21:09:58 Unstable branch on crawl.jorgrun.rocks updated to: 0.22-a0-79-g605b837862 (34) 21:11:02 Could not initialize your rc and morgue! hmm ok what'd I miss 21:17:48 Huene`: long while back I told you about that webtiles-init-something.sh script 21:17:56 it's in util in the source dir of the repo 21:18:04 the webserver runs that upon registration 21:18:09 needs to be executable I think? 21:18:13 not sure if the guide talks about it 21:18:19 ahh ok where is it supposed to be? 21:18:25 look at your config.py 21:18:29 k 21:18:30 I believe there's a line for it 21:20:30 that executes inside the chroot right? 21:22:41 yes it, anything that happens at that time is long past chroot 21:22:48 the chroot is done very early in webtiles execution 21:22:57 *yes it is 21:23:29 it just loads all the other .py modules and sets up a few things, binds of the ip/port, then chroots for the rest of execution 21:24:09 -!- amalloy_ is now known as amalloy 21:24:50 well I found that file but it is present and executable 21:25:13 Huene`: did you see this error from lobby or from the log? 21:25:21 if from lobby, remember to check the log 21:25:44 if any error happens during runtime, it's probably there 21:25:54 anyone around who has successfully compiled with msys2? i followed all the instructions to a t but at the end of compilation i get two messages about lGL and lGLU not being found. i think it has something to do with opengl/mingw on windows but i dont know the syntax for telling make to use a different library or whatever 21:27:02 hrm 21:27:15 you're doing a Tiles build I assume? 21:27:33 yeah 21:28:05 in both instances it mentions ld.exe not being able to find lGL and lGLU respectively 21:28:46 I seem to vaguely recall an error like this 21:29:13 advil: are you aware of anything that would cause linking issues on windows (msys2 in this case) where libGL and libGLU aren't found? 21:29:20 yep 21:29:26 I thought I fixed that 21:29:32 maybe I didn't push 21:29:35 one sec 21:29:38 oh, recent commit? 21:29:39 %git 21:29:39 07advil02 * 0.22-a0-79-g605b837: Clear m_glyphs when (re-)configuring fonts 10(80 minutes ago, 1 file, 7+ 0-) 13https://github.com/crawl/crawl/commit/605b83786283 21:29:43 could the problem be that im trying to compile hellcrawl? 21:29:47 maybe hc doesnt have the fix yet 21:29:48 oh, er 21:29:57 well, yeah you want to talk to hellmonk about that probably 21:29:57 %git 7512b0443140d0c1 21:29:57 07advil02 * 0.22-a0-74-g7512b04: Improve support for MSYS2 10(5 days ago, 1 file, 3+ 3-) 13https://github.com/crawl/crawl/commit/7512b0443140 21:30:03 ah ok 21:30:04 is the fix for that problem 21:30:23 should be easy to cherry-pick into hellcrawl 21:30:36 is there any syntax that can be used in the msys terminal to have the compiler use the windows versions of those libraries? 21:31:02 i tried copying/renaming them to the ones that its looking for but no dice 21:31:02 there's a similar problem that you may need to deal with in the sdl2 submodule 21:31:27 their terminal uses some kind of console they have for their project 21:31:37 and I don't think you can make it use another console lib, no 21:31:50 you say "windows versions" but the console is still a native windows executable 21:32:17 i wish there was a cloud service i could just give a repo name and have spit out a zip of compiled shit at me haha 21:32:18 I'm not sure why you need the msys terminal specifically to use a different console lib 21:32:50 o i assumed i would do it there since thats where im compiling from. what would i change otherwise, the makefile or something? 21:32:59 did you see the commit I linked above? 21:33:07 or are you asking about something else 21:33:17 yes, you need the commit advil linked there to fix the libGL and libGLU issues 21:33:20 o i didnt catch that, lemme try 21:33:33 i have never had a good experience with c++ on windows ever 21:33:34 you can edit your makefile according to that commit or try to merge the diff / apply the commit 21:34:18 it's a pretty simple edit, if you don't know git very well...but sdl2 might still not build if you're hitting that issue 21:34:40 there seemed to be multiple ways to run a command line in MSYS2, if you do one of the others it will set the uname differently in a way that works 21:34:51 sorry, I don't have my VM up or I'd be more specific 21:35:00 as I recall you have to do something like "start crawl.exe" 21:35:12 from the msys terminal to get the console crawl to run 21:35:29 but sounds like this isn't about that 21:35:39 no, I just mean to get a terminal at all 21:35:44 wait, so compiling this way won't give me a traditional "click the exe in the folder" build? 21:35:52 yes, it will 21:35:52 oh, it will 21:35:56 o word 21:37:43 ok so in "git pull [options] [ [...]]" does refspec refer to the commit id in the url? 21:38:05 hm 21:38:07 or this, 7512b0443140d0c1a7177ed130f67e7f7eceae58, from the page 21:38:16 you've probably cloned hellmonk's repository, right? 21:38:21 yeah 21:38:48 you can possibly do git cherry-pick REPO_URL HASH 21:38:51 from that checkout 21:39:06 maybe you have to add the crawl repo as a remote first though 21:39:10 so you could do 21:39:21 well the fix I had for out of pty devices apparently doesn't work 21:39:28 git remote add crawl https://github.com/crawl/crawl.git 21:39:35 in the clone of hellcrawl 21:39:45 this will let that repo see the crawl repo as remote named just 'crawl' 21:40:02 then you can do: git fetch crawl 21:40:22 done 21:40:32 then you can do: git cherry-pick 7512b044314 21:40:52 it might not apply directly though 21:41:17 if that cherry-pick command doesn't give an error 21:41:37 and if this shows the commit details when you run it: git show 21:41:42 error: your local changes would be overwritten by cherry-pick. hint: commit your changes or stash them to proceed. fatal: cherry-pick failed 21:41:46 ah, yeah 21:41:49 you have local changes 21:41:53 you edited something? 21:42:00 git status 21:42:01 nope 21:42:10 and then git diff 21:42:12 to see what 21:42:21 wait, could it be because i opened the makefile in notepad? 21:42:24 i never changed anything though 21:42:29 modified: crawl-ref/source/Makefile 21:42:36 yeah, to reset 21:42:43 close makefile in notpad 21:42:45 well 21:42:50 close it and then do git status again 21:42:52 if git thinks the file is modified, then you did change something 21:42:52 see if still modified 21:43:05 if it's still modified after you close in notepad 21:43:09 it was a while ago, i don't even have notepad open right now 21:43:11 should i just redo the repo 21:43:12 simply do this: git reset --hard 21:43:14 no 21:43:18 run that git reset --hard 21:43:24 then you'll be fine 21:43:40 alright the cherry pick seemed to work now 21:43:55 ok, like advil said earlier, you may need another commit 21:44:03 advil: do you know which he'd need? 21:44:15 or has hellcrawl upgraded their contrib to sdl2, not sure 21:44:20 it's a submodule update unfortunately, I'm not sure what the most expedient thing would be for applying that 21:44:21 nick_na_me: you can try compilation right now 21:44:25 ah 21:44:56 hrm, would compilation just work then? 21:44:57 it might 21:45:00 and yeah, it probably depends on the sdl2 version 21:45:04 maybe 21:45:09 alright here goes nothin 21:45:18 i'll report back when its done 21:46:55 the crawl commit is 1fede220a43cc0c8c48548, and the crawl-sdl2 commit is https://github.com/crawl/crawl-sdl2/commit/0527bfaf5a7e44f995dc25d2a6860a736e644435 21:48:25 yeah for a submodule like that...hrm, I bet hellcrawl is using the same submodules, isn't it 21:48:39 so possibly that sdl2 change is already present 21:48:43 hence the problem 21:48:51 well, he'd have to manually update the main module 21:49:01 er the main repo 21:49:10 well no I don't think so, not up; this is a new clone 21:49:17 *not update 21:49:28 so he probably has the current sdl2 submodule I'm saying 21:49:37 but yeah that can be updated with git submodule update 21:49:47 isn't there a commit in the main repo that sets the version it's pulling from the submodule repo? 21:49:49 and then probably just cherry-pick the sdl2 commit from crawl 21:49:55 I have no idea how submodules work 21:49:57 yes 21:50:05 oh I see what you mean 21:50:07 I'm saying he probably only has to pull that commit 21:50:10 and the reset will work fine 21:50:10 yeah 21:50:19 s/pull/cherry-pick/ 21:50:35 unless we had other Makefile changes that are necessary 21:55:15 i think the sdl commit may be necessary 21:55:32 got a bunch of sdl errors 21:57:30 here's the terminal output starting from when it started spitting out sdl errors https://pastebin.com/04VgRtgH 21:57:56 yeah, I think that's the same issue that that commit fixes 21:58:16 yeah, so to apply that commit 21:58:18 can I update a branch with dgl then restart the server afterwards? or do I need to bring it down first? 21:58:47 you can: git cherry-pick 1fede220a43cc0c8c48548, 21:58:49 er 21:58:52 without the comma 21:58:53 at the end 21:59:09 then you probably have to do: git submodule update 21:59:41 error: Cherry-picking is not possible because you have unmerged files. hint: Fix them up in the work tree, and then use 'git add/rm ' hint: as appropriate to mark resolution and make a commit. fatal: cherry-pick failed 22:00:02 ah, sounds like a conflict 22:00:12 %git 1fede220a43cc0c8c48548, 22:00:12 Could not find commit 1fede220a43cc0c8c48548, (git returned 128) 22:00:18 %git 1fede220a43cc0c8c48548 22:00:18 07advil02 * 0.22-a0-75-g1fede22: Update submodule 10(5 days ago, 1 file, 1+ 1-) 13https://github.com/crawl/crawl/commit/1fede220a43c 22:00:56 hrmm 22:01:10 submodules are the worst 22:01:17 it's not that bad, I think 22:01:38 nick_na_me: what does this show: git status 22:01:53 On branch master Your branch is ahead of 'origin/master' by 1 commit. (use "git push" to publish your local commits) You are currently cherry-picking commit 1fede220a4. (fix conflicts and run "git cherry-pick --continue") (use "git cherry-pick --abort" to cancel the cherry-pick operation) Unmerged paths: (use "git add ..." to mark resolution) both modified: crawl-ref/source/contrib/sdl2 no changes 22:02:00 wow that pasted really shitty, sorry 22:03:30 let me try this myself, one sec 22:08:43 oh 22:10:00 nick_na_me: ok, so do this: git cherry-pick --abort 22:10:07 to cancel that cherry pick 22:10:14 done 22:10:28 now cd contrib/sdl2 22:10:44 and do git branch 22:10:54 it should say something about you not being on a branch 22:11:03 $ git branch * (HEAD detached at 1e068b9) master 22:11:23 yep 22:11:28 do: git checkout master 22:11:47 $ git checkout master Previous HEAD position was 1e068b9... High DPI support for Android. Switched to branch 'master' Your branch is up to date with 'origin/master'. 22:12:02 then do: cd ../.. 22:12:18 now git status should show that the contrib/sdl2 submodule is changed 22:12:29 yep, modified: contrib/sdl2 (new commits) 22:12:35 ok, do: git add contrib/sdl2 22:12:53 done 22:12:53 then do: git commit -m "Update sdl2 submodule" 22:13:22 1 file changed, 1 insertion(+), 1 deletion(-) 22:13:22 this has you make a commit to update the repo to the latest submodule 22:13:22 now you can try to compile again 22:13:28 you may need to 22:13:33 after i did the abort thing before did that undo the opengl commit? 22:13:49 you still want that opengl commit 22:13:56 I'm not sure what you mean by the abort thing 22:14:04 oh i thought we threw out the changes before somehow 22:14:06 if you type: git log 22:14:21 you should see your commit at the top followed by the other commit talking about the makefile 22:14:24 that you cherry-picked 22:14:28 you want to see both of those 22:14:30 yep 22:14:34 yeah then you should be good 22:14:39 you may need to do this though 22:14:42 cd contrib 22:14:45 make clean 22:14:47 cd .. 22:14:51 to clean the contribs 22:15:02 then you can try to compile again 22:15:05 when i do make clean, where would i place the tiles argument 22:15:12 you don't place any args 22:15:21 you just type: make clean 22:15:25 this is just for the contribs 22:15:30 it's not for the crawl make 22:15:33 ah my bad 22:15:37 alright compiling now :O 22:16:00 !commit Fix SDL 22:16:01 03johnstein ⛐ 0.21-a0-2036-gbda85f5: Fix SDL 10(in the future, 24 files, 259+ 303-) 13http://s-z.org/neil/git/commit.png?p=crawl.git;a=commitdiff;h=bda85f5 22:16:30 I guess for whatever reason you can't cherry-pick a submodule update 22:16:48 well, I tried but it warned me about an empty commit 22:16:59 wonder if that would have actually still worked 22:17:20 "User initialization returned an error for user Huene!" from the log, how do I find out what broke? 22:17:22 so I just had him checkout master in the submodule, which has the parent repo see a change in the submodule 22:17:43 yeah it's that init script 22:17:52 what's the line you have in your config.py for that script? 22:18:40 init_player_program = "/bin/init-webtiles.sh" 22:18:40 do you have a copy there? 22:18:40 hmm didn't get very far 22:18:40 in the chroot? 22:18:47 it got stuck on something xinput related 22:18:57 try to pastebin it nick_na_me 22:19:09 https://pastebin.com/raw/2wpcVZnT 22:19:21 oh 22:19:24 yeah in the chroot and yes it exists and is executable 22:19:24 isn't that the old error? 22:19:50 hrm 22:20:00 Huene`: the repo has another name for that file... 22:20:02 wait 22:20:09 Huene` did you copy the wrong file... 22:20:13 that looks like the init script... 22:20:21 like init daemon init 22:20:29 not the init script you want webtiles to run... 22:20:44 that's the script you put in init.d, isn't it? init-webtiles.sh? 22:20:50 that's totally the wrong script 22:21:04 this is a shell script run by webtiles for each user registration 22:21:18 it should not be the script init tries to use to start webtiles itself 22:21:44 well maybe it's not that script 22:21:46 but that name is weird 22:22:06 not sure why yours has a different name 22:22:14 no that's the one that generates the new players, it's not the init.d script 22:22:42 the one in init.d is just simply webtiles 22:23:02 ok phew 22:23:10 yeah I see the szorg config has that 22:23:57 so is there a custom one in the repo or something? 22:24:22 nick_na_me: that error looks like the old error people were getting from msys2 22:24:41 we fixed this in the repo 22:24:51 well we fixed it by upgrading sdl2 22:24:59 and you just upgraded sdl2 22:26:48 nick_na_me: if you do: cd contrib/sdl2 && git branch 22:26:52 does it show you on master? 22:28:21 Huene`: I think the template for the script is coming from chroot/bin/init-webtiles.sh 22:28:27 and when you publish it's updating from there 22:28:52 so your script, is it actually published, the one in the chroot? 22:29:15 you mention you copied it but I think the dgl publish is copying it for you 22:29:15 yeah 22:29:18 it has the actual paths and not the template variables? the live one? 22:29:26 I'm running the one in chroot/bin 22:29:47 well that's what I'm saying 22:29:53 if you look at that script, it's a template 22:30:00 I think it's published by dgl 22:30:09 yep it says i'm on mater 22:30:22 ok, so you should have the sdl2 fixes necessary nick_na_me 22:30:32 advil: not sure if you know of anything that would prevent him from compiling 22:30:43 he has the right submodule version 22:32:15 Huene`: I think your problem is you're running just the template of the script 22:32:25 and not the published versions that has all those conf variables replaced properly 22:32:51 it shouldn't look like the one in the repo; like your live config.py, it should have the relevant template var replaced with actual paths 22:33:28 I see what I did, my derp 22:34:32 I forgot how this script is customized for the dgl setup 22:34:37 it's not the one we have in util in the repo 22:34:54 also you'll need to actually create the db in step 13 22:34:58 before registration will work 22:35:14 13.1, that is 22:37:19 does webtiles-init-player.sh sound better? 22:37:31 sorry? 22:37:38 for player initialization 22:37:48 I'm not sure what you're asking 22:37:50 I found it in my old installation 22:38:03 well, that's the file we have in the repo 22:38:08 but it's for running webtiles standalone 22:38:11 without dgl integration 22:38:15 ahh I see 22:38:20 it's not appropriate for your setup 22:40:23 not sure why that xinput thing would still be happening, I definitely didn't see that on current master 22:41:16 gammafunk: yea submodules don't work right with cherry picking. found that out at work last yea. submodules are weird 22:41:58 hrm 22:42:12 nick_na_me: can you try this 22:42:16 cd contrib/sdl2 22:42:18 make clean 22:42:23 then: cd ../.. 22:42:29 try compilation again 22:42:35 I think it's just a stale build 22:42:48 trying right now 22:43:19 same result 22:43:43 well, did it rebuild sdl2? 22:43:48 that was really fast 22:43:53 sounds like it's not even rebuilding sdl2 22:44:16 when i go to the sdl2 folder and do make clean it just lists a bunch of source files basically 22:44:36 yes, that's fine 22:44:37 like this https://pastebin.com/raw/fEFU6hBn 22:44:45 but when you do the crawl build 22:45:07 does it show sdl2 being built from scratch? 22:45:07 it should be 22:45:16 yeah it tries to rebuild 22:45:19 i'll paste the whole thing for ya 22:45:21 maybe try "make clean-contrib" in the main source directory (caveat, that will nuke a bunch of stuff besides sdl2) 22:45:35 oh, didn't know we had a target like that 22:45:44 https://pastebin.com/raw/Ti4SawcR 22:46:17 advil: if i do it that way where do i add "TILES=y"? 22:46:35 make clean-contrib is just to clean up stuff to ensure it rebuilds 22:46:41 then do make TILES=y afterwards 22:46:43 ah 22:47:34 alright did clean-contrib and it seems to be reinstalling a buncha stuff now during compilation 22:47:43 I've got to go, sorry, gl...I can probably try building hellcrawl in msys2 myself some time tomorrow if it's not sorted out by then 22:48:12 thanks for the help! 22:48:21 hmm stops at the same point 22:48:56 i am gonna give up on this for now, i gotta get some food :< 22:49:16 could someone with a working config see what version of ptyprocess you're running? it's in pip 22:49:22 worse comes to worst i can just wait for the Certified Hellmonk Build :P 22:51:14 I can't shake this out of pty error 22:53:22 nick_na_me: you can ask hellmonk to try to merge the sdl2 updates 22:53:38 or yeah maybe he'll do another build or something 23:59:27 Unstable branch on CRAWL.XTAHUA.COM updated to: 0.22-a0-79-g605b837 (34)