Time Nick Message 00:00 prrpx c, c++ are (figuratively) impossible to sandbox 00:00 agrecascino prrpx, pledge? 00:01 Hijiri I was surprised at all the WIP mod updates then noticed it was azekill replying to all of them 00:06 thePalindrome Besides, Lua is safer because you don't touch raw memory :P 00:06 shamoanjac https://www.youtube.com/watch?v=ILWSp0m9G2U 00:06 agrecascino thePalindrome, it was (sort of) a joke 00:06 * thePalindrome rants anyway 00:06 shamoanjac of course C can be sandboxed prrpx you ****** 00:07 agrecascino prrpx, fuck your shitty borrow checker 00:07 shamoanjac I agree with the idea of a C++ API 00:07 shamoanjac C is truly a good language for an API 00:07 shamoanjac I can only imagine how godly it'd be to write Minetest mods in ASM 00:08 shamoanjac shitposting apart, it could use QuakeC 00:08 shamoanjac with a Quake VM 00:08 shamoanjac and could load Quake models 00:08 prrpx shamoanjac: you can but it's a huge, platform-dependent task 00:08 prrpx that's why i said (figuratively) you dumb homosexual 00:08 agrecascino shamoanjac, write mods in fasmg 00:09 shamoanjac what is fasmg 00:09 prrpx i'm gonna create 00:09 * thePalindrome flees from the shitposting 00:09 prrpx rustscript 00:09 prrpx how does that sound 00:09 prrpx Rustscript 00:09 agrecascino shamoanjac, it's a multiplatform assembler 00:09 shamoanjac sounds like shit 00:09 agrecascino made by the creator of flat assembler 00:09 prrpx wiht it's own mini-borrowchecker 00:09 shamoanjac if you don't write for your own machine 00:09 shamoanjac for your very own ZISC processor 00:09 shamoanjac then you suck 00:09 prrpx ok question 00:10 KaadmY write mods in brainf*** 00:10 shamoanjac ok, RISC is considered meh-tier 00:10 KaadmY then you're a god 00:10 * shamoanjac starts considering a bf mod akin to Lua microcontrollers 00:11 prrpx what's more meme? writing a project in C89 or K&R C? 00:11 prrpx will people be impressed if i write K&R C? 00:11 shamoanjac no prrpx 00:11 shamoanjac no one was impressed by C-chan 00:11 shamoanjac yet I wrote it in 00:11 prrpx no? 00:11 shamoanjac -ansi -pedantic 00:11 shamoanjac -Werror -Wall -Wextra 00:11 prrpx =( 00:11 shamoanjac I use POSIX functions instead of the stdlib though 00:12 shamoanjac because I'm a #coolkid 00:12 agrecascino does c-chan work as an imageboard yet? 00:12 shamoanjac no 00:12 shamoanjac it serves static content and that's it 00:15 prrpx shamoanjac: did you shill your shit enough, tho? 00:15 shamoanjac I GOT CHILLS 00:15 shamoanjac THEY'RE MULTIPLYING 00:15 shamoanjac no, prrpx 00:15 agrecascino how do i use the chanalyser? 00:16 shamoanjac I don't mention 6-->!!7-->!!2https://github.com/shamoanjac/cchan7!!<--6!!<-- enough 00:17 shamoanjac agrecascino, is the version on github the one which uses SQL? 00:17 shamoanjac s/SQL/sqlite 00:17 agrecascino shamoanjac, yeah i think 00:17 shamoanjac if yes, it's useless, I didn't write analyses for it 00:17 shamoanjac you might want to get an older version 00:17 shamoanjac then you do something like 00:18 agrecascino shamoanjac, where? 00:18 shamoanjac ./chanalyser.py 8chan v 00:18 shamoanjac on github 00:18 shamoanjac just get older commits 00:18 shamoanjac get the latest one from october and you're golden 00:20 shamoanjac maybe there are commits from february 00:20 shamoanjac these ones would be ok, too 00:20 shamoanjac I don't mention 6-->!!7-->!!2https://github.com/shamoanjac/cchan7!!<--6!!<-- enough 00:26 agrecascino alright 00:26 agrecascino now how do i access results 00:27 prrpx u don't 00:27 prrpx u pray 00:27 shamoanjac ./datacrunch.py 00:27 shamoanjac for word comparison 00:27 prrpx oh i thought you meant minetest lua 00:27 shamoanjac ./word_compare.sh 00:28 agrecascino what would stuff be 00:29 shamoanjac last 300 lines contain commands 00:30 shamoanjac for example 00:30 shamoanjac ./datacrunch.py getmemes 00:30 agrecascino shamoanjac, what file is stuff 00:30 shamoanjac datacrunch.py 00:30 shamoanjac with a ton of if elif else for commands (yuck) 00:30 agrecascino IOError: [Errno 2] No such file or directory: 'global.analysis' 00:30 shamoanjac ah, you have to run a global 00:30 shamoanjac ./datacrunch.py global 00:31 shamoanjac ./datacrunch.py globalfreq 00:31 shamoanjac make sure you have downloaded more boards 00:31 shamoanjac otherwise the memes command is meaningless 00:31 shamoanjac I have about 1GB of JSON files which range from as long ago as october 00:31 shamoanjac 1 year of chan evolution 00:32 shamoanjac you can also 00:32 shamoanjac ./datacrunch.py distance chan1 board1 chan2 board2 00:32 shamoanjac ./datacrunch.py speeds 00:33 prrpx is python better than lua? 00:33 prrpx for scripting 00:34 shamoanjac Python is better than anything but ANSI C 00:34 shamoanjac and AT&T assembly of course 00:35 shamoanjac 3>you will never marry a girl who -Wall -Werror -Wextra -pedantic -ansi 00:35 agrecascino intel > AT&T 00:35 shamoanjac why live 00:35 prrpx http://c2.com/cgi/wiki?PythonProblems 00:35 prrpx c2.com always knows the answers 00:36 prrpx >significant whitespace 00:36 prrpx oh yea i remember now 00:37 shamoanjac Python has no problems fuck off 00:37 prrpx into the trash you go 00:37 prrpx you favorite language 00:37 shamoanjac the only problem with Python is that it's not C 00:37 prrpx is a shit 00:37 prrpx ok should i tell you 00:37 shamoanjac ur waifu is a shit 00:37 prrpx should i tell you why python fails 00:37 prrpx why python has no future 00:37 shamoanjac because u cant program LOL 00:37 prrpx you know what python lacks? 00:37 shamoanjac if python is so bad 00:37 prrpx forget static typing 00:37 shamoanjac then why is chanalysis written in Python 00:37 shamoanjac LOL 00:37 prrpx you know what python lacks? 00:38 shamoanjac ur mom 00:38 shamoanjac thats what it lacks 00:38 shamoanjac bc im wit her rn 00:38 prrpx forget native executeables 00:38 prrpx you know 00:38 shamoanjac with ur m.o.m. 00:38 prrpx you know what python lacks 00:38 prrpx forget it's shitty syntax 00:38 prrpx you know what python lacks 00:38 prrpx ok answer me this question 00:38 shamoanjac im in bed with ur mom prrpx that invalids ur arguments stfu 00:38 prrpx Q: Does it have a borrow checker? 00:38 prrpx A: no 00:38 prrpx into the trash you go 00:39 shamoanjac like ur opinions 00:39 shamoanjac what do you use 00:39 shamoanjac Lua? 00:39 shamoanjac JS? 00:39 shamoanjac Perl? 00:39 shamoanjac Ruby? 00:39 prrpx uhm 00:39 prrpx you know exactly what i use 00:39 shamoanjac no 00:39 shamoanjac you just meme about it 00:39 shamoanjac I do all my scripts in C 00:39 prrpx you don't just meme 00:40 prrpx i'm genuinely a rust fanboy 00:41 prrpx i really think rust will eventually replace c++ for most uses, where applicable 00:41 prrpx i genuinely think c++ is an obsolete language 00:41 prrpx i genuinely think c++ should die 00:41 shamoanjac 9>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>Rust 00:41 shamoanjac 9>I am genuinely a sucker 00:41 prrpx i genuinely think rust is the single fucking greatest thing 00:42 shamoanjac 9>my opinions are genuinely shit 00:42 shamoanjac LOL 00:42 shamoanjac B T F O 00:42 shamoanjac T 00:42 shamoanjac F 00:42 shamoanjac O 00:42 prrpx that's gonna safe programming as a profession 00:42 shamoanjac bow before my superior rethoric and languages 00:42 shamoanjac 9>normie language 00:42 shamoanjac 9>save programming 00:42 prrpx ok 00:42 prrpx have u even tried it 00:42 prrpx more than 10 minutes 00:43 shamoanjac no 00:43 shamoanjac i dont need to 00:43 shamoanjac bc i no the memes 00:43 prrpx and that's why 00:43 shamoanjac if u dont use c 00:43 shamoanjac its bc ur 2 dumb 2 use it 00:43 shamoanjac lol 00:43 prrpx and that's why your opinion isn't worth the shit it wipes from my buttocks 00:43 shamoanjac stfu kid 00:44 shamoanjac learn K&R 00:44 prrpx people like you only meme 00:44 shamoanjac https://www.youtube.com/watch?v=VdQY7BusJNU 00:44 prrpx without sense for reason and consequences 00:44 prrpx behind my meming, there's a method and a clear intent 00:44 shamoanjac / \ 00:44 shamoanjac o o 00:44 shamoanjac \ 00:44 shamoanjac / 00:44 prrpx i'm bettering the world with my shitposting 00:44 shamoanjac \__/ 00:44 shamoanjac look 00:44 shamoanjac this is my face reading you 00:44 shamoanjac the smug caret smiley 00:45 prrpx i can't see it 00:45 shamoanjac bc ur font is shit 00:45 prrpx my message broke it in two 00:45 shamoanjac / / 00:45 prrpx u were too slow 00:45 shamoanjac / / 00:45 shamoanjac o o 00:45 prrpx no 00:45 prrpx too slow 00:45 shamoanjac fuck 00:45 shamoanjac you 00:45 shamoanjac / / 00:45 shamoanjac o o 00:45 shamoanjac \ 00:45 prrpx slow 00:45 shamoanjac / 00:45 shamoanjac reeeeeeeeeee 00:50 Hijiri >>>/dpt/ 00:54 shamoanjac metatables truly are rocket science 00:55 shamoanjac they work for banners 00:55 shamoanjac suddenly not for factions 00:55 shamoanjac even though the code appears to be the exact same 00:55 shamoanjac except banners.Banner is replaced with factions.Faction 00:57 prrpx >he's using metatables 00:57 prrpx 4>he's using metatables 00:57 prrpx 3>he's using metatables 00:57 prrpx 9>he's using metatables 00:57 shamoanjac literally no other way to do it 00:57 shamoanjac fggt 00:58 prrpx nonsense 00:58 prrpx whatcha doing 00:58 shamoanjac does Minetest's serialize() function just not work when a function has a metatable? 00:58 prrpx if it's not operator overloading 00:58 prrpx you don't need metatables 00:58 shamoanjac yes I do fggt 00:58 shamoanjac go bak 2urmom 00:58 prrpx shamoanjac: if in doubt, the answer is: "maybe" 00:58 Hijiri prrpx: he wants to put it into minetest.serialize instead of write his own serialization 00:59 Hijiri minetest.serialize will take all the table key/values so if you want methods you need to put them in a metatable 00:59 shamoanjac yes, I'm tired of writing stuff that exists in C for Lua 00:59 shamoanjac that's what I've done 00:59 shamoanjac now the load() function complains about nil fields 00:59 prrpx why you serializing a class 00:59 shamoanjac bc 00:59 prrpx and not embedding a POD in your class 00:59 shamoanjac its data 00:59 shamoanjac that needs 00:59 shamoanjac to 00:59 shamoanjac be 00:59 shamoanjac saved 01:00 Hijiri you can separate the data from the rest of everything 01:00 prrpx *POD in a lua terms of sense of things 01:00 shamoanjac what I've done is 01:00 Hijiri though if you have tables acting as objects with methods you will still need metatables 01:00 shamoanjac factions.Faction = { 01:00 Hijiri (to put them through minetest.serialize) 01:00 shamoanjac -- default values 01:00 shamoanjac } 01:00 shamoanjac and then 01:01 shamoanjac function factions.Faction.method(args) 01:01 shamoanjac [...] 01:01 shamoanjac end 01:01 prrpx u don't need dis shit 01:01 shamoanjac stfu prrpx this is serious 01:01 Hijiri shouldn't you do Faction = function () return { blah blah } end instead 01:02 Hijiri otherwise all the objects will be the same table 01:02 Hijiri all the tables, whatever 01:02 prrpx if i were to tackle this issue i'd solve it nicer 01:02 prrpx i'd solve it so fucking nice 01:02 shamoanjac what do you mean Hijiri? 01:02 prrpx you would beg me to stop being such a good programmer 01:02 shamoanjac that's how it was before 01:02 shamoanjac but then, the serialize() function also serialized my methods 01:03 shamoanjac so bugs were saved, too 01:03 Hijiri just don't serialize Faction 01:03 shamoanjac there *must* be a way, come on 01:03 Hijiri keep a separate key in your factions table that points to your data that needs to be saved 01:03 prrpx shamoanjac: create FactionData-type 01:03 shamoanjac like I'm going to rewrite everything 01:03 Hijiri why serialize something that is the same every time? 01:03 shamoanjac just for this shit 01:03 prrpx embedd it in Faction 01:03 shamoanjac it's not the same every time 01:03 shamoanjac faction holds data and methods 01:03 prrpx add Faction.from_data() and Faction.data() 01:03 Hijiri shamoanjac: I mean Faction 01:03 prrpx and only serialize/deserialize FactionData 01:03 Hijiri Faction is the same every time 01:04 shamoanjac the methods are 01:04 Hijiri faction holds some things that are data, and some things that do not change 01:04 shamoanjac yes 01:04 Hijiri only serialize the parts that change 01:04 shamoanjac that means adding tons of new calls 01:04 prrpx Faction serialize FactionData deserialize minetest POD metamethods OOP with classes deserialize 01:04 shamoanjac which will have to be updated every time I change the data 01:04 prrpx listen to me will u 01:04 shamoanjac you're noise prrpx 01:05 Hijiri I'm saying the same thing as prrpx and you're listening to me 01:05 shamoanjac whatever 01:05 Hijiri well sort of 01:05 shamoanjac I'm understanding you and not him 01:05 shamoanjac so 01:05 prrpx struct Faction { 01:05 prrpx _data: FactionData 01:05 prrpx } 01:05 prrpx impl Faction { 01:05 prrpx fn from_data(data: FactionData) -> Self {...} 01:05 prrpx fn data(&self) -> &FactionData -> Self {...} 01:05 prrpx /* other methods */ 01:05 prrpx } 01:05 prrpx shamoanjac: btfo 01:06 Hijiri is that Rust? 01:06 prrpx and FactionData is just a POD 01:06 prrpx lua POD, means tables, string, numbers, booleans, nils and nulls 01:06 shamoanjac you mean I should add a one call per data field in Faction in load()? 01:06 prrpx Hijiri: yes 01:06 shamoanjac and another one in save()? 01:07 prrpx does minetest.serialize() call load() and save() methods? 01:07 shamoanjac there must be a way 01:07 shamoanjac Lua can't be this shitty 01:07 prrpx if so, you can forget `from_data()` and `data()` from my example code 01:07 prrpx and just never expose data 01:08 prrpx ok 01:08 prrpx i'm gonna actually open my browser 01:08 prrpx and look at the minetest api 01:09 prrpx ok minetest serialization only handles POD 01:10 prrpx and doesn't work if your table has metadata apparently? 01:10 Hijiri it will work 01:10 Hijiri it just doesn't serialize the metatable 01:10 prrpx then it's just shamoanjac being stupid 01:10 prrpx that's the actual problem here 01:10 Hijiri this is why metatables is a solution 01:10 Hijiri if you put the methods there it won't get serialized 01:10 shamoanjac that's what I've done 01:11 shamoanjac or that's what I think 01:11 shamoanjac methods are declared like this 01:11 shamoanjac 6function factions.Faction.add_player(self, player, rank) 01:11 prrpx seperate Faction.serialize() or Faction.deserialize() functions would be a solution 01:12 prrpx *methods 01:12 shamoanjac shouldn't that place the method in the metatable? 01:12 Hijiri shamoanjac: do you know what lua metatables are? 01:12 shamoanjac no 01:12 Hijiri there is not built-in class handling 01:12 Hijiri what you have there is nothing but putting a function add_player in factions.Faction 01:12 shamoanjac I thought metatables were a way to share methods and data between tables 01:12 Hijiri metatables are tables you stick onto tables to modify their behavior 01:12 shamoanjac so 01:13 shamoanjac I should stick factions.Faction to my faction object 01:13 Hijiri The typical way they're used to provide methods, is that if the metatable has an "__index" key pointing to the table, indexing the table you put a metatable on will look in the __index table if the key is not in the table 01:13 shamoanjac right? 01:13 shamoanjac 73 function factions.Faction:new(faction) 01:13 shamoanjac 74 faction = {} or faction 01:13 shamoanjac 75 setmetatable(faction, self) 01:13 shamoanjac 76 self.__index = self 01:13 shamoanjac 77 return faction 01:13 shamoanjac 78 end 01:13 Hijiri why :new? 01:13 prrpx Faction.from_data() or Faction.data() which don't take/return a string but a lua table would be a better solution, for it being better modularized 01:13 shamoanjac why not? 01:14 Hijiri you already know what self is, it will always be factions.Faction 01:14 Hijiri it is pointless 01:14 shamoanjac yes 01:14 Hijiri it's also wrong 01:14 shamoanjac why? 01:14 Hijiri self is the Faction table, not your new object 01:14 Hijiri wait no, that's not why it's wrong 01:14 Hijiri you're setting self.__index every time, you only need to do it once 01:14 prrpx shamoanjac is wrong 01:14 prrpx shamoanjac on suicide watch 01:14 shamoanjac I'm not getting it 01:15 prrpx shamoanjac can't lua 01:15 shamoanjac I mean I don't even understand that line of code, I just pasted it from SO 01:15 Hijiri shamoanjac: mentally replace self.__index = self with factions.Faction.__index = factions.Faction 01:15 Hijiri do you see how that is redundant to do every time? 01:15 shamoanjac yes, but it shouldn't cause problems anyway 01:15 Hijiri no, but why do it 01:16 Hijiri it's an extra mess that adds lines 01:16 shamoanjac actually it adds no line 01:16 shamoanjac since it'd need to be anywhere anyway 01:16 Hijiri ok, but it adds computation 01:16 shamoanjac ok 01:16 shamoanjac but it's not what makes it bug, is it? 01:16 Hijiri no 01:16 Hijiri which bug? 01:16 Hijiri serialization? 01:16 shamoanjac yes 01:17 shamoanjac the fact that data isn't being saved for some reason 01:17 Hijiri I thought it was that functions were appearing in your output 01:17 shamoanjac yes, at first 01:17 shamoanjac before using metatables 01:17 shamoanjac now, it's data that is not saved 01:18 Hijiri can you put your code on lpaste or some other paste site? 01:18 Hijiri or maybe it's on github 01:18 shamoanjac sure, which part? 01:18 shamoanjac no, it's not yet 01:18 Hijiri shamoanjac: anything relevant to data saving. If your data saving refers to other variables, anything relevant to those variables should be posted too 01:18 Hijiri it might be easier to just post the whole file instead of a part 01:19 shamoanjac it's 400 lines 01:19 Hijiri that's ok 01:19 shamoanjac of which 390 have nothing to do with saving 01:19 Hijiri they could be affecting it 01:19 Hijiri if they do anything to the stuff you are serializing 01:19 Hijiri they'll be there just in case 01:20 shamoanjac http://pastebin.com/nC6dZMqA 01:20 shamoanjac relevant stuff starts at line 50 01:20 shamoanjac what comes before it is 90% garbage I haven't taken out 01:21 prrpx oooh fuuuqq 01:21 Hijiri shamoanjac: do you have an example file where it didn't properly serialize 01:21 prrpx 74 faction = {} or faction 01:21 prrpx will always evaluate to {} 01:21 shamoanjac let me get it 01:21 Hijiri maybe that is the problem 01:22 shamoanjac I created a new world upon switching to metatables 01:22 Hijiri if that is the problem, then I guess that means the issue is with loading and not saving 01:22 shamoanjac this is what was serialized: 4return {["test"] = {["name"] = "test"}} 01:22 shamoanjac nothing more 01:23 shamoanjac nothing less 01:23 Hijiri is that the only faction you made when saving? 01:23 shamoanjac yes 01:23 shamoanjac it lacks all of the other fields 01:23 Hijiri ok 01:23 shamoanjac almost as if the part with factions.Faction = { [...] } did nothing 01:23 prrpx first off 01:23 Hijiri shamoanjac: it really s 01:24 Hijiri is* 01:24 Hijiri you are absolutely correct 01:24 shamoanjac though, the "players" and "land" parts were set 01:24 Hijiri there is no magic here, Lua will not dump those into your tables for you 01:24 shamoanjac so they existed for sure 01:24 shamoanjac why not? 01:24 Hijiri why would it? 01:24 shamoanjac why did it dump the name 01:24 shamoanjac because it's a field 01:24 Hijiri name is set in new_faction 01:24 prrpx what the fuq are you using pastebin.com, nigg? use teknik.io 01:24 Hijiri use lpaste.net :^) 01:24 prrpx also 01:24 shamoanjac then what's the point of factions.Faction = {[..]} 01:25 prrpx you want the data from L51-65 serialized? 01:25 Hijiri there isn't really, those could go in the constructor 01:25 shamoanjac I thought I disliked Haskell 01:25 shamoanjac but holy shit 01:25 prrpx they are in the metatable, nigg. they act like static member data. 01:26 Hijiri oh my god, it's all spam now 01:26 shamoanjac what? 01:26 prrpx spawn = nil, 01:26 prrpx doesn't do anything btw 01:27 Hijiri shamoanjac: lpaste is on the level of pastebin in terms of spam content now 01:27 shamoanjac lel 01:27 prrpx setting a value to nil equals removing it 01:27 shamoanjac woah prrpx I unignored you for this shit 01:27 prrpx tbl[x] = nil 01:27 prrpx same as 01:27 prrpx table.remove(tbl, x) 01:28 prrpx shamoanjac: thx bby 01:28 prrpx ur still fucking stupid tho 01:28 prrpx because i helped you all this time 01:28 Hijiri doesn't table.remove shift later elements down? 01:28 prrpx doesn't that only go for the array-part? 01:28 shamoanjac w.o.a.h. it works now 01:29 Hijiri oh right 01:29 shamoanjac thanks Hijiri 01:29 prrpx Hijiri: ok ur right 01:29 prrpx it's not the same 01:29 Hijiri I just haven't seen table.remove be used except on the array part 01:29 prrpx i don't even know if you can do that tbh 01:29 prrpx or if table.insert/table.remove only works on the array part 01:29 prrpx yea seems like it only works on the array-part 01:29 Hijiri it doesn't work, I just tried 01:30 prrpx ignore me, i was wrong 01:30 prrpx `tbl[x] = nil` is the standard way of removing an element from a table, tho 01:30 prrpx the key is up for garbage collection then 01:31 prrpx logically, the expression `{ x = nil }` immediatly discards the 'x'-key and returns `{}` 01:32 prrpx which is why 01:33 prrpx 56. leader = nil, 01:33 prrpx and 01:33 prrpx 65 spawn = nil, 01:33 prrpx don't do anything, act as comments at most 01:36 prrpx 9>LGBT writing weeks on Wikipedia 01:37 prrpx also 01:37 prrpx 03:29 thanks Hijiri 01:37 prrpx :< 01:37 prrpx *Hijiri, prrpx 01:37 prrpx ^ 01:37 prrpx ^^ 06:36 Nosrick Right, how do I hook into worldgen? 06:54 IhrFussel Please help! I tried to prevent the server from sending "Invalid command" messages so i said if cmd_def in chatcommands.lua is not defined return true...problem: That also prevents ALL OTHER messages from sending so I tried to check first if cmd is empty but now it somehow always sends the last command again whenever the server restarts 06:54 IhrFussel http://pastebin.com/vY1aHJFC 07:01 IhrFussel Okay I fixed the repating command after restart, it was something external^^ Well now it still crashes with "attempt to index cmd_def ( a nil value)" 07:19 Hijiri !tell Nosrick minetest.register_on_generated 07:19 MinetestBot Hijiri: I'll pass that on when Nosrick is around 07:26 IhrFussel Ok my problem is now solved, the engine doesn't send "Invalid command" but still displays all other messages 07:53 RichardTheTurd odd..... I know I didnt time out. Not sure why the wrong nick is in use 07:54 RichardTheTurd huh I did. Must've had a brieft split there 09:15 JamesTait Good morning all! Happy Monday, and happy International Cat Day! 😸 09:19 Darkside_ good morning to you too sir :) the minetest community is sleeping ;D better don't make too much noise on chat :D 09:25 VirusJones Good morning. I have a question about the structure of a build from source: 09:26 VirusJones Building the game (adding minetest_game to the source), I end up with a game that has the options to play minimal or minecraft_game. 09:28 Darkside_ *minetest_game 09:28 VirusJones So I know that part of building it actually worked. But what I was wondering about, is should I copy the mods directory in minetest_game back to the main-directory's mods directory? Because minetest_game/mods/ contains several mods, but those don't show up in the mods overview of the game. If I place the mobs mod in the main mods directory, it actually shows up in the mods list. 09:29 VirusJones Whoops. :P Embarassing typo. 09:29 VirusJones Actually went back in my last line and fixed several as well... -_- 09:32 Darkside_ i would just see and try if the mods works in the current directory you placed them and that made them show up in the mods tab 09:33 Darkside_ i had a similair problem like that once ;0 09:33 VirusJones Well like I typed: the mobs mod shows up. all the mods in minetest_game/mods/ don't. But what I'm wondering is should I copy them back to the main mods directory, or is this some setting in a configuration that tells minetest where to look for mods? 09:41 Darkside_ the game should always look for mods inside the mods folders, the default mods in the minetest_game mods folder 09:41 Darkside_ its odd it only finds the mobs mod, if you have all other mods in same folder 09:44 VirusJones No I don't. That's what I'm trying to type: There is a mods directory in the main project directory, which apparently the minetest client looks in. There's also a mods directory in the [project-directory]/games/minetest_game/ directory, which contains several mods that came with the git pull, which do not show up. (I built it as a portable build, if that makes any difference...) 10:06 shamoanjac when I do minetest.check_player_privs, it should return bool, missing_privs, right? 10:06 shamoanjac according to lua_api.txt 10:07 shamoanjac however when I try to display missing_privs, all I get is "1" 10:07 shamoanjac I've tried iterating over it with ipairs(), pairs(), displayed both the key and the value 10:14 shamoanjac oh, right, it returns indexes 10:14 shamoanjac though, the function check_player_privs seems not to be working 10:49 shamoanjac minetest.get_player_privs() returns an empty string... 10:50 shamoanjac while /grant shows a ton of privileges 10:51 Krock when I do minetest.check_player_privs, it should return bool, missing_privs, right? 10:51 Krock right 10:51 Krock return true, "" when no privs are missing 10:51 shamoanjac minetest.get_player_privs() returns an empty string... 10:51 shamoanjac that's where it fails 10:52 shamoanjac and that's really, really, really weird 10:54 Krock it can't return a string 10:54 Krock it will return a table value ni any case 10:54 shamoanjac yeah you get what I mean 10:55 shamoanjac in fact the code is correct 10:55 shamoanjac send_error(player, "Privileges of "..player..": "..table.concat(minetest.get_player_privs(player), ", ")) 10:55 nuzzle shamoanjac: do you ever even sleep 10:56 prrpx prr 10:56 shamoanjac nuzzle, it's 12:55pm atm 10:56 shamoanjac I went to sleep at 3am 10:56 shamoanjac woke up an hour ago 10:56 shamoanjac I slept 8 hours 10:56 prrpx <--- nuzzle 10:56 shamoanjac yeah you fgt 10:56 prrpx oh my 10:56 Krock liar, it's 0:58 pm 10:57 shamoanjac instead of shitposting tell me why get_player_privs() doesn't work 10:57 shamoanjac you prrpx 10:57 prrpx lua? 10:57 shamoanjac of course 10:57 prrpx check ur privilege 10:57 shamoanjac :( 10:57 shamoanjac seriously tho if /grant shows a correct list of privileges 10:57 shamoanjac why doesn't get_player_privs return me that same list 10:57 prrpx what does it return 10:58 Krock it can't be broken since /privs works fine 10:58 Calinou liar, it's 2016-08-08T12:57:56+02:00 10:58 Krock Calinou, that's the same 10:58 shamoanjac empty list 10:58 prrpx maybe ur code is run before the player has been granted any privileges? 10:58 shamoanjac of course not 10:58 shamoanjac since it's called on every command 10:58 Krock err.. the privs are saved 10:58 shamoanjac plus ^ 10:59 prrpx ok 10:59 shamoanjac I've checked and the player name is indeed "singleplayer" 10:59 prrpx look at github issues for 'get_player_privs' 10:59 shamoanjac done 10:59 prrpx look at source code 10:59 shamoanjac I wouldn't be here otherwise 10:59 prrpx ok let's double check that 10:59 prrpx bc i don't trust you 10:59 shamoanjac there is no open issue, which there would be if this was a bug, given that get_player_privs() is widely used 11:00 Calinou ❯ LANG=C date --date='@99999999999999999' 11:00 Calinou date: time '99999999999999999' is out of range 11:00 Calinou :P 11:00 Calinou if you remove one 9, it works (on 64-bit systems) 11:00 prrpx shamoanjac: is your `player`-value correct? 11:00 shamoanjac yes 11:01 prrpx sure? does it work for other functions which ask for `player` 11:01 shamoanjac yes 11:01 shamoanjac literally one line above and below 11:01 shamoanjac printed and checked 11:01 shamoanjac name is "singleplayer" 11:01 shamoanjac a string 11:01 prrpx https://github.com/minetest/minetest/blob/d7060c212f3d9fb9a69719e9041fdef1f5792fef/builtin/game/chatcommands.lua#147-156 11:01 shamoanjac get_player_by_name() returns a player 11:01 prrpx https://github.com/minetest/minetest/blob/d7060c212f3d9fb9a69719e9041fdef1f5792fef/builtin/game/chatcommands.lua#L147-156 11:01 prrpx * 11:02 shamoanjac no mention of /privs 11:02 shamoanjac oh right 11:02 prrpx 2nd link 11:02 prrpx i fucked it 11:02 shamoanjac so 11:02 shamoanjac core.get_player_privs? 11:02 shamoanjac wtf 11:02 prrpx no 11:03 shamoanjac that's what's there 11:03 shamoanjac core.get_player_privs(param), ' ') 11:03 shamoanjac lua_api.txt clearly says "minetest.check_player_privs(player_or_name, ...)" 11:04 shamoanjac yes, I have tested with both a list of strings and a dictionary 11:04 Krock minetest = core 11:04 Krock it's the same 11:04 prrpx it's the same d00d 11:04 shamoanjac okay so it wouldn't work anyway 11:04 Krock ninja0d 11:04 Krock *ninja'd 11:04 shamoanjac yeah it doesn't work, as expected 11:05 prrpx so u tried 11:05 prrpx get_player_privs('singleplayer')? 11:05 Krock minetest.get_player_privs(name) does it just fine 11:05 prrpx yea 11:05 prrpx it's likely just shamoanjac being stupid again 11:05 shamoanjac yes 11:05 shamoanjac I have tried 11:06 prrpx shamoanjac: ok is ur name in singleplayer actually 'singleplayer'? 11:06 shamoanjac and what the fuck 11:06 shamoanjac you've seen my line of code 11:06 shamoanjac I check for the name 11:06 shamoanjac so yes, I'm sure the name is "singleplayer" 11:06 shamoanjac especially since *everything* else works 11:06 prrpx are u sure sure 11:06 prrpx gimme code 11:07 shamoanjac 33 local bool, missing_privs = minetest.check_player_privs(player, self.global_privileges) 11:07 shamoanjac 34 if not bool then 11:07 shamoanjac 35 send_error(player, "Required: "..table.concat(self.global_privileges, ", ")) 11:07 shamoanjac 36 send_error(player, "Missing global privileges: "..table.concat(missing_privs, ", ")) 11:07 shamoanjac 37 send_error(player, "Privileges of "..player..": "..table.concat(minetest.get_player_privs(player), ", ")) 11:07 shamoanjac 38 return false 11:07 Krock pls 11:07 shamoanjac 39 end 11:07 shamoanjac go ahead and tell me something isn't checked 11:07 Krock there are Gists for that or Pastebin 11:07 shamoanjac sorry 11:08 prrpx ok u stupid 11:09 shamoanjac ?? 11:09 prrpx u told me get_player_privs is the problem all this time now ur coming me with check_player_privs 11:09 shamoanjac duh 11:09 shamoanjac read 11:10 Krock "self.global_privileges" where are you doing this check? In a chatcommand? 11:10 shamoanjac a custom one 11:10 shamoanjac it's a list of privileges (strings) 11:10 shamoanjac which are displayed correctly in the first send_error() 11:12 Krock your table is wrong 11:12 Krock it must be in the format of { server = true, other_priv = true } 11:12 Krock and so on 11:12 shamoanjac not according to lua_api.txt 11:12 shamoanjac unless 11:13 Krock but according to misc.lua in builtin 11:13 prrpx unless u were being stupid again :^) 11:13 shamoanjac 3>`...` is either a list of strings, e.g. `"priva", "privb"` or 11:13 prrpx minetest.get_player_privs(name) -> {priv1=true,...} 11:13 prrpx yea 11:13 shamoanjac ok 11:13 shamoanjac so that means 11:13 shamoanjac list of arguments 11:13 shamoanjac it's funny because at first I was trying with a table 11:13 shamoanjac which had that format 11:14 Krock yes, it's kinda bullshit to check for its value instead of key 11:14 Krock but that's how privs work 11:14 Krock this way you can use simple checks like minetest.get_player_privs("blah").server then... 11:15 shamoanjac this way was tested like an hour ago and didn't work 11:15 Krock and now it still doesn't? 11:15 shamoanjac and it still doesn't explain the get_player_privs returning an empty table 11:15 shamoanjac trying rn 11:15 shamoanjac (for the third time) 11:16 prrpx http://rubenwardy.com/minetest_modding_book/lua_api.html#authentication 11:16 prrpx here it's correct 11:16 Krock for more help I'd need all relevant code 11:16 prrpx stupid shamoanjac. using outdated documentation. 11:16 Krock prrpx, stfu. The documentation is a-ok 11:16 Krock but can be misunderstood sometimes 11:16 shamoanjac oh shit 11:17 shamoanjac the returned value is BS too 11:17 Krock It's 10? 11:17 shamoanjac n-no 11:17 prrpx ok let's check that right now 11:17 prrpx where's lua_api.txt 11:17 shamoanjac lua_api.txt says the same thing 11:17 shamoanjac except 11:17 shamoanjac Lua is shit 11:17 shamoanjac so you can't concat a dictionary 11:17 prrpx shamoanjac: =3 11:17 Krock "BS" is a Minetest-insider 11:17 Krock constants.h line 75: "#define BS (10.0)" 11:17 shamoanjac holy fucking shit 11:18 shamoanjac this API 11:18 shamoanjac I swear 11:18 prrpx Krock: also no, the documentation is not a-ok, it's a mess 11:18 shamoanjac this language 11:18 prrpx but better than other FOSS game apis i've come across 11:18 Krock prrpx, please open a pull if you know how to make it better 11:18 shamoanjac can't tell whether the API sucks on its own or sucks because of the language 11:19 Krock yeah, use assembler. Lua is somewhat slow and inefficient 11:19 shamoanjac don't tell me the language doesn't suck 11:19 shamoanjac it sucks 11:20 prrpx shamoanjac: well, technically you could use the c++ api :^) 11:20 Krock there are only two things I don't like about it: No non-table references and no "continue" 11:20 shamoanjac I hate tables 11:20 shamoanjac why do they do everything? 11:20 prrpx no switch statements 11:20 shamoanjac it's just confusing 11:21 shamoanjac I'd rather have a separated structure for lists and dictionaries à la Python 11:21 prrpx major breakage between every minor version (5.1 -> 5.2 -> 5.3) 11:21 prrpx no 64bit integers until 5.3 11:22 prrpx which nobody is using 11:22 prrpx well yea 11:22 prrpx but tbh, all scripting languages are shit 11:22 prrpx haven't worked with it much, but i don't believe python is any better 11:22 shamoanjac yes it is 11:22 prrpx significant 11:22 prrpx whitespace 11:22 shamoanjac not an annoyance 11:23 prrpx fanboy detected 11:23 shamoanjac it separates lists from dictionaries 11:23 shamoanjac lists can work as stacks 11:23 shamoanjac you explicitly delete stuff instead of assigning them a nil value 11:23 shamoanjac "in" operator 11:23 prrpx stacks should be backed by vectors 11:24 shamoanjac tuples 11:24 shamoanjac hash() function for dictionary keys 11:24 shamoanjac the only weak point is, it's slower 11:25 prrpx and bigger 11:25 shamoanjac the funniest thing with check_player_privs() 11:25 shamoanjac is that it accepts a dictionary 11:25 shamoanjac and returns a list of indices 11:26 shamoanjac not keys, numeric, "integer" indices 11:26 prrpx albeit there's https://github.com/micropython/micropython , dunno how good it's suited for embedding it into an application 11:26 prrpx last i checked, it heavily relies on globals 11:27 prrpx which means you can't have multiple contexts 11:28 shamoanjac makes sense for a microcontroller 14:05 yusf[m] I’m trying to replace stuff with WorldEdit replace feature. Is it not possible to use real node names in it? (such as default:desert_stone) 14:13 STHGOM it should be possible 14:13 STHGOM its not working? 14:17 Passant hi there, i have some trouble with lua. since itemframes from homedecor/xdecor wont work with the on_place function of farming mods (for example), i try to only run it if the player does not point when the pointed_thing is such a itemframe. my code just disable it completly so i cannot plant rhubarb in this example but the itemframe is comapatible again^^ https://haste.tchncs.de/qulozuyuyi.coffee 14:18 Passant *compatible again .. so many issues in my message^^ 14:22 yusf[m] STHGOM (IRC): Huh. It works with existing node types, but if the if a mod is removed and it leaves nodes behind in the world, those can’t be replaced even though they retain their node names. Is there a way around that? 14:28 Passant hmm slowly getting the feeling that minetest just ignore the function :( 14:29 Passant function(placer, pointed_thing) if minetest.get_modpath("xdecor") and minetest.get_node(pointed_thing.under).name == {name="xdecor:itemframe"} then return core.chat_send_all(minetest.get_node(pointed_thing.under).name) <- dont even run 14:32 yusf[m] STHGOM (IRC): WE just throws the error ”invalid search node name” whenever I try that 14:33 Passant yusf[m]: do you talk to me? the name with the (IRC) confuses me o.O 14:34 yusf[m] STHGOM: I do, it’s Vector.im autocomplete that adds the (IRC) thingy. ¯_(ツ)_/¯ 14:34 Passant aah, i see^^ 14:34 thePalindrome sthgom? 14:35 Passant oh, thePalindrome i noticed that line 166 of your ambience fork randomly crashes minetest :) 14:36 thePalindrome Woah, people use my fork? 14:36 thePalindrome But sure, lemme take a look 14:36 thePalindrome Oh, I hadn't changed that yet 14:37 thePalindrome Thanks for reporting that, I'll write a stub, never happened to me since my server can't fly :P 14:37 Passant yes, i actually forked from hybriddog's fork and merged your fork into mine fork :D 14:37 thePalindrome I'm actually going to rewrite that with proper music support 14:37 Passant you may wanna allow issues on your fork? the soundcontrol is HUGE improvement/enhancement 14:38 thePalindrome It's up now :P 14:38 thePalindrome Yeah, it wasn't actually as bad as I thought it'd be allowing per-player volume 14:38 Passant and you may be interested in a tweaked formspec https://git.tchncs.de/Illuna-Minetest/ambience/blob/master/init.lua#L609 14:39 thePalindrome huh 14:39 thePalindrome But yeah, I am planning on doing a full rewrite, so that'll be a seperate branch 14:39 thePalindrome A friend of mine actually did a ton of music for it :P 14:41 STHGOM oh, sorry 14:41 Passant the team on my minetestserver just searched some cc background music :3 https://git.tchncs.de/Illuna-Minetest/Illuna-sounds but this is definitly too much for lightweight minetestservers :] 14:41 STHGOM yea, i know what you mean now 14:42 STHGOM I guess i have the same problem, yusf[m] 14:42 thePalindrome Ah, I have it in flac, so I can convert safely down to vorbis or even opus :shiny: 14:42 thePalindrome I don't think minetest supports opus yet though D: 14:42 est31 nope it doesnt 14:42 shamoanjac pk3 mods when 14:42 Passant well, the quality of the vorbis files is enough as i experienced 14:42 est31 only one audio format is supported, and its vorbis 14:42 Passant maybe not every default sound 14:43 thePalindrome Oh yeah, I remember, it used to say ogg :P 14:43 thePalindrome But yeah, I can convert to pretty high quality vorbis 14:44 Passant but keep in mind, in our case many clients have a huge load time on media^^ 14:45 yusf[m] STHGOM: Sorry about that, it’s because of the bridging. So you know the problem with worldedit not recognizing ”unknown” (but still named) nodes? 14:45 thePalindrome Yeah, I'll take a look 14:45 thePalindrome For sure the new version will allow adding/removing sounds 14:47 STHGOM yea, it would be nice to be able to replace unknown nodes with known nodes 14:51 Void7 !mod ambience 14:51 MinetestBot Void7: Immersive Sounds [ambience] by Neuromancer - https://forum.minetest.net/viewtopic.php?t=2807 15:00 agaran Hello 15:08 Darkside_ !mod pooper 15:08 MinetestBot Darkside_: The Pooper Mod [pooper] by AnxiousInfusion - https://forum.minetest.net/viewtopic.php?t=14620 15:09 Darkside_ lol 15:09 thePalindrome Well then 15:15 yusf[m] STHGOM: Think I’ll file an issue if it doesn’t exist already 15:18 STHGOM sounds good 15:18 STHGOM pooper mod: inspired by Ark: Survival Evolved? 15:21 Darkside_ oh i'm just watching slipg8r :)) playing modded minecraft 15:21 MinetestBot Darkside_: Aug-08 15:10 UTC !mod caca 15:21 MinetestBot Darkside_: Aug-08 15:12 UTC !mod factory 15:24 thePalindrome ? 15:54 i- I'm trying to connect to a server on Android and it keeps closing out of the game. How could I fix this? 15:59 XtremeHacker Hi OldCoder 16:01 XtremeHacker Hi swift110. 16:18 Calinou i-: are you using the official app? 16:18 Calinou how much RAM does your device have? which server is it? 16:18 i- yes, from F-Droid 16:18 Calinou (heavily modded servers require more RAM) 16:18 Calinou also, if you don't have 2 GB of RAM, I wouldn't try Minetest on Android 16:18 Calinou 1 GB will probably crash except on unmodded servers 16:19 i- well, yes, I do have 1gb 16:19 i- using the lightning server 16:20 i- however, it just closes out when it says 'Connecting to server' 16:22 Calinou https://f-droid.org/repository/browse/?fdfilter=minetest&fdid=net.minetest.minetest 16:22 Calinou it's not 0.4.14 yet 16:22 Calinou oh it is 16:22 Calinou nevermind, I looked wrong 16:23 aix i-: What message are you getting? 16:23 i- none. Just closes out. 16:23 aix What username are you using? 16:23 aix (I run that server so I can check the debug logs) 16:24 i- f4 16:24 aix 2016-08-08 15:46:22: ACTION[Server]: Server: Player with the name "f4" tried to connect from ::ffff:redacted but it was disallowed for the following reason: Your player name is too short, please try a longer name. 16:24 aix it doesn't show any output on the android client? 16:25 i- no, just closes 16:25 aix Hmm 16:25 i- I'll try again with longer name and see if that works 16:26 i- yup, it found the server 16:27 i- but when I try to connect to any server it is always stuck on "Media" 16:27 aix how's your connection? 16:27 aix There's about 50MB of media to download 16:28 aix Probably a little less, that includes the lua code 16:28 Calinou it can take a while 16:28 i- ah, about 30 mbps 16:28 aix Ah, exactly 41MB 16:28 aix Uhm 16:28 Calinou do you have remote_media configured, aix? 16:28 aix Well that's pretty fast 16:28 Calinou so that people can download media using HTTP instead of UDP 16:28 aix Calinou: yeah 16:28 aix Server's gigabit so that should be pretty quick 16:28 Calinou UDP download can be reasonably fast, but it quickly gets very long if you have any big mods 16:28 aix maybe the bar is just glitchy and doesn't progress 16:29 Calinou on my server, UDP download speed is acceptable, I also tuned minetest.conf to allow higher send rate :P 16:29 i- possible 16:29 Calinou (can join in less than 15 seconds) 16:30 aix oh god i just checked the nginx logs 16:30 aix jesus christ 16:31 aix "GET /moreores_tin_block.png HTTP/1.1" 404 168 "-" "Minetest/0.4.14-854d9e37-Android (Linux/3.10.54+ armv7l)" 16:31 aix What's the 404 168? 16:31 i- dunno what the 168 is 16:31 i- since I haven't used nginx a lot 16:32 aix I'll rehash the media just in case 16:32 aix Calinou: is autoindex needed? 16:37 i- I tried the other server on favorites, it appears it downloads the mods/whatever fine 16:39 Calinou aix: I doubt it 16:59 XtremeHacker Anyone tried the ethereal server? 17:01 twoelk Xanadu? 17:02 shangul is it possible to make a mt bot? 17:02 shamoanjac yes 17:02 Calinou shangul: sure, the open source nature of Minetest has gone nowhere 17:03 Calinou you'd have to use C++ 17:03 Calinou if you get banned from servers, that's your problem though :P 17:03 Calinou maybe implement a smart chat bot, so that it randomly talks to players :] 17:05 shangul nah i meant an api to make bot 17:05 shangul well reading mt code and editing and compiling it is not so easy 17:05 shangul also im a cpp noob lol 17:06 Krock xyz made such a bot once IIRC 17:06 Calinou compiling Minetest is easy on Linux 17:06 Calinou on Windows, it's another beast 17:06 Krock spawned some players that walked randomly around 17:06 Calinou Krock: I think it was just random_input in minetest.conf 17:06 Krock oh 17:06 Calinou it's already built-in Minetest 17:07 Krock Win32 is kinda easy because the libraries are already there if you can't compile them but Win64 gets a challenge 17:07 twoelk not to forget Luigi the faithfull mapper bot of RedCrab 17:24 XtremeHacker So, what mods should I have on a lan server? 17:26 aix XtremeHacker: nuke dropper 17:27 shangul firearms, 3d torch, homedecor, carpets, farming plus, ... 17:32 XtremeHacker Thanks 17:46 Megaf Did I timeout? 17:46 Megaf !server Megaf 17:46 MinetestBot Megaf: Megaf Server v4.0 | mt.megaf.info:30003 | Clients: 0/24, 0/2 | Version: 0.4.14-Megaf / MegafXploreNext | Ping: 9ms 17:46 Megaf nope 17:50 Calinou !server Calinou 17:50 MinetestBot Calinou: Calinou [Europe/Paris] (survival - minimal mods) | hugo.pro:30002 | Clients: 5/32, 1/9 | Version: 0.4.14-dev / minetest | Ping: 11ms 17:50 Calinou Megaf: 2ms more than you :P 17:50 XtremeHacker lserver Ethereal 17:51 Calinou lol, a player on my server is called France 17:51 Megaf lol, no players on my server 17:51 XtremeHacker You have any Americans? :P 17:52 Calinou doubt it 17:53 aix Anybody have any ideas for a surreal biome 17:54 Calinou a biome where things are upside-down or rotated? 17:54 Calinou like, trees standing on their leaves 17:59 XtremeHacker Something like the Aether mod (It's only on MC, but it looks cool, and diffrent). 18:00 XtremeHacker Here is an image http://i.imgur.com/lDrnr.jpg 18:02 agaran aix: or abnormal colors too, also things not being what they look for.. poisonous apples.. or sth like that 18:02 Calinou >people who take screenshots without mip-mapping 18:02 agaran Calinou: :-) 18:02 Calinou XtremeHacker: Aether is surreal, but not too surreal either :p 18:03 aix aetuer sure is cool 18:03 aix aether* 18:03 aix i'm thinking mesetrees with iron leaves 18:03 agaran aix: leave -some- chance for newbie starting there, or it has no sense at all.. 18:04 agaran mese/iron requires at least iron pick.. 18:04 aix huh? 18:04 aix it's a tiny portion of the map 18:04 agaran you know what I mean/ 18:04 aix quarantined with an unbreakable glass dome 18:04 agaran ok.. I am just providing feedback to idea.. 18:04 MinetestBot Nosrick: Aug-08 07:19 UTC minetest.register_on_generated 18:04 Nosrick Thank you Hijiri! 18:05 XtremeHacker @Calinou, well, it sure doesn't look real. :P 18:07 Megaf the viewing distance of MC always impresses me 18:07 Megaf MT is light years behind 18:07 Calinou Megaf: it's easy to set Minetest to 256 view range 18:07 Calinou (equivalent to Minecraft's "Far") 18:07 Calinou or even above 18:07 Megaf yep, now make the server send that 18:08 Calinou yeah, it requires a lot of bandwidth 18:08 Calinou do we compress MapBlock data by the way? using gzip or something 18:08 Calinou that could help a lot 18:08 Megaf by the way, my server is just ignoring the max_block_send_distance thing, was that changed recently? 18:08 aix can worldedit not make a hollow cube? 18:08 Calinou Minecraft does this since Beta 1.6 18:08 shamoanjac does Minetest not compress blocks? 18:08 Calinou Megaf: what's your max_block_generate_distance? 18:08 Calinou I'd set it to the same value ideally 18:08 agaran Calinou: even deflate would be good.. 18:08 shamoanjac yeah use deflate 18:08 Calinou agaran: gzip is pretty cheap 18:09 Megaf Calinou: I usually have the generate to 1 and send from 3 to 5 18:09 Calinou brotli is better, but also more expensive 18:09 agaran Calinou: yup I know, but even deflate is BIG improvement from no compression.. 18:09 Megaf but now it doesnt work anymore 18:09 Calinou either way it'd be optional for those hosting servers on very weak machines 18:09 Calinou (and compatibility with older servers/clients) 18:09 i- aix: still getting stuck on media for some reason :| 18:09 aix how much time have you given it? 18:10 i- a bit 18:10 i- e.g. 1-5 mins 18:10 agaran i-: an 'SI' unit is better to express time ;) 18:10 Megaf 2016-08-08 15:01:47: ERROR[Server]: In thread 7f730e799700: 18:10 Megaf 2016-08-08 15:01:47: ERROR[Server]: /run/shm/SourceMegafServer/src/server.cpp:73: virtual void* ServerThread::run(): A fatal error occured: Couldn't save env meta 18:10 Megaf Im afraid my server just crashed and fucked everything 18:11 agaran Megaf: not my fault, I wasn't there for.. 24h 18:11 Calinou /run/shm, is that a ramdisk? 18:11 shamoanjac how do I check whether a mod is loaded or not? 18:12 agaran shamoanjac: in client? /mods 18:12 aix /mods 18:12 Calinou if minetest.get_modpath("hello") 18:12 Calinou in Lua ^ 18:12 shamoanjac thanks Calinou 18:12 shamoanjac I wanted it in Lua :P 18:12 Megaf Calinou: yep, I use ramdisk to compile the server 18:12 Calinou returns true if mod is installed and activated 18:12 Calinou Megaf: then make frequent backups 18:12 Calinou :p 18:12 agaran shamoanjac: modpath = minetest.get_modpath("modname") ? 18:12 Megaf Calinou: is just for building... How would it affect the binary? 18:12 Calinou ah 18:13 Megaf the folder dont even exist anymore 18:13 OldCoder XtremeHacker, Hi 18:13 agaran ah, Calinou was faster a lot.. 18:15 Megaf yep, server is not starting anymore =/ 18:15 Calinou reboot? 18:15 Megaf $ bin/minetestserver 18:15 Megaf blank line 18:15 Megaf ctrl c cant kill it 18:16 Calinou run with gdb? 18:16 shamoanjac local variables aren't kep when I dofile(), right? 18:16 shamoanjac s/kep/kept 18:16 agaran Megaf: find out pid, check what process is actually doing with strace? 18:17 Megaf It's a problem with my server, not mt 18:17 agaran Megaf: dmesg? 18:17 Megaf it sucks being poor and not been able to afford my resources 18:17 Megaf I ran out of memory and disk space 18:17 Calinou my server is pretty much idle most of the time... 18:18 Calinou 8 cores, 16 GB of RAM, 256 GB SSD :p 18:18 Megaf one day I will be able to afford that 18:18 agaran Calinou: not everyone is fortunate enough for that.. 18:18 Calinou it's not that expensive, I'm at a non-profit host 18:18 agaran my personal stuff is far slower.. my work stuff has that much mem as you have SSD..;) 18:18 Megaf right now I can barerly pay my rent and can't afford college 18:18 Calinou €12/month, next year it'll be €14/month with smaller SSD (but newer infrastructure) 18:18 Calinou https://www.pulseheberg.com/ 18:19 Calinou they don't speak English though :p 18:19 Megaf Calinou: 12USD month for 16 GB of ram and 8 core !? 18:19 Calinou uptime is very good, too 18:19 Calinou I have 80 days :] 18:19 agaran Megaf: thats possible .. 18:19 agaran 20:19:10 up 526 days, 8:38, 5 users, load average: 0.00, 0.01, 0.05 18:19 agaran thats my vps.. 18:19 Megaf Calinou: what VMs they use? 18:19 Calinou wow, Warsow server took 98 hours of CPU time since it started 18:20 Megaf agaran: Why you no update your kernel? 18:20 Calinou OpenVZ in the offer i Use 18:20 Calinou I think they offer KVM for high-end VPSes too 18:20 Calinou so you're stuck with Ubuntu 14.04, at least for now 18:20 Megaf Calinou: ah, that's why it's so cheap then 18:20 Calinou you can get PHP 7/latest nginx/MariaDB through PPAs 18:20 Megaf they share your container resourses 18:21 Megaf Calinou: I have a XEN VPS, that I subdivided in several OpenVZ containers myself ;) 18:21 agaran Megaf: why bother? I am not even sure if my machine did not migrate between physical hardware during that uptime.. 18:21 Megaf agaran: because security? 18:21 agaran not having issues so far so.. 18:21 Calinou my game servers run in screen's, on a user with limited privileges 18:22 Megaf Calinou: isnt that the only way of running game servers? 18:22 agaran Megaf: and I have very few users, no internet services etc.. so.. 18:22 Calinou Ubuntu 14.04 means Upstart, need to learn Upstart service files 18:22 agaran upstart is ugly.. 18:22 Calinou the proper way is to use service files 18:22 Calinou systemd services are nice to use 18:22 Megaf I rather use screen 18:22 Calinou Lennart lennart = new Lennart(); 18:22 Calinou :] 18:23 Calinou (when I saw that in Minecraft, I first thought it was a reference to Lennart Poettering) 18:23 swift110 lol 18:23 Krock what's that guy? 18:23 swift110 minetest is better 18:23 Calinou systermd/PulseAudio developer 18:23 swift110 oh wait im in minetest 18:23 swift110 ok 18:24 shamoanjac I didn't know Poettering also did PulseAudio 18:24 shamoanjac now I hate him even more 18:24 est31 lol 18:24 Calinou Harry Poetter and the Chamber of systemd 18:24 * Calinou runs 18:24 shamoanjac lel 18:24 Megaf ok, I'm upgrading my VPS from 512MB of SWAP to 4GB of SWAP =/ 18:25 Calinou my VPS has no swap 18:25 Calinou desktop has 1 GB, as I usually make it 18:26 Megaf Calinou: you have one million GB of RAM, no need for swap 18:26 Megaf you have more ram in your VPS than I have disk space on mine 18:26 Calinou desktop has 32 GB, right :] 18:26 agaran my desktop has only 2G, vps 1G.. work junks 128G+.. 18:27 Calinou Megaf: btw I know someone who has a GTX Titan, if not two 18:27 Calinou :P 18:27 * Megaf wants Calinou job 18:27 Megaf or a job 18:27 Calinou eh, I'm a student 18:28 XtremeHacker Oh, hi mOldcoder, your LOTT server is pretty cool. 18:28 Calinou (almost) never buying software/games/cultural works helps :P 18:28 Calinou I did buy some free culture music last month though 18:28 Calinou also Kenney's asset packs 18:28 Calinou but that was the first time I did it for yearzs 18:28 Calinou -z 18:30 tpe PulseAudio was a mess in the early days (hi Ubuntu) but is there any real reason to hate it now? 18:30 shamoanjac it still breaks sometimes for me 18:31 Megaf downgrading my mysql server container from 256M of ram and 512M of swap to 128MB of ram and 0M of swap 18:31 Megaf that will be interesting 18:31 Megaf wonder if I can go as low as 64M 18:31 Megaf its a contianer that's only there to run MySQL 18:31 Megaf and it's the only service running there 18:31 tpe I haven't had an issue since the days of using Linux Skype 2.something 18:31 Calinou try MariaDB, it's a newer fork 18:37 Megaf ok, my server wll be back momentarly 18:37 Megaf I mean, very soon 18:40 Megaf I can't believe minetestserver managed to recover from the previous crash 18:40 Megaf well done Minetest! 18:40 Megaf !server Megaf 18:40 MinetestBot Megaf: Megaf Server v4.0 | mt.megaf.info:30003 | Clients: 0/24, 0/0 | Version: 0.4.14-Megaf / MegafXploreNext | Ping: 8ms 18:43 swift110 lol 18:44 Megaf it is also pretty fast 18:49 Megaf there are two of my containers that are my webservers, you can't get more efficient than that, can you? http://paste.debian.net/plain/787471 18:50 Megaf 25MB of memory used by my git server 18:50 Megaf 158MB for my future PhpBB3 web forum 18:52 Megaf just added my minetest server to the list http://paste.debian.net/plain/787476 18:53 agaran if thats after some runtime, then git has lot of spare mem 18:54 Megaf total memory used on the host OS running 6 containers 18:54 Megaf total used free shared buffers cached 18:54 Megaf Mem: 986 976 10 22 23 313 18:54 Megaf -/+ buffers/cache: 639 347 18:54 Megaf Swap: 4095 167 3928 18:54 Megaf agaran: the memory use on the git server will increase a bit after some time and use, but not much 18:54 Megaf all containers are fully booted and started by now 18:55 agaran Megaf: then i'd consider cutting it a bit at some point and redirecting free resource elsewhere.. 18:55 Megaf at this moment all containers have 256MB of ram each 18:55 Megaf I will tweek there more yes 18:56 Megaf I can take 128MB from git server and 128M from SQL I think 18:56 agaran dunno, I would record memory usage for some hours first, then made some decision but not as rough as reducing by half.. 18:57 Megaf agaran: i've been monitoring for days ;) 18:57 agaran Megaf: well, I know only what you wrote, so just trying to offer best advice.. thats all 18:58 Megaf MySQL server also using very little RAM, check the last one http://paste.debian.net/plain/787478 18:59 Megaf thank you agaran, I do appreciate 19:00 agaran Megaf: not sure if by half, but I'd try taking some mem away from mysql if it is not getting much hits nor memory footprint increases.. 19:01 Calinou 158MB for my future PhpBB3 web forum 19:01 Calinou why not Discourse, Flarum, NodeBB? 19:01 Calinou phpBB is so 2005 :/ 19:01 Megaf Calinou: well, once I tried something else, forum was totally taken by spam 19:02 Megaf PhpBB3 ofter a heck lot of control 19:02 Megaf and it's quite efficient 19:02 Megaf Calinou: if you can suggest something with more control, as easy as PhpBB3, that uses SQlite, and uses even less memory, maybe running on its own web server, please do it 19:03 Calinou Discourse has pretty low amounts of spam in my experience 19:03 Megaf and PhpBB3 is quite well tested 19:03 Calinou no idea about Flarum/NodeBB 19:08 Megaf memory use on the host actually dropped, cool 19:08 Megaf -/+ buffers/cache: 612 374 19:08 Megaf Swap: 4095 195 3900 19:15 shamoanjac once upon a time 19:15 shamoanjac Minetest had 2D mobs 19:15 Calinou yes, either upright sprites or Doom-like sprites 19:15 shamoanjac 0.3 never forget 19:15 aix and they were great 19:15 aix 10/10 19:15 shamoanjac make Minetest great again 19:15 aix rats and oerrikis right 19:15 shamoanjac I only remember rats 19:15 aix i miss oerrikis 19:16 Calinou you can add them back using a mobs mod :P 19:16 Calinou you can even add them as 2D mobs 19:16 aix b-but 19:16 aix they won't be the same ;~; 19:19 shamoanjac tfw I will never be 15 and trying to understand Lua again 19:19 shamoanjac tfw I will never be 14 and discovering all those Minecraft clones again 19:19 shamoanjac world is a fuck 19:19 shamoanjac born to die 19:21 Megaf Calinou: NodeBB looks pretty good 19:21 Megaf I will spin a 128 MB container is see if it runs well on it 19:22 Calinou it's probably slightly RAM heavy, Node.js is not known for low RAM usage 19:30 Megaf Calinou: it doesnt support sqlite =/ 19:31 Calinou can't you use MySQL? 19:31 Calinou SQLite is not renowned for its performance :P 19:31 Megaf Calinou: actually sqlite can be pretty fast 19:32 Calinou in non-synchronous mode, yes, but then it's insecure 19:32 Megaf and has low resources utilization 19:32 Megaf Calinou: why insecure? 19:32 Calinou both Minetest and Tox (two SQLite users I know) discourage using asynchronous mode 19:33 Calinou and don't default to it, too 19:33 Calinou however you could try using sqlite_synchronous = 0 if you make frequent backups... 19:34 Calinou heh, I found a flying papyrus naturally generated on my server 19:34 Megaf my server have been using asyncronous for about two years now without data loss 19:34 Megaf and several crashes 19:34 Megaf anyone, installing NodeJS and company on a new container 19:35 Megaf anyway* 19:35 Megaf and failed! 19:35 Megaf man, I never got this thing to work 19:35 Megaf bash: line 264: 6415 Killed "$node" cli.js install -gf/package 19:35 Megaf It failed 19:35 Megaf very memory intesive indeed 19:35 Megaf [ 3437.001029] Out of memory in UB 108: OOM killed process 6415 (npm) score 0 vm:727060kB, rss:122780kB, swap:0kB 19:35 Calinou https://lut.im/qsXKBTmFmO/cwv1Hno48ABtTxKe.png 19:36 Megaf Calinou: the .png is not necessary :S https://lut.im/qsXKBTmFmO/cwv1Hno48ABtTxKe 19:37 Calinou I didn't configure Minetest to make .jpg screenshots 19:37 Calinou you have metered Internet? 19:39 Megaf what? I just said that in the link the .png part of the URL is not necessary 19:39 Megaf I have ulimited internet 19:41 Out`Of`Control i have limited net 19:41 Out`Of`Control 5TiB a day 19:41 Out`Of`Control hi 19:41 Megaf 2016-08-08 16:35:17: ERROR[Server]: /run/shm/SourceMegafServer/src/server.cpp:73: virtual void* ServerThread::run(): A fatal error occured: Failed to save block: database or disk is full 19:41 Megaf =/ 19:41 Megaf full again 19:43 i- happens all the time with aws 19:43 i- I put my main disk at 8gb 19:43 Calinou well, lut.im adds .png to the end of URLs by default, I just copy-paste it 19:43 i- and it gets full very quick 19:43 nuzzle ok 19:44 prrpx now that all of you are talking about servers and stuff 19:44 Megaf Darkside_: server is back if you are interesed in returning to it 19:44 Megaf !server Megaf 19:44 MinetestBot Megaf: Megaf Server v4.0 | mt.megaf.info:30003 | Clients: 0/24, 0/0 | Version: 0.4.14-Megaf / MegafXploreNext | Ping: 9ms 19:44 prrpx how much RAM and disk space does a popular minetest server consume? 19:45 Calinou my 16 GB microSD that's in my RPi 3 has 8.3 GB left after installing quite a lot of software 19:45 Megaf all RAM you have 19:45 Calinou for my ODROID I'm getting a 32 GB microSD, so that I'll have more spare space :p 19:45 * Megaf was the pioneer of Minetest on ARM 19:45 Calinou I wonder if the ODROID C2 is good enough for a small Minetest server 19:45 Megaf before it was cool 19:45 Calinou (that is, with less than 5 seconds of lag) 19:46 Megaf Calinou: I used to run my server on my ODroid U3 19:46 Megaf 4 cores at 1.2 GHz and 2GB of RAM I think 19:46 Megaf ran pretty well 19:47 Fixer Calinou: back then MT run on Celeron 533MHz/192mb ram iirc 19:47 Fixer 0.2 times 19:48 Calinou Megaf: ok, should be fine then 19:48 Calinou what's the power usage like? I read it was ~1.5W at idle, ~4W at load for a RPi 3 19:49 * Calinou wishes he had fiber, still 19:49 Calinou I could actually self-host some things :/ 19:50 Calinou I know I have a good VPS, but still 19:50 Megaf Calinou: not sure 19:50 Megaf so, openVz has a terrible fault 19:51 Megaf /dev/ploop29149p1 9.9G 5.6G 3.8G 60% / 19:51 Megaf minetest@mt:~/MegafServer/BinMegafServer$ mkdir a 19:51 Megaf mkdir: cannot create directory `a': No space left on device 19:51 Calinou no inodes left? 19:51 Calinou I had that issue too 19:51 Megaf How do I fix that? 19:51 Calinou something must be creating tons of files 19:51 Calinou type "df -i", make a pastebin of the output 19:51 Megaf Calinou: tons of players files 19:51 Megaf Filesystem Inodes IUsed IFree IUse% Mounted on 19:51 Megaf /dev/ploop29149p1 655360 75893 579467 12% / 19:52 Calinou !server Calinou 19:52 MinetestBot Calinou: Calinou [Europe/Paris] (survival - minimal mods) | hugo.pro:30002 | Clients: 7/32, 1/9 | Version: 0.4.14-dev / minetest | Ping: 10ms 19:52 Calinou got 9 clients today :p 19:52 Fixer 551 players right now 19:57 Calinou there's a server running 291 mods ._. 19:58 Calinou in comparison, I run 35 mods 19:58 Hijiri what server? 19:58 Megaf vzctl compact my do the trick 19:58 Megaf might* 20:02 Fixer Calinou: vanessaz dreambuilder creative? 20:03 Megaf before compact in my containers 3.5G free in the host. After compact on mt container, 4GB free, after compact in all containers with Compact 108 && Compact 107 && Compact 106 && Compact 105 && Compact 104 && Compact 103 && Compact 102. 5.1GB free 20:03 Megaf Calinou: ^ 20:03 aix https://sr.ht/HjW-.png 20:03 Megaf not bad 20:04 Calinou Fixer: trainwrecktony's server 20:05 Fixer Calinou: try connecting to it 20:05 Calinou meh 20:08 Megaf !server Megaf 20:08 MinetestBot Megaf: Megaf Server v4.0 | mt.megaf.info:30003 | Clients: 0/24, 0/0 | Version: 0.4.14-Megaf / MegafXploreNext | Ping: 8ms 20:08 Megaf Calinou: how do you get the mod count? 20:08 Calinou http://servers.minetest.net - hover the subgame name 20:11 Megaf agaran: did I show you the suspended bridge near the pyramid? 20:11 Megaf we used ropes there 20:12 agaran Megaf: nope, not yet and today is too late for me to play in MT 20:12 i- I'm trying to run a server, but I get https://p.ngx.cc/1c348395798ce64a 20:12 Megaf no worries, is the arenito road, jus follow it 20:12 Megaf sandstone road and bridges 20:12 Megaf south of spawn 20:18 bkeys Are there any minetest developers here? 20:19 i- bkeys: yeah, there is, but I am not one of them 20:20 bkeys Alright, I am working on a personal project and am trying to think of the best way to store my keybindings to a file and asking their opinion on the way to do that 20:20 bkeys So far I have been just putting it in an XML file 20:38 aix how does worldedit_limited work? 20:44 sfan5 i-: have you tried installing minetest_game 20:45 sfan5 bkeys: xml is shit, use json 20:46 bkeys I know xml is shit but I am using the SuperTuxKart stuff for the car attributes and such 20:46 bkeys So it would be best to standardize around one datachange format, even if it is shitty 20:46 sfan5 ugh 20:48 bkeys I know 20:49 bkeys But I would rather not reinvent what STK just for the sake of JSON since this is not even that big of a file 20:49 sfan5 well then keep using xml 20:53 Nosrick I'm getting a really bizarre crash. 20:53 Nosrick It totally destroys Minetest. 20:54 Nosrick Like, no regular error, it throws a win32 exception, when reading memory location 0x000000000000 20:54 aix https://sr.ht/ZxTk.png anyone miss these 20:54 bkeys I thought the box said "memes" for a second 20:54 sfan5 that's a null pointer dereference 20:55 aix dank mese 20:55 Nosrick Yeah, I know. That's an engine bug, right? 20:55 Fixer aix: nope 20:55 bkeys kek 20:55 aix uhrm 20:55 sfan5 probably 20:56 Fixer Nosrick: check you memory 20:57 Nosrick How do I do that? 20:57 i- mese? mesa 20:57 Passant is it possible to give the player some kinda a drunk effect? that he/she is kinda swing to the left and right when walking? 20:58 Nosrick Maybe use set_velocity()? 20:58 Darkside_ sure probably only takes some coding skills to achieve that ;) 20:59 Passant so... velocity doesn't just control the running speed? 21:00 Fixer Nosrick: nevermind, try googling that error, it could be os problem 21:00 aix how is the cave monster spelled 21:00 aix the one in 0.3 21:01 Nosrick I think you can set directional velocity. 21:02 Passant i'll read more about velocity, thanks :) 21:03 Fixer dungeon master 21:03 Calinou players don't have a velocity, so no, you can't set a velocity to them 21:03 Calinou (server-side that is) 21:03 Calinou so, drunk effect is not possible 21:05 Passant nah, sad :( ... Calinou does that mean https://github.com/blert2112/mobs_more_monsters/blob/master/mobs_sandworm/init.lua#L91 is mainly everything possible? 21:06 i- building with minetest_game seems to work 21:07 Darkside_ it is possible just need a script to move the player a bit to left and right with intervals and potions and playereffects can be a good piece for such mod ;) 21:07 Calinou if you move player on every step, it won't feel good at all 21:07 Calinou it needs to be an actual velocity change 21:08 T4im you could change speed though and inflict players to overcorrect 21:09 Nosrick So I've isolated the crash: it's happening in a table. 21:10 Nosrick In a pairs(table) call. 21:10 Passant hmm maybe the api allows more in this case somewhen.. 21:10 Nosrick Or not... 21:11 Passant or not... ^^ 21:11 Nosrick Sorry, I was muttering to myself. 21:11 Darkside_ it's ok no animals were hurt ;) 21:15 Passant just made an issue, lets see :3 21:34 aix https://sr.ht/UcVV.png remember when mese looked like this? 21:37 Nosrick There, I opened an issue about this null pointer exception. 21:39 Hijiri Nosrick: there are some callbacks where you don't get proper error handling 21:40 Hijiri like entity on_step 21:40 Nosrick I'm only using on_punch. 21:40 Hijiri maybe on_punch too 21:40 Nosrick I'm going to see if I can narrow it down to a single function. 21:40 Calinou aix: it was horrible :p 21:40 T4im don't you have a stack trace? 21:40 aix ikr 21:41 Nosrick Nope, no stack trace. 21:41 Nosrick No nothing. 21:41 Nosrick It just crashes. 21:41 T4im as in segfaults? 21:41 Nosrick I tried debugging, but the most info I get is a read error at 0x0000000000000 21:42 T4im maybe make sure that's actually functions you're calling 21:42 Hijiri Nosrick: if you get a lua error in some callbacks then you don't get a stack trace 21:43 aix https://sr.ht/NA87.txt 21:43 Hijiri try putting an error() at the beginning of the function and see if you get a similar crash 21:44 T4im there is this lua function "type(something)" that will return a string with what you passed it 21:44 Hijiri it doesn't look like Nosrick ever inserts anything into the table at all 21:45 T4im not in that gist, but he also implied to have more code somewhere else 21:45 Megaf [ 8812.301692] Out of memory in UB 102: OOM killed process 1504 (minetestserver) score 0 vm:509152kB, rss:252944kB, swap:2396kB 21:45 Hijiri oh 21:45 Nosrick So I put in an error() 21:45 * T4im is just guessing though 21:45 * Megaf dreams of one day the memory leak on minetest server is fixed 21:45 Nosrick I get a Lua error 21:45 Hijiri ok 21:45 Hijiri so I guess "bad callback" isn't the problem 21:45 Nosrick This is a hard crash, like a total stop, with a "not responding" message kind of crash. 21:45 T4im in luajit? 21:46 T4im try vanilla lua 21:46 T4im i actually get different crash behavior here from them 21:46 T4im :) 21:46 Nosrick How do I do that? 21:46 T4im ah, let me guess, you don't compile yourself? :( 21:47 Nosrick I don't think I do, no. 21:47 T4im hm 21:47 Nosrick I just slap my code into Minetest and hope for the best 21:47 Nosrick It's worked well for me up until now. 21:47 Hijiri time for print debugging 21:47 Hijiri or have someone make a non luajit build maybe, if there isn't already one on the forumms 21:52 Hijiri Nosrick: maybe you can post the code of the callbacks that you register to the issue 21:52 Nosrick Sure, yeah. 21:54 Nosrick I actually think it's the table. 21:55 Nosrick I took out all the registrations, and it still crashes. 22:00 Hijiri Nosrick: oh, I see the problem 22:00 Hijiri wait 22:00 Hijiri I'm not sure 22:00 Nosrick I just isolated it to the set_hp(). 22:00 Hijiri where is on_punch used? 22:01 Hijiri target might be an ObjectRef and not a luaentity 22:01 Nosrick In an entity's on_punch callback. 22:01 Hijiri so target = self? 22:01 Hijiri in argument position 22:01 Nosrick Yup. 22:02 Hijiri ok 22:02 Hijiri It looks like you were already going in that direction, but you can print the values of target.object.set_hp and get_hp to see if they're defined 22:03 Nosrick I'll give it a shot. 22:04 Nosrick Ah ha. 22:05 Nosrick When I try to print out the values of get and set HP, set_hp() causes a Lua error. 22:06 Nosrick "attempt to concatenate a nil value" 22:06 Hijiri I mean print the vale of set_hp 22:06 Hijiri not the output 22:06 Hijiri value 22:06 Nosrick How do I do that? 22:06 Hijiri print(target.object.set_hp) 22:07 Nosrick Aaaand my explorer.exe just crashed 22:08 Nosrick Brb, got to reboot. 22:08 Hijiri sometimes you can open task manager 22:08 Nosrick Nope, can't open it. 22:08 Hijiri even if explorer is dead 22:08 Nosrick Can't ctrl+alt+del either. 22:08 Hijiri not even with ctrl + shift + esc? 22:08 Hijiri ok 22:08 T4im :o 22:09 Nosrick It's my fucking wireless driver again 22:16 Nosrick Grumble grumble 22:32 Nosrick So I try to print the value of get and set hp 22:33 Nosrick And it just crashes 22:33 Nosrick (Lua error this time) 22:34 Nosrick Ah, I was trying to concatenate them to other strings. 22:34 Nosrick Both of them print out pointers. 22:35 rubenwardy pointers? Lua doesn't have pointers 22:36 rubenwardy do you mean table references? 22:36 rubenwardy or indices 22:36 rubenwardy have been away for a day or so 22:36 rubenwardy but I read the logs 22:37 Nosrick Aaaaah 22:37 Nosrick I mean 0xstuff 22:47 Hijiri sounds like the methods aren't null at least, then 22:48 Nosrick Right, I need to go to bed. 22:49 Nosrick Later, taters. 22:49 Nosrick Thanks for helping me, again. 22:50 rubenwardy my comment on the C/Rust/Python/Lua flamewar: ES6 Javascript is almost the best language IMO 22:51 rubenwardy nice class syntax, no need for pointers, promises for asynchronous processing 22:51 rubenwardy no counting from 1 22:51 rubenwardy no whitespace dependent code 22:52 rubenwardy just missing a nice foreach structure 22:52 rubenwardy and also compile time type checking 22:54 rubenwardy I do like Python though. But I've written medium sized projects in both, and I just prefer ES6 and find it easier 22:54 rubenwardy also Python is not good for a scripting language due to its module design 22:57 rubenwardy well, s/scripting/plugin/g 23:08 xunto rubenwardy: lol, isn't it strange to compare C/Rust and Python/Lua/JS? I don't agree with your js-love but even idea of such comparing is stupid) 23:09 rubenwardy Well, I was more comparing against python 23:10 xunto "Different needs — different instruments" is my opinion anyway. 23:10 rubenwardy very true