Time Nick Message 00:00 epoch not sure if there's a way to script a minetest command after connecting yet. 00:01 epoch I might have to write a command line option for it. 00:02 epoch the path portion of a minetest url could just be a string that gets passed to the minetest server somehow and it can do whatever it wants with it 00:25 Edgy1 do we have any estimations about when 5.1 will get released? 00:50 Helenah VanessaE: ;) 06:30 Nigel Mornin all. Does anyone know of any documentation at all about how to set up apache to serve the server media files to clients with curl? 06:30 Nigel my server is getting lag spikes when new users connect & I'd like to minimise it by offloading the media downloads... 06:48 Nigel Ok, I just found https://forum.minetest.net/viewtopic.php?f=14&t=18951 06:50 Nigel so another question, if the media isn't available from sofar's public server, will the client fall back to loading from my server? 07:10 Nigel nm, having read the thread, I'll just add sofar's public media server as my mediasource, fantastic service sofar, thanks ;-) 14:38 Helenah buffer 36 14:47 hisforever Hi runninh mt 5.0.1, i butlt a House but when I try to add a chair aist it link so I can share the Debug File? pleasein the room I get a fatal crash. Can anybody give me the p 14:47 hisforever please? 15:32 lllI1I I'm writing up a death mechanic, wherein the player instead of having the default formspec is sent to a respawn waiting area, but I'm hitting a few snags: first, the death handling is hard-coded, so I need to make sure my function runs before the player actually dies 15:33 lllI1I I managed to get that working somewhat, by registering on player hpchange and running the function if it would have been a fatal change, which works so far, but it's not an ideal situation 15:34 lllI1I I emulate the death event by calling all the registered death functions, and I do the same for respawning 15:35 lllI1I but my problem comes from if another mod would change the hpchange after my function runs, as that could make an otherwise okay blow lethal and vice-versa 15:36 lllI1I if I could guarantee that my function runs last, after all the other modifiers have gone, that would solve this issue 15:36 lllI1I but if I don't register this function as a modifier, the default death happens as well 15:37 lllI1I can anyone offer a hand with this? 15:38 lllI1I or, if nothing else, would anyone be opposed to breaking the death handling out of its hard-coded shell so that there could be a more sophisticated way to do this? 15:44 sfan5 you can fudge around in order of registered callbacks after all mods have loaded 15:45 lllI1I how do I do that 15:47 sfan5 there's a minetest.registered_on_hpchange (or whatever else), which is just a list you can touch and reoder 15:47 sfan5 reorder* 15:50 lllI1I and I would do that in the uhh "on_all_mods_registered" function or whatever it's called? 15:53 lllI1I found it, thanks 17:17 lllI1I how do I handle minetest.after when a server goes down before it fires 17:18 lllI1I because I'm stuck in purgatory now, never to respawn 17:19 Krock that sucks. you could try to add pending query entries in the mod storage 17:22 lllI1I how uh does that work 17:23 Krock are you familiar with the Lua syntax? 17:23 Krock however, in your mod's init.lua file you can get its storage data using https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L4648 17:24 Krock afterwards you can use the returned Settings userdata (~class) like the regular Minetest settings API 17:25 Krock although there are a few more options for settings (aka StorageRef): https://github.com/minetest/minetest/blob/master/doc/lua_api.txt#L5056 17:26 Krock or just forget about "settings" because that might just confuse since those are two different types of userdatra 17:27 lllI1I yeah I should be able to figure out how mod storage works 17:27 lllI1I how would I uhm use this to handle respawning better 17:28 lllI1I timers and etc 17:29 Cornelia You make a note that a player needs to respawn and when the server shutdowns that note is saved. When the server is relaunched, you read the saved data and use it to restart whatever timers you need. 17:31 Krock use it like a queue. push back new actions when minetest.after was/is called, pop front once the callback was executed 17:31 Krock on server start you can then simply check whether the queue is non-empty and process the leftover actions as soon the player joins 17:31 Krock or well.. rather "on player join you can then..." 17:32 lllI1I so a few queues then, one per player? 17:32 Krock or one, for the entire mod 17:33 lllI1I I'm not sure I understand then 17:33 Krock my_mod_storage:set_string("playername", minetest.serialize({ action = "teleport", pos = {??}})) 17:34 Krock for playername, data in pairs(my_mod_storage:to_table().fields) do 17:34 Krock local action_data = minetest.deserialize(data) -- do something .... end 17:35 Krock or, when the task completed before server is shutting down: my_mod_storage:set_string("playername", nil) 17:35 lllI1I but then what if a different player logs in 17:36 lllI1I would we just go through the entire queue and ignore ones that aren't for this player? 17:37 Krock that or faster: :get_string("joined_playername") .. if it's empty or nil: nothing pending 17:37 Krock beware this can only hold one action. you might figure out another mechanism to keep multiple actions in the queue 17:38 Krock (as in: multiple actions per queue/per player) 17:39 lllI1I what about deserializing the queue, adding another action, reserializing for storage? 17:39 lllI1I that would be a bit more CPU consuming but it would handle more actions 17:40 lllI1I I'd probably also want a timestamp of sorts in the action def, or else people could exploit by quitting and rejoining before the timer's up 17:40 Krock of course, that would be an option :) 17:40 Krock hehe. already thinking about possible exploits. I like. 17:41 lllI1I that's how I figured out that my function needs to come last 17:42 lllI1I OH speaking of, it looks like the respawn code in the engine doesn't check to see if a player is dead before running the respawn events 17:42 lllI1I someone with a cracked client could potentially use this to abuse 17:42 lllI1I I haven't tested it or anything but that's what it looks like 17:44 Krock handleCommand_Respawn L943 17:44 Krock there's a player->isDead protection 17:44 lllI1I which file 17:44 Krock network/serverpackethandler.cpp 17:45 Krock like all other handleCommand_* functions 17:45 lllI1I sorry, only recently started looking at the C++ source 17:45 lllI1I how did I manage to miss that 17:46 Krock np. it's sometimes hard to find the right location. this was an easy one, though. 17:47 lllI1I I'm fairly certain I looked all over 17:47 lllI1I must not have huhu thanks 17:48 Krock !next 17:48 MinetestBot Another satisfied customer. Next! 20:59 lllI1I how can I invalidate or cancel a minetest.after callback 21:08 lllI1I it looks like there is nothing returned by the function 21:09 lllI1I if I add a timer back when the player joins again, the respawn function will be called at least twice when the timer ends 21:09 lllI1I perhaps more if they spam join/parts 21:50 Jojo69duku_ hello girls ! 21:51 Jojo69duku_ just to tell you something is wrong with 5.01 on linux and android, when you put a password on a server to register et log in you cannot click on "connection" 21:52 Jojo69duku_ XoXo ! 21:52 sfan5 can you elaborate on "cannot click"? 21:54 Jojo69duku_ yeah sure 21:54 Jojo69duku_ if you click nothing happen 21:59 Jojo69duku_ (i select a server and click on "connect", minetest say me i need to enter a password, after entered /digit /all/ or nothing ( i tried all possibilities), i click on" register" and nothing happen) 22:08 Jojo69duku_ maybe i can report this on github ? 22:08 Jojo69duku_ @sfan5 ? 22:09 sfan5 that would be a good idea to ensure it is seen by the devs 22:09 Jojo69duku_ ah.. 22:10 Jojo69duku_ ok i'm going to do this 22:10 Jojo69duku_ ciao creepy fag ! 23:59 lllI1I I don't suppose there's a way to change node physics based on player properties is there?