Time Nick Message 04:22 _stephen_ Did someone break the build? 04:36 _stephen_ http://paste.debian.net/971087/ for the first error, and http://paste.debian.net/971088/ for the second. 04:36 _stephen_ fresh checkout for both minetest and minetest_game 04:37 _stephen_ oh, is there a minetst-dev channel or something? 04:37 _stephen_ I should probably read the web site before posting random content to the irc channel, sorry for any breach of etti.. etiq... courtesy. 04:38 _stephen_ sory, I'll head to minetest-dev 10:45 IhrFussel Why does the ^ key act like 1 ? (at least on my PC) 10:46 IhrFussel I can press ^ or 1 and the item slot will change to the 1st one 10:51 sfan5 might be an irrlicht bug 10:56 IhrFussel sfan5, regarding the player information code... will this be safe now? https://pastebin.com/d9U8CxJt 10:57 sfan5 no, you are still calling the function twice 10:58 IhrFussel But it also crashed when I called it once meaning I put it into a var and checked it 10:58 sfan5 then you were doing something wrong 11:01 sfan5 IhrFussel: https://pastebin.com/raw/UeSSA8FF 11:01 sfan5 tho i'm still not sure what bcmsg is for 11:02 IhrFussel One sec I'm pasting the whole callback code 11:07 IhrFussel sfan5, https://pastebin.com/RVqvrBmj 11:08 sfan5 that's full of places where you could be indexing nil 11:08 sfan5 also useless checks 11:09 IhrFussel But it's always the same line that throws the error...I didn't have issues before..it's the "protv = minetest.get_player_information(tuser).protocol_version" line 11:09 sfan5 like i said before 11:09 sfan5 the problem is that minetest.get_player_information(tuser) returns nil and it crashes when you index it 11:10 sfan5 the problem is not that protv is nil 11:11 IhrFussel Then how do I prevent it? I want to fetch the protocol version for each player inside the loop 11:12 sfan5 do it like in my code 11:12 sfan5 store minetest.get_player_information(tuser) in a variable 11:13 sfan5 then check if that variables is nil, if it isn't then you can do variable.protocol_version 11:17 IhrFussel sfan5, or better yet I simply save the protocol version on_joinplayer? 11:17 sfan5 that's also possible 14:15 IhrFussel sfan5, protv[joinn] = minetest.get_player_information(joinn).protocol_version this line in on_joinplayer() just crashed my server 14:16 IhrFussel Runtime error from mod 'own_commands' in callback on_joinplayer(): ...inetest/worlds/oldserver/worldmods/own_commands/init.lua:1245: attempt to index a nil value 14:17 IhrFussel Smells like a bug to me or why would there be NO protocol version on joinplayer? 14:18 IhrFussel Perhaps some clients modified the protocol version and it doesn't send any? 14:38 Hobo Yo 15:06 sfan5 IhrFussel: no that's impossible 15:06 sfan5 maybe that information is just not available at join yet 15:09 IhrFussel sfan5, it didn't crash my server at FIRST join...I am actually more and more sure that a certain client ommitted the protocol version and made my server crash 15:12 IhrFussel 10+ players were able to join fine just now and each of them has their protocol version stored in the protv table 15:14 IhrFussel I looked at the C++ code...it looks like it would be pretty easy to remove the protocol version/any other client info 15:16 silwol I'm having problems starting minetest 0.4.15 with unifieddyes. 15:16 silwol the error message is: 15:16 silwol ERROR[Main]: ModError: Failed to load and run script from /var/games/minetest-server/.minetest/mods/unifieddyes/init.lua: 15:16 silwol ERROR[Main]: ...ames/minetest-server/.minetest/mods/unifieddyes/init.lua:36: attempt to index field 'settings' (a nil value) 15:17 silwol has the API been changed for 0.4.16 in a way that is no longer compatible with 0.4.15? 15:17 sfan5 IhrFussel: what do you mean? a client can't establish a connection without sending a protocol version 15:18 sfan5 silwol: would be nice seeing the code on the line in question 15:18 silwol sfan5: I think I found the change which causes the problem: 15:18 silwol https://github.com/minetest-mods/unifieddyes/commit/9dd533f4a0bb313d50d8d67f7cdf4cce9a30ab4e#diff-d7d74284e2e39f6c06d199c8e2bedbd0 15:20 IhrFussel sfan5, then explain to me how 15 players can join and store their protocol version just fine, but 1 client seemed to have crashed everything cause the protocol version wasn't there 15:20 sfan5 idk 15:20 sfan5 also you still have not understood the problem 15:20 sfan5 minetest.get_player_information(joinn) returns nil 15:20 sfan5 that means there is no player information at all 15:21 sfan5 the protocol_version is not even there (it's not just nil) 15:21 silwol ok, other mods seem to be using the new API as well… I'm running a debian based server, so maybe I will try the experimental 0.4.16 packages. 15:22 IhrFussel I didn't say the version is nil I said it's empty/non-existent 15:22 sfan5 non-existent is the correct term, it's not empty either 15:23 IhrFussel So what could be the problem then? You say no client can connect without client info including a protocol version 15:23 sfan5 silwol: the settings change was committed to the engine on 8th may, the mod change was 16th; the problem is that this change immediately destroys compatiblity and forces the use of 0.4.16 15:23 IhrFussel The player can't be lost on_joinplayer()...how would that be possible? 15:24 sfan5 idk 15:24 sfan5 but the problem is that it somehow doesn't return any information even though the information exists 15:25 silwol sfan5: yes that's the problem I am facing right now. It's a private server for my kids and me, so I assume I will take the risk and run 0.4.16 from debian experimental. 15:28 IhrFussel sfan5, can I somehow PREVENT a crash on a nil value? 15:35 red-001 check if the vaule is nil? 15:36 red-001 so if value and check_that_crash_with_nil then 15:36 Sokomine hmm. i need a pathfinder that can handle ladders... 15:37 IhrFussel red-001, you mean local prot_ver = minetest.get_player_information(name) if prot_ver ~= nil -- add to table end ? 15:37 red-001 lua always resolves the first part of an AND first so you can be certain that the second part wouldn't run if the first one is nil 15:37 Sokomine oh. wrong channel. sorry 15:38 Sokomine (btw, the pathfinder from burli does really fine. and it's great that it's written in lua and thus can be taught to handle doors) 15:39 red-001 IhrFussel, https://paste.ee/p/BywM2 15:39 red-001 like so 15:45 IhrFussel red-001, okay I applied your code now..thanks 15:51 IhrFussel Also I added log messages that tell the protocol version on_joinplayer() to see who's the "bad guy" 15:52 red-001 huh? 15:52 IhrFussel To see who's the client that breaks the function 21:13 zarcade_droid Small question, is there a way to live-reload textures in-game? 21:14 zarcade_droid So that I wouldn't have to quit to main menu and load the map again. 21:14 sfan5 nopr 21:14 sfan5 nope* 23:10 TestyRabbit Hey guys, so I'm trying to set up a chat command that will change a block's groups to include {unbreakable=1} 23:10 TestyRabbit It updates the groups but the game doesn't seem to recognize it 23:11 TestyRabbit am I unable to change a node's groups on the fly like that? 23:14 Lord_Buckethead yes 23:16 TestyRabbit Is there a way around that? 23:16 rubenwardy you could do it like how node protection does it 23:16 rubenwardy ie: it'll still dig, but you can stop it actually being dug - it'll pop back 23:16 TestyRabbit the problem with node protection is that it pops back 23:16 TestyRabbit and we're working with really slow hardware 23:16 rubenwardy it's a work around 23:16 TestyRabbit fair enough 23:16 rubenwardy really we need meta prediction 23:16 TestyRabbit was wondering about other stuff 23:17 TestyRabbit Yeah sounds good, was just checking in. Because sometimes with node protection and our slow hardware, the game takes too long to pop it back and it allows the user to walk through the spot that should be blocked