Channels (Channel 'evennia' (#evennia))



#evennia

20-05-19 21:02:27: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> But I stored everyone's location and all the room descriptions on a single DB object.  That thing was absolutely huge.
20-05-19 21:14:46: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> is there a way to have like a lobby chat-room where you don't have to type "say" to talk?
20-05-19 21:17:38: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> You could copy the say command, make the key the  "default" (which I think is _default, but I'd have to look) command, and add that to a commandset for that  room.  It should work for any text that's not already a command.
20-05-19 21:18:44: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> interesting. though I could see people trying to talk and accidentally using commands occasionally
20-05-19 21:19:34: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Yeah.  There's always the " and ' say aliases.
20-05-19 21:20:04: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> You could also have that room change the commandset on the player, so the commands don't work in there.
20-05-19 21:22:03: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> hmm... what about integrating a discord channel somehow? If people want to just hang out and chat rather than log in and interact
20-05-19 21:30:11: [evennia] ircbot-Drastical: [email protected]#evennia: Commands don't have the _default key, don't mix things up with how EvMenu nodes work. Commands have syscmdkeys.CMD_NOMATCH etc.
20-05-19 21:39:29: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> That's what I was trying to think of 🙂
20-05-19 21:39:30: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Thanks
20-05-19 21:40:30: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Though I suppose you could technically do it with an evmenu 🙂
20-05-19 21:41:19: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Integrating discord shouldn't be difficult.  You could take a look at the irc2chan code, and one of the python discord bot modules.
20-05-19 21:45:01: [evennia] ircbot-Drastical: [email protected]#evennia: @xhawk87: This very IRC chat is linking into the evennia demo server, and the discordbot then relays it to you guys over there in discord land.
20-05-19 21:45:24: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> DiscordLand 😉
20-05-19 21:46:54: [evennia] ircbot-Drastical: [email protected]#evennia: [Public] Griatch: Hello from the evennia demo
20-05-19 21:47:24: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> This would be a good start for a discord relay within evennia:  https://medium.com/bad-programming/making-a-cool-discord-bot-in-python-3-e6773add3c48
20-05-19 21:47:37: [evennia] ircbot-Drastical: [email protected]#evennia: [Public] Griatch disconnected from the Evennia demo.
20-05-19 21:51:49: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> thanks
20-05-19 21:52:33: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> It would actually be a good contrib module.
20-05-19 22:58:18: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> @Griatch -- Thinking this through.  If I were to try this, I would probably want to use the irc2chan command, the ircstatus command, the _list_bots method, and the accounts.bots.IRCBot typeclass as a starting point, right?
20-05-19 22:58:39: [evennia] ircbot-Drastical: [email protected]#evennia: Yes
20-05-19 22:59:02: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Just didn't know if I were missing something.
20-05-19 23:00:10: [evennia] ircbot-Drastical: [email protected]#evennia: You need a protocol-level addition too
20-05-19 23:00:20: [evennia] ircbot-Drastical: [email protected]#evennia: Check out evennia/server/portal.irc
20-05-19 23:00:42: [evennia] ircbot-Drastical: [email protected]#evennia: portal/irc.py
20-05-19 23:01:15: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Is that all mostly called from the bot typeclass?
20-05-19 23:01:53: [evennia] ircbot-Drastical: [email protected]#evennia: The bot acts as an account that uses a custom 'client' (the irc protocol) to talk to the world.
20-05-19 23:02:12: [evennia] ircbot-Drastical: [email protected]#evennia: So it's just using bot.msg() calls
20-05-19 23:03:30: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok, I may need some guidance on that part.  I'll try not to bug you too much.
20-05-19 23:03:32: [evennia] ircbot-Drastical: [email protected]#evennia: And on the other end its processing data through its .execute_cmd() method (as if a human was sending it commands, but in this case it's the IRC server relaying messages)
20-05-19 23:04:53: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> So the bot would have a commandset on it that would take the input that it gets from the discord client module, and executes the proper command, as though it were an account.
20-05-19 23:05:25: [evennia] ircbot-Drastical: [email protected]#evennia: While evennia supports pluggable protocols, it may be easier (if you decide to go for it), to make a contribution PR to core directly. Discord support is something that seems quite popular.
20-05-19 23:06:04: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok, happy to try to do that, as well.  I may have questions about the BotFactory class and such.
20-05-19 23:06:15: [evennia] ircbot-Drastical: [email protected]#evennia: Sure
20-05-19 23:06:38: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> This will definitely help me understand the backend better, that's for sure.
20-05-19 23:06:46: [evennia] ircbot-Drastical: [email protected]#evennia: It'd need to be against `develop` branch, of course
20-05-19 23:06:49: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Like I needed another shiny project to distract me. 🙂
20-05-19 23:06:52: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Right.
20-05-19 23:07:24: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I'll work it out as a separate module, and then fork evennia again and factor it into the core.
20-05-19 23:07:48: [evennia] ircbot-Drastical: [email protected]#evennia: The most recent addition is the GrapevineBot, so that may be the easiest one to review with the latest code mannerisms and style.
20-05-19 23:08:03: [evennia] ircbot-Drastical: [email protected]#evennia: Just fork and make a new branch
20-05-19 23:08:42: [evennia] ircbot-Drastical: [email protected]#evennia: Keep your local copy of evennia master clean and in-sync with upstream at all times, is my recommendation.
20-05-19 23:09:31: [evennia] ircbot-Drastical: [email protected]#evennia: If you want to contribute, make a branch off master, make your modifications and make a PR with that. If it's merged you can then pull upstream master and have the same thing everyone else sees.
20-05-19 23:10:39: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok, yeah, the grapevine one looks easier to work with.
20-05-19 23:12:24: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok, I may dive into that after I get the kids to bed.
20-05-19 23:12:30: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Thanks for the advice.
20-05-19 23:12:42: [evennia] ircbot-Drastical: [email protected]#evennia: Np. I should get to bed myself. Goodnight!
20-05-19 23:14:44: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> @xhawk87 , if I get this working, I'll send you a link, to try it out.
20-05-19 23:19:15: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H DarkSir23 forked evennia|H https://github.com/DarkSir23/evennia|H
20-05-20 00:26:54: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/static-file-docs|H: [Griatch]: Use evennia-custom fork of sphinxlunr search engine
20-05-20 00:38:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> @xhawk87 I've implemented a system like you describe
20-05-20 00:38:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Where text is a "say" command and commands are written with a preceding "/"
20-05-20 00:39:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> It was for a version of evennia a few years back but it might still work and implementing it now should be similar. Hit me up if you want a link
20-05-20 01:28:08: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> @Griatch If I'm using the python discord module (discord 1.0.1), how much of the protocol level stuff do I want to use?
20-05-20 01:30:13: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I have succeeded in making an instance that can be accessed from the internet.  I am officially a beginner!
20-05-20 01:33:38: [evennia] ircbot-Drastical: Disc[email protected]#evennia: <DarkSir23|H> Or would I just need to use it to make a wrapper, inheriting the Session class, and using it as a passthrough to the discord.Client class?
20-05-20 01:33:44: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Congrats!
20-05-20 01:52:33: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Thanks, now to put an actual game there.
20-05-20 02:03:06: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I know the feeling
20-05-20 02:09:12: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> It's been a fun learning experience. Pretty sure my intro to Python should have been 'hello world' or 'Pong'.
20-05-20 02:09:56: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Multi-user virtual worlds are the "Mary had a little lamb' of coding.
20-05-20 02:09:57: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Go for the gusto!
20-05-20 02:11:20: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I don't regret it.  My Python primer turned into a docker primer, linux refresher course, and forced me to go back to the days of 'imagining' my game and making me put in actual work.
20-05-20 02:11:28: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I've been MUSHing and MUSHcoding since the mid 90s.  When I started playing with Python, and discovered that Evennia existed, I fell in love with it.
20-05-20 02:12:42: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Yeah.  I'm liking this as my intro to Python.
20-05-20 02:13:05: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> You don't learn something then wonder when they hell you'll ever use it.
20-05-20 02:13:13: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Yeah
20-05-20 02:13:36: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> There's definitely a curve, but it feels like progress when you're done.
20-05-20 02:14:21: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Oh yeah, also git. Had to jump into big-boy developer shoes.
20-05-20 02:23:33: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> So DarkSIr, how do you update your code? Still picking out the best method.
20-05-20 02:24:36: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> https://giphy.com/gifs/genius-hendrix-stacks-FyvBgdiRE36BG
20-05-20 02:27:16: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I use pycharm, pointed at an sshfs of the code on the server.
20-05-20 02:27:41: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> that would not be a good idea on a game running with players
20-05-20 02:27:56: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> No no
20-05-20 02:28:03: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> It's just my sandbox
20-05-20 02:28:33: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> For Evennia deploying via Git seems to work really well.
20-05-20 02:28:56: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> git fetch git pull evennia reload
20-05-20 02:29:42: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Hmmm, looks like I'll be spending tonight learning more about git and putting actual rooms in my game.
20-05-20 02:31:36: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Make sure to put anything that might be different such as your settings in gitignore. You can manually deal with your settings getting squashed every now and again but you're probably better off just doing it the proper way.
20-05-20 02:32:40: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> And I say this as someone who needs to go back and straighten out their settings.py in their own git. 🙂
20-05-20 02:33:23: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Understood.  Don't want to break the game every time I change something.
20-05-20 02:37:31: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> That's for deploying code. For deploying world changes (e.g. I've built a new area on my test server and like it and want to copy it to deployment) I've got no real idea.
20-05-20 02:38:51: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> So that would be the best method for adding a combat system, but perhaps not the best method for adding an 'arena'.
20-05-20 02:43:00: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Right. I mean, I've got some ideas for handling data deployment like that but I'm not really sure what 'best practice' really is and it probably varies depending on a lot of circumstances.
20-05-20 02:45:40: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I don't know if I have the brain power to tackle this thing tonight, without asking a bunch of questions.
20-05-20 03:42:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ugh ugh ugh
20-05-20 03:42:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm THROUGH with trying to figure out Rust for a while
20-05-20 03:42:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I get the feeling that I -could- write a decent synchronous Rust program but... async is like... oh my god
20-05-20 03:43:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I think I'mma spend my not-Python time learning GoLang instead. @[email protected]
20-05-20 03:43:19: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> 'sall good, now I can pester you at length about Python.
20-05-20 03:43:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> whatcha wanna know about Python?
20-05-20 03:44:04: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Trying to figure out how to modify code on a running server.
20-05-20 03:44:29: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I kind of like old-schoolin' it in the engine itself, but I'm going to want levels eventually.
20-05-20 03:45:16: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> It what god must have felt like when he made his first MUD.
20-05-20 03:46:38: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Although, setting up a secure connection from the public internet should probably be at the top of my list.
20-05-20 03:46:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> uhhhhh
20-05-20 03:47:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> You're going to have to be clearer than that, by 'levels' and 'old schooling it in the engine itself'
20-05-20 03:48:09: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> My bad. Looking at how to update python.  So far, git looks to be the beat way.
20-05-20 03:48:28: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Logging into the game itself and just creating objects is fun though.
20-05-20 03:48:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> you'd want to use Git to update your 'mygame' folder and the evennia library, yes.
20-05-20 03:49:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and then a 'reload' in-game
20-05-20 03:49:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> btw I am NOT DONE with my crazy side adventures. I am currently investigating GoLang instead of Rust because WTF Rust is crazy
20-05-20 03:50:10: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Actually, I would recommend evennia reload outside of the game. It will let you see any error messages.
20-05-20 03:50:22: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> And you're already right there doing the git pull.
20-05-20 03:50:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> well yes that too
20-05-20 03:50:38: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I'll add that to my notes.
20-05-20 03:50:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> You should uh, not randomly push updates to a production server though...
20-05-20 03:51:25: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Make a test server and see if it breaks it?
20-05-20 03:52:06: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Right. But no matter how careful you are with everything it's still best practice to be able to see any error message, even though the odds of one should be minimal.
20-05-20 03:52:43: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> and I have to be outside the virtual environment to see those errors?
20-05-20 03:53:20: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> No. You would be in the virtual environment. We're discussing reloading from command line as opposed to being 'in game'.
20-05-20 03:53:55: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> gotcha
20-05-20 03:55:58: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Dumb question
20-05-20 03:56:02: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> And @Volund is absolutely correct. The odds that there should be any error message should be miniscule because you've already tested the git pull before deployment. It's simple that it's an easy very easy thing to do and the odds, while miniscule, are non-zero.
20-05-20 03:58:06: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> If I want to get a db attribute from an object by the db attribute's key, when that key is being passed to a function as a variable, how would I do that?  I know I've not had any luck with object.db.get()
20-05-20 03:59:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> uhhh... the key is simply a string? object.db.get(key=thevar) ?
20-05-20 03:59:39: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> evennia.search_object("#<key>')[0].db.attribute is how I would do it.
20-05-20 04:00:20: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Actually, probably '#'+<key>
20-05-20 04:00:37: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> That's where I was screwing up, volund, is that I was just using get(<variable>)
20-05-20 04:01:47: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Oh. The variable is the key, not the id of the object. Never mind.
20-05-20 04:09:44: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Nope, I get NoneType is not callable, when I try to .get on object.db
20-05-20 04:11:29: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ah, I have to use object.attributes.get()
20-05-20 04:12:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> if you are using a string then use object.attributes.get(key=str)
20-05-20 04:12:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> you can only use obj.db.blah if you know what 'blah' is ahead of time because you said what it is
20-05-20 04:12:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> attributes.get() is for 'dynamic' retrieval I guess you could say
20-05-20 04:12:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> TECHNICALLY you could use getattr(obj.db, str) but....
20-05-20 04:12:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ...... that's silly, don't do that.
20-05-20 04:21:11: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Heh
20-05-20 04:23:49: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I had the bright idea that when an item enters the zone that's montered in db.card_played, it would create and shuffle a small set of cards into the player's deck.  I needed to be able to find those temporary cards in the card_deck, card_hand, card_played, and card_discard zones, so they could be removed when the item card leaves the played zone.
20-05-20 04:24:25: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> So I wrote a function to search each of them in turn, and when it found the first instance of the temporary card, return the name of the attribute it was in, and its index in the list.
20-05-20 04:47:14: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> And it works like a charm
20-05-20 04:47:27: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Thanks, guys
20-05-20 05:16:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> 🙂
20-05-20 05:16:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> meanwhile I am exploring Go And after just 2 hours of trying things I can confidently say: Google's Go(Lang) is the Python of the Statically Typed, Compiled World.
20-05-20 05:16:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> holy -crap- this is nice
20-05-20 06:10:35: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Is there a method that executes on an object AFTER it's created?
20-05-20 06:12:16: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I made a typeclass, and neither at_object_creation or at_init seem to let me do anything with the db attributes I set in at_object_creation.   Specifically, I'm trying to set db attributes with a prototype, and then have the object run a method on the contents of that db attribute.
20-05-20 06:13:21: [evennia] ircbot-Drastical: [email protected]#evennia: obj = spawn(prototypename); obj.whatevermethod()
20-05-20 06:17:20: [evennia] ircbot-Drastical: [email protected]#evennia: You can of course modify the Attribute's value *before* assigning it in at_object_creation, if you have access to modify that anyway
20-05-20 06:18:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> you wanna know something weird
20-05-20 06:19:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> my room recently got rearranged. so my bed was moved. it is now facing a different direction.  even with the room completely dark and the light off, I am strangely, extensively aware of the fact that I AM NOT FACING THE SAME DIRECTION. I -feel sideways.- Like. not in an awful, "I MUST FIX THIS" way. just a "this is different. even though I am laying on my back, I cant see anything, nothing really changed", yes, yes it did change.
20-05-20 06:20:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> WTF, brain.
20-05-20 06:20:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> isn't it -bogus- when your brain does stuff like that?
20-05-20 06:22:54: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Of course.  I knew I was too tired to be doing this.  Thanks, Griatch.
20-05-20 06:23:23: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I get that, Volund
20-05-20 06:24:02: [evennia] ircbot-Drastical: [email protected]#evennia: @Volund: Snap out of it, brain!
20-05-20 06:28:56: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Actually, it looks like I'm able to use basetype_posthook_setup
20-05-20 07:22:20: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Wheee!  Can spawn a mob, and have it create loot and drop it when it dies.
20-05-20 07:22:40: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Do dbrefs ever get reused?
20-05-20 07:23:04: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Or do they just possibly go to astronomical numbers?
20-05-20 07:41:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> I think that depends on the database engine.
20-05-20 07:41:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> but generally no.
20-05-20 07:42:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Postgres has the option to reset the PK sequence, but I don't think it's recommended.
20-05-20 07:42:38: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> sloth love chunk
20-05-20 07:58:43: [evennia] ircbot-Drastical: [email protected]#evennia: No, dbrefs are not reused
20-05-20 07:58:58: [evennia] ircbot-Drastical: [email protected]#evennia: You shouldn't care what individual dbrefs are anyway
20-05-20 08:10:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> This too, it's an implementation detail. Django at the least will abstract it all away.
20-05-20 08:20:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I've always been fascinated by people wanting to reuse dbrefs. It's for no other reason other than it feels nice. Seems very human to me.
20-05-20 11:05:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> It's also really a holdover from MUSH that objects with certain refs were special
20-05-20 11:30:01: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> @DarkSir23 @Cloud_Keeper Thank you both, those would be very useful
20-05-20 12:25:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> @xhawk87  https://bitbucket.org/Cloud_Keeper/ircparser/src/master/
20-05-20 12:39:15: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> thanks
20-05-20 12:58:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> dbrefs are not infinite, it just takes a really long time to hit the limit depending on how much waste is generated, so naturally we want to avoid that. Constantly have to remind myself I'll never hit the limit even if my mud ever makes it to playable AND have a good playerbase...
20-05-20 13:00:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> but the thought is still there, whispering in my ear about the inevitable doom of hitting the limit
20-05-20 13:00:42: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> https://giphy.com/gifs/moodman-hpRMBbm9140MxLuvrT
20-05-20 13:23:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Just took that wilderness contrib for a run there, its looking good!
20-05-20 13:50:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> https://cdn.discordapp.com/attachments/246323978879107073/712663498127048764/wildernessresult.png
20-05-20 14:01:10: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I was mostly just curious
20-05-20 14:23:40: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> @Kektus, while dbref#s aren't infinite you almost certainly can reset where you want your auto_increment to start from (I won't say you absolutely can because maybe there's some DBM out there that won't allow it).  Dealling with running out of numbers is more involved than that since you would need to consolidate your 'empty space', but that's not a terribly difficult thing to do. You would just need to run through everything in the
20-05-20 14:23:41: [evennia] ircbot-Drastical: [email protected]#evennia: database, move them to the first available ID, and update anything that references their ID number with the new ID.
20-05-20 14:26:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> @The Sands  true but at that point I would work on an export/import system and just create a fresh db with the data
20-05-20 15:47:00: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H kowinq forked evennia|H https://github.com/kowinq/evennia|H
20-05-20 19:29:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so I am starting to come to some dire conclusions about all of my designs
20-05-20 19:30:05: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> yessssss more knowledge
20-05-20 19:33:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Well you might not like to hear these conclusions.
20-05-20 19:34:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So
20-05-20 19:35:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I hail from the MUSH coder crowd originally. MUSH/MUX is a curious sort of game server - the code for all of the 'game logic' is generally stored on within the 'game save data' itself - the game data. it's an interpreted language, something all its own.
20-05-20 19:37:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> the base game makes very few assumptions of what you're trying to make - and indeed, it is very, phenomenally flexible - but it does very much insist that most of the logic is implemented in softcode.
20-05-20 19:39:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> The problem is that by having -everything- based off of On-Line Creation, it is very difficult to share actual built areas, item defs, and other assorted game content, as you can't really guarantee that a DBREF used in one game wil be available in another.
20-05-20 19:40:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> (on top of the language itself being an archaic PITA, but that aside... its concept is good.)
20-05-20 19:40:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> compare that with something like Diablo 3
20-05-20 19:40:51: [evennia] ircbot-Drastical: [email protected]#evennia: Volund: Is there any dbref renaming/updating tool?
20-05-20 19:41:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> rogersm: sort of but not really. you -could- open up the game database cold and manually make some changes and hope you caught all the references to it....
20-05-20 19:41:54: [evennia] ircbot-Drastical: [email protected]#evennia: I rewriting (again) my mud and I face the same problem
20-05-20 19:42:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so to continue what I was saying
20-05-20 19:43:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> compare that with a game like Diablo 3. Although Diablo 3 is -huge- with a ton of content, the nature of the beast is fixed - there are only so many different states that the story mode can be in. there are only so many kinds of items, so many kinds of modifiers for those items, and so many slots to store those items. These change only when the devs patch it.  But the downside to this is that in games - most MMORPGs, and stuff like Diablo
20-05-20 19:43:42: [evennia] ircbot-Drastical: [email protected]#evennia: 3 - you can't actually leave an impact on the game world.
20-05-20 19:44:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> In other words, You Don't Actually Matter in Diablo 3. you don't make chagnes to the game world that impact other players. you stick your name on a leaderboard and brag. That's the change you can bring.
20-05-20 19:44:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Contrast with EVE Online where, if you get with enough other players and cooperate nicely, you can take over territory and place new space stations for other players to visit if you let them come.
20-05-20 19:45:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> The lessons I am learning as I try to write the 'perfect MUD framework' are that there's a -reason- that a lot more games like Diablo 3 than EVE exist.
20-05-20 19:46:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Allowing for the game world to expand during play opens up a -crapload- of engineering questions. It is MUCH harder than it looks. For it to work well, you do still need to define the KINDS of changes that can be wrought.
20-05-20 19:47:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> And so, more and more must be defined.  The more that is defined, the less it can Be Anything.
20-05-20 19:47:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> My goal is impossible.
20-05-20 19:48:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> A) Able to define prefab content and fixtures using external files such as JSON B) Game world can be expanded with player building/efforts. C) Game world can be expanded during play also with procedural generation D) framework is largely agnostic of the specific needs of the game.  .... I realize now that if I want A, B, and C, I need to ditch D. if I want D, I have to limit the assumptions of the kind of game.
20-05-20 19:50:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> D) is like, a modern goal that many dev reaches for Most of the time it ends in failure, too abstract to be really used or too complex
20-05-20 19:51:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> yep. that's what I am realizing
20-05-20 19:51:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> I'd say a better goal would be to make it easy to swap, modules
20-05-20 19:51:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> yep. and that's what Nakama appears to have done
20-05-20 19:51:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> https://heroiclabs.com/
20-05-20 19:52:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I think these guys beat me to the punch.
20-05-20 19:52:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> these guys have already made what looks like the ideal form of that.
20-05-20 19:52:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> the only thing it lacks is telnet
20-05-20 19:52:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so I'm now feeling very :/
20-05-20 19:53:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Have you tried it?
20-05-20 19:54:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> not yet. I'm about to. Remember having trouble getting the darned thing started last time because I was on a too-new version of Ubuntu
20-05-20 19:55:04: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Looks nice.
20-05-20 19:55:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Giving it a good try should help you see if its better than what you were working on or if you're better off continuing
20-05-20 19:55:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Nothing wrong with switching or even adding things to it if it suits your needs
20-05-20 19:55:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> if it doesn't then you'll stop feeling :/
20-05-20 19:55:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> and know you should continue 🙂
20-05-20 19:56:07: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Kind of a newbie here. Is it a game engine, or just the server solution?
20-05-20 19:56:48: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Works with Godot...that's nice.
20-05-20 19:56:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> It's a bit of both, but more the latter than the former. it isn't a 'game engine'  beyond providing a mechanism to call the 'game loop' at a given interval, and a way to relate logged-in users to a loose notion of a 'match'
20-05-20 19:57:24: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Ah, so multiplayer lobbies, virtual worlds, guilds, etc.
20-05-20 19:57:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> exactly WHAT that match contains for its state and logic is up to you. yeah.
20-05-20 19:57:53: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> The 'game' part of the game is on you.  That's what you mean by agnostic.
20-05-20 19:58:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> yeah. this is the perfect example of "ready to go, insert game logic and database here."
20-05-20 19:59:04: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Niiiiice.
20-05-20 19:59:42: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> So that answers your 'drop game into this type of multiplayer system' problem.
20-05-20 20:01:30: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> The guy with the card game might like that.
20-05-20 20:01:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> correct. And since it's written in GoLang, AND has a plugin design for importing .so files.... like. sky's the limit there.  But that leaves me in a weird, WEIRD bind when it comes to my efforts hereabouts. because I still have a bunch of MUSHes that I want to move to something more maintainable....
20-05-20 20:02:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and I am starting to think that maybe I'm taking the wrong approach.
20-05-20 20:02:33: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I have noticed the way coding makes you think and approach problems.
20-05-20 20:04:53: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> This Golang you keep referencing is interesting.
20-05-20 20:08:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I spent the last week attempting to learn Rust. Then I tried GoLang. Holy crap. GoLang is like the statically typed, compile cousin to Python.
20-05-20 20:08:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> compiled
20-05-20 20:08:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and yesterday I saw a TRANSPILER "from C to Golang" what seriouisly
20-05-20 20:09:12: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> giggidy
20-05-20 20:10:21: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I picked up CoffeeMUD to figure out how to design a MUD. Its in C.
20-05-20 20:26:19: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Golang is my primary programming language, but research for MU* stuff in the language yielded only WolfMUD for something near a useful project
20-05-20 20:28:01: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Heh, Nakama uses CockroachDB, which is what I used in the past for some game projects. Real easy to do protobuff style middleware in my experience
20-05-20 20:31:06: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> From a brief read, I think you'd still need to code everything but communications channels for a MU*-type game
20-05-20 20:32:03: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> All of the features here look like game support, not game loop.
20-05-20 20:34:54: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Think I'll add it to the list.  The inclusion of Godot means it might be a bit more entry-level than it looks at first.
20-05-20 20:38:42: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Yeah I would say that Nakama fits more properly in the niche that Grapevine does in the MU* world. It's social ecosystem management. If you had your game logic defined already you could bolt this on with RPC and be good to go. I could definitely see it being useful if your game is written in a microservice or clustering model.
20-05-20 20:41:52: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @Volund fwiw I think Golang is sort of ideal for something like a MU* server. Part of my interest in working with Evennia is to understand a proper MU* stack, so that someday I can start another life-consuming project inspired by it in Go.
20-05-20 20:45:38: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> There's nowhere near the amount of contributed code for Golang, however. No Django or anything else remotely like it. You'd be stuck trying to make Buffalo work for you, and while a great project, it's still rather new.
20-05-20 20:45:58: [evennia] ircbot-Drastical: [email protected]#evennia: Yo folks
20-05-20 20:47:17: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Hello @Griatch . I've made a ton of progress since your help yesterday. Those Catalogs and their component rulesets I am rigging up as dataclasses and it's going swimmingly. Cheers!
20-05-20 20:48:00: [evennia] ircbot-Drastical: [email protected]#evennia: Glad to hear it :D
20-05-20 20:54:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> CoffeeMUD is not C. CoffeeMUD is Java.
20-05-20 20:54:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> belatedly
20-05-20 20:55:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> heya Griatch
20-05-20 20:57:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> but anyways, yes. I look at how PennMUSH and RhostMUSH work. I look at GoLang. And I'm like.... "dang. daaaaaaaaang. implicit Interfaces and Goroutines lead to much goodness."
20-05-20 20:58:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> And it makes me wonder about the possibility of... how do I put this. if I could port PennMUSH to GoLang and import the outdb.
20-05-20 20:58:46: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> channels too. solves a lot of problems
20-05-20 20:59:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> because of Interfaces, things like Commands and Functions (in the softcode sense) could just be Interfaces that you have to satisfy.
20-05-20 20:59:41: [evennia] ircbot-Drastical: [email protected]#evennia: Is Go easy to sandbox for untrusted users?
20-05-20 21:01:32: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> To prevent SSRFs and such?
20-05-20 21:01:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Griatch: the softcode interpreter is already a 'sandbox' by virtue of being interpreted by 'inside the game'
20-05-20 21:01:44: [evennia] ircbot-Drastical: [email protected]#evennia: In softcode, yes
20-05-20 21:01:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> if you can crash the game or alter stuff outside the rules of softcode, it's a bug
20-05-20 21:02:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> what's an SSRF?
20-05-20 21:02:38: [evennia] ircbot-Drastical: [email protected]#evennia: You could make a softcode interpreter in Python too.
20-05-20 21:03:01: [evennia] ircbot-Drastical: [email protected]#evennia: But ... softcode.
20-05-20 21:03:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I am pondering some design ideas.
20-05-20 21:03:20: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> SSRF is tricking a server into making external requests by exploiting http vulns
20-05-20 21:03:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So here's some of the thoughts I've been having.
20-05-20 21:04:40: [evennia] ircbot-Drastical: [email protected]#evennia: @MagnumOpus: You don't need to be that sophisticated when it comes to Python; the introspection of Python is also its own enemy when it comes to allowing an untrusted user access to coding in-game python code. It's nigh impossible to sandbox it in a surefire way.
20-05-20 21:04:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> One of the major problems with the MUSH approach is that you're creating an object - you don't know what DBREF it's gonna have - and then sticking code on it to run. this becomes a fixture of your game.  It is possible to 'script' the creation of this object so that it can be duplicated from one game to another. with a clever indexer you can even abstract away needing to refer to the code object dbref.
20-05-20 21:05:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> but this doesn't solve the root problem of 'need to enter this data manually in-game, create objects to run the code'
20-05-20 21:05:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> nor does it solve the problem of 'cannot extract this or drop it in another game without knowing what you're doing'
20-05-20 21:08:09: [evennia] ircbot-Drastical: [email protected]#evennia: @MagnumOpus: Hence you generally don't try to offer untrusted users access to the raw Python interpreter.
20-05-20 21:08:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> But what if you could define this object -outside- of the game binary, load it during startup, give it a unique address in a package that can be shared between games... have it define @parent objects, templates, etc... you just flip a switch and 'these static external Objects are now considered global code objects, code works dammit'. they might have 'virtual' dbrefs that don't look like normal DBREFs, but are accepted as @parent targets
20-05-20 21:08:26: [evennia] ircbot-Drastical: [email protected]#evennia: or as data stores.
20-05-20 21:09:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so like... where get(<dbref>/<attribute>) normally wants to see a dbref like #5, you instead could do :BBS:MASTER
20-05-20 21:09:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and get() wouldn't know the difference.
20-05-20 21:10:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> now if you can define :BBS:MASTER outside of the persistent game database....
20-05-20 21:10:25: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @Griatch I can't think of anything off the top of my head of allowing untrusted access. Golang is a compiled language so you'd need to explicitly take some action to expose the stack.
20-05-20 21:10:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I should probably bring this idea to Ashen-Shugar.
20-05-20 21:10:58: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> There is the Playground, but they do not open source that code afaik
20-05-20 21:11:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> this has CRAZY potential
20-05-20 21:13:38: [evennia] ircbot-Drastical: [email protected]#evennia: @Volund: It sounds like your earlier concept of making 'namespaces' for in-memory loading>
20-05-20 21:20:44: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @Volund For what you're trying to achieve it feels like your best bet is to create a domain-specific language that exposes some subset of server-side functionality.
20-05-20 21:20:59: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> And let people create and load their objects using that.
20-05-20 21:21:39: [evennia] ircbot-Drastical: [email protected]#evennia: Aka softcode ;)
20-05-20 21:22:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Serf Code.
20-05-20 21:24:09: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Yeah. A softcode solution also allows you to keep a firewall between your core stack and user code. Otherwise your bug/vulnerability surface is almost certain to have holes in it.
20-05-20 21:24:37: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I would not want to be stuck trying to write all the test cases for unobstructed access to server logic.
20-05-20 21:25:59: [evennia] ircbot-Drastical: [email protected]#evennia: I personally think that coding should be done in a full language, using a proper editor, outside of game. Builders can get power by more sophisticated build commands. But opinions vary of course.
20-05-20 21:26:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Swoft Code.
20-05-20 21:27:13: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I was basically just about to say the same thing. I am new to the MU* hobby so I don't have any user perspective on softcode, but my general feeling is that the lure of providing more power there is, like the Sirens, a call to the rocky bluffs.
20-05-20 21:27:53: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> If a theoretical user is capable of using said power responsibly, they are reasonably just a bit of effort away from learning to code in the core language itself.
20-05-20 21:28:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Nnneeehhhhhhhh...
20-05-20 21:29:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> The ability to nearly crowdcode in Soft Code is pretty potent.
20-05-20 21:30:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> If someone wants to contribute to an ongoing project, they can do so fairly easily and be implemented with little security concern, a more experienced coder can usually spot it fairly easily.
20-05-20 21:30:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> (Theno's phrase of the day is apparently "fairly easily".)
20-05-20 21:30:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> (Weasel Phrases FTW.)
20-05-20 21:30:59: [evennia] ircbot-Drastical: [email protected]#evennia: git commits :)
20-05-20 21:31:22: [evennia] ircbot-Drastical: [email protected]#evennia: Proper code management any day in my book.
20-05-20 21:31:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Nnnnnneeeeehhhhh....
20-05-20 21:32:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Teaching someone a programming language vs. teaching them the full stack.
20-05-20 21:32:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> And lord knows that Evennia can be a bit scattered for how to add implementations to existing code, whether it's core or home-brewed.
20-05-20 21:33:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Not that Mushcode can't.
20-05-20 21:33:34: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> There is probably a gametype where softcode makes a lot of sense, it's just outside of my MU* newbie experience and I think not my jam. I like my gameworlds tightly constrained and curated by the implementors. The only analogy I have in personal experience is Everquest vs. Second Life, where the latter held no interest for me.
20-05-20 21:34:04: [evennia] ircbot-Drastical: [email protected]#evennia: That's for you (not you personally, but you as the lead dev) to prepare for your contributors. They don't need to contribute to the core at every turn. But sure, there are advantages to using softcode.
20-05-20 21:34:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> PHP vs. C++. Whether it's ones jam or not, adding to a script vs. a development system is rather night-and-day. Tho in Mushcode and PHP's case, that's a night of withdrawal from heroin, every step of the way.
20-05-20 21:36:42: [evennia] ircbot-Drastical: [email protected]#evennia: I do expect a game to be created by a developer, using proper coding tools. Adding content to said game ('building/scripting') is something that could potentially be relevant to be 'crowdsourced' if that's your jam; for that you'd provide the build commands and resources for non-dev users to make use of to create content.
20-05-20 21:37:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Or throw all the tools at the people and curate the results. Because that's fun too.
20-05-20 21:37:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> 🎵 Design Goals, whoa whoa.
20-05-20 21:37:47: [evennia] ircbot-Drastical: [email protected]#evennia: My main concern with softcode in the MUSH world is that it's used for *everything* pretty much, including complex systems that you cannot 'crowdsource' and let people muck around with willy-nilly.
20-05-20 21:38:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Psshh. Anomaly Jobs is set up for enough messing around with, though it is a pain in the everloving rear.
20-05-20 21:38:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> 90s mentality in a 20s world.
20-05-20 21:43:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> And before anyone thinks I am dismissing Evennia, I'm not. I can laud Evennia but still know where softcode practices shine, and know that never the 'twain shall meet.
20-05-20 21:44:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> I mean, if I could do Evennia style code without worrying about higher stack learning like git, I would probably be more comfortable with it.
20-05-20 21:45:04: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Are there evennia-based games out there with softcode implementations? I can't think of anything about it that would prevent that.
20-05-20 21:45:17: [evennia] ircbot-Drastical: [email protected]#evennia: @Thenomain: Where are you with your exploration of Evennia at this point? Still looking into things or working on something in particular?
20-05-20 21:45:19: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> You'd just have to write the DSL.
20-05-20 21:45:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Same thing that prevents it as always: Someone doing it.
20-05-20 21:46:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> @Griatch : As an "Essential", I am mostly worn thin now with extra headaches. I have been continuing to do the JetBrains Python stuff at work, one snippet at a time.
20-05-20 21:46:30: [evennia] ircbot-Drastical: [email protected]#evennia: There were a few attempts from time to time, but people tend to realize it's a lot easier to just use Python than use Python to parse another high-level language.
20-05-20 21:47:05: [evennia] ircbot-Drastical: [email protected]#evennia: Ah, I see.
20-05-20 21:47:42: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I suppose the magic system I have spec'd out has elements of softcode paradigms in it. No explicit spell list, just combinations of symbols and actions to produce effects.
20-05-20 21:48:13: [evennia] ircbot-Drastical: [email protected]#evennia has been following the SpaceX Starship testing the last few weeks. It's almost like a sci-fi escape fantasy :)
20-05-20 21:48:47: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> But that's less about creating opportunity for variety of objects and more to represent magic in this gameworld as the metaphysical equivalent of sticking a fork in a wall socket.
20-05-20 21:49:42: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> So, basically WoD Mage @MagnumOpus ?
20-05-20 21:50:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> oWoD Mage. 😉
20-05-20 21:51:09: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I took some inspirations from it, yeah. The idea is to let players discover the rules and craft their own traditions in the game's lifecycle.
20-05-20 21:51:10: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I just finished up my Cod Mage coding. It's still largely the same theory. Just slightly different wrinkles.
20-05-20 21:51:52: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Communicating through tablet at the moment.
20-05-20 21:52:48: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @The Sands I'm a big *oD fan. Very curious to see what you've done.
20-05-20 21:53:43: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Mage stuff in particular is so slippery.
20-05-20 21:53:57: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> There's a test spy up and running right now. I can't recall the address off the top of my head, but it's listed.
20-05-20 21:54:53: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Specific effects aren't coded. It's still like playing at a table.
20-05-20 21:55:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> I never got to the point where I wanted to code specific effects for a TTRPG.
20-05-20 21:55:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Code the system tools, let people run wild.
20-05-20 21:55:53: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Yep. That's what I've been doing.
20-05-20 21:56:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Mind you, I lie through my teeth in that I did start a framework for letting people make shortcuts for systems for their characters.
20-05-21 01:35:31: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H Yamakasisensei forked evennia|H https://github.com/Yamakasisensei/evennia|H
20-05-21 01:49:00: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I thought I read that evennia was using sphinx docstrings, but from what I can tell the docstrings are in google style?
20-05-21 07:57:30: [evennia] ircbot-Drastical: [email protected]#evennia: @MagnumOpus: You must have read wrong. We always used Google docstrings.
20-05-21 07:58:18: [evennia] ircbot-Drastical: [email protected]#evennia: I'm working on a new sphinx-based static doc, but that'll still be using Markdown and parse Google docstrings.
20-05-21 13:30:36: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> That must be what I was thinking of.  Thanks!
20-05-21 13:58:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: Do you know if is there some definitive piece of literature that deals with the typical algorithms and data structures but in a very pythonic fashion? That is written by an actual python programmer and not say a java programmer unaware of what python has on offer and unable to therefore teach any interesting python specific approaches.
20-05-21 13:58:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> *there is
20-05-21 14:00:38: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Morning, all
20-05-21 14:01:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I keep reviewing various materials and the people who are trying to teach these concepts for instance want you to implement quicksort in python but fail to elaborate on how python itself offers timsort with the sorted() built it, fail to provide a non recursive solution or provide no solution at all etc.
20-05-21 14:01:37: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @DarkSir23 hai
20-05-21 15:29:23: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/static-file-docs|H: [Griatch]: Remove some files not needed with custom searchindex
20-05-21 15:32:39: [evennia] ircbot-Drastical: [email protected]#evennia: @BP-Santo: I really enjoy `Fluent Python`. It's probably the most 'pythonic' book I know. It may not go into general algorithms all that much though.
20-05-21 15:39:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Nice, I'll give that a look.
20-05-21 15:42:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Kovitikus|H> So, are you able to still get the documentation updated Griatch? With Sage leaving the scene, I know he was working on updating stuff.
20-05-21 15:42:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Kovitikus|H> I assume he left behind enough information that you get the gist of the direction he was going.
20-05-21 15:45:55: [evennia] ircbot-Drastical: [email protected]#evennia: He's still around. But we decided that since the new documentation will be version-separated, his stuff will happen in parallel and possibly as a 'future' version. I'm still working on the underlying infrastructure of it, and will be using an auto-converted wiki for content for now. Once that works and builds correctly  we can start considering changing the structure.
20-05-21 16:03:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Kovitikus|H> Cool. Thanks for the update.
20-05-21 17:09:02: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Is there a wiki page or module entry point I could review to get an idea of the right want to utilize the logging facilities in Evennia? Other than diving directly into utils/logger
20-05-21 17:09:34: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I'm starting to organize things discretely enough to define my custom exceptions
20-05-21 19:13:54: [evennia] ircbot-Drastical: [email protected]#evennia: https://github.com/evennia/evennia/wiki/evennia.utils.logger
20-05-21 20:57:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What was sage's structure?
20-05-21 20:58:53: [evennia] ircbot-Drastical: [email protected]#evennia: Very much WIP and up for discussion: https://github.com/evennia/evennia/pull/2096
20-05-21 21:03:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Wow. That is a bucket load of work
20-05-21 21:50:19: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> does anyone have any experience with Amazon Web Services? I've not used them before and was wondering how well it'd work with Evennia
20-05-21 21:51:17: [evennia] ircbot-Drastical: [email protected]#evennia: I have plenty of experience with AWS, but not for Evennia. I don't see it being a problem. I'd think it's a little overkill though; something like DigitalOcean is simpler and probably cheaper.
20-05-21 21:53:43: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I'm not that familiar with DigitalOcean either. is it simpler to set up?
20-05-21 21:54:21: [evennia] ircbot-Drastical: [email protected]#evennia: I found it very simple. But it comes down to how used you are to linux, the command line and such
20-05-21 21:54:34: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I thought the free tier on AWS looked good. I am very used to linux
20-05-21 21:55:39: [evennia] ircbot-Drastical: [email protected]#evennia: I know people have used AWS in the past so knock yourself out :)
20-05-21 21:56:02: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I'm running on AWS without any real issues. I'm running one step higher than 'free' but from what I've seen it would probably work as just fine on the free tier.
20-05-21 21:56:47: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I am planning to use AWS myself, but that's mostly because I do infra stuff in AWS professionally so getting something up and running in there is just some edits to really basic terraform modules I already have available.
20-05-21 21:57:05: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Down the road when I get there, I would be happy to provide the code I use for public consumption.
20-05-21 21:57:34: [evennia] ircbot-Drastical: [email protected]#evennia: In a develop branch we have a contrib that switches Evennia to completely use S3 for static storage under the hood.
20-05-21 21:58:36: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Hmmm. I could see that being useful for the web facing stuff for sure.
20-05-21 21:58:57: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Anything gamelogic-related I'd probably want to keep machine-local.
20-05-21 22:00:16: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I live in perpetual fear of the next S3 outage.
20-05-21 22:01:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Ainneve used AWS free tier
20-05-21 22:01:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> The only problem I think they had was Freenode blocks the IRC connection
20-05-21 22:02:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> It will only allow it to sign in with a password which the irc bot doesn't support currently
20-05-21 22:02:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> @xhawk87 Have you taken a look at lightsail?
20-05-21 22:02:41: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I'm not familiar with lightsail
20-05-21 22:02:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Its also by amazon, its a sort of fixed package for a low price
20-05-21 22:03:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> AWS can be overly complicated and you're not always certain how much you'll pay
20-05-21 22:03:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> but lightsail at its cheapest is like 3$ per month, no extra charges
20-05-21 22:03:33: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that was a concern
20-05-21 22:04:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> I'm not sure how much it'd perform for evennia, a single core running both the game and the database on it seems an issue
20-05-21 22:04:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> but at that price, why not grab two of them and problem solved
20-05-21 22:05:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Then I realized I have no production ready mud and sleeping equipment at home  😄
20-05-21 22:05:23: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> you can change the pricing tier and get more out of it
20-05-21 22:05:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> yeah, it seemed like a decent choice
20-05-21 22:05:40: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> $20/mo is a 4GB, 2 core, 80GB disk
20-05-21 22:06:02: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> pretty much exactly evenly priced with Vultr
20-05-21 22:06:04: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> so yeah
20-05-21 22:06:06: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> no harm there
20-05-21 22:06:29: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> right now I just want something minimal for testing with a handful of people during development
20-05-21 22:06:40: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> 1 core is fine for that
20-05-21 22:08:06: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I run my Evennia inside a Docker container. That way I was able to set up an identical Docker container on AWS (and I could set up an identical Docker container on DigitalOcean or prettymuch anywhere else I wanted to go) and I don't have any concerns that something running on my local machine will fail on deployment because some admin somewhere upgraded/downgraded something.
20-05-21 22:08:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> yeah that also seems like a good idea
20-05-21 22:08:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> makes deploying new versions a breeze
20-05-21 22:09:08: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I'd like to try and get more people to load test my setup but I seriously doubt it would ever cost me more than $20 a month.
20-05-21 22:09:39: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> At least from what I've seen with the monitoring.
20-05-21 22:09:52: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that sounds interesting. I haven't used docker myself before, I've seen it used at work but not in my team
20-05-21 22:10:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> I agree, that 20$ option looks perfect
20-05-21 22:11:48: [evennia] ircbot-Drastical: [email protected]#evennia: Using docker is easy - once you understand the core principle of a docker.
20-05-21 22:12:22: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Docker adds another level when you are learning it, but afterwards it is sooooo nice. No issues with people having different environments, no issues with some admin making a change that screws your system, no issues with the distro making a tweak that screws you up, and no issues with multiple projects with different environment requirements.
20-05-21 22:12:25: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> For most people's needs, standing up something with docker-compose is the ideal entrypoint both to learning and actually deploying.
20-05-21 22:13:05: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> And that layer that it adds isn't horribly complex. It's just that you should realize that something is going to be there.
20-05-21 22:14:25: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I can't imagine doing anything without docker these days. Even the few singleton pieces of infrastructure I need to deploy outside of any sort of clustered environment I do with compose. Makes lifecycle management significantly easier.
20-05-21 22:14:40: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I would say it's a core skill. We definitely hire that way.
20-05-21 22:16:16: [evennia] ircbot-Drastical: [email protected]#evennia: The evennia docker is built so as to offer a pretty nice interactive experience if you want to; the idea being that you can follow the getting-started instructions from inside the docker (it mounts the current dir as volumes).
20-05-21 22:17:27: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> Sounds really useful. I'd be happy to learn how to use it. Where do I start? Is there a good resource I can learn from?
20-05-21 22:17:45: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, the evennia documentation :)
20-05-21 22:18:13: [evennia] ircbot-Drastical: [email protected]#evennia: https://github.com/evennia/evennia/wiki/Running-Evennia-in-Docker
20-05-21 22:18:27: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> ah, found it. thank you
20-05-21 22:19:18: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> cool. well it's getting pretty late here, so I'll have to say goodnight. Thanks for your help, I'll be looking into this tomorrow
20-05-21 22:19:54: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> 👋
20-05-21 22:20:00: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Night.
20-05-21 22:32:04: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H: [edited]: Running-Evennia-in-Docker|H (Running Evennia in Docker) (https://github.com/evennia/evennia/wiki/Running-Evennia-in-Docker|H)
20-05-22 00:18:53: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Where did I build my git repository when I installed evennia?
20-05-22 00:21:40: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I think I'm seeing my mistake here. I need a local repository on the server. I don't think just cloning to an empty directory creates an actual repository.
20-05-22 00:38:47: [evennia] ircbot-Drastical: [email protected]#evennia: <ironcross|H> I've never touched docker.
20-05-22 00:59:59: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Yeah, cloning it locally doesn't make your own repository.  You have to actually fork it if you want to make changes to the base code.
20-05-22 01:00:11: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> But for the most part, you don't need to do that.
20-05-22 01:00:31: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> You can make your Evennia install, then when you create your actual game instance, you can make a repo out of THAT
20-05-22 01:00:42: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> If you want version control
20-05-22 01:01:11: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Does anyone know anything about how MUDs like StickMUD send map data to clients like Mudlet?
20-05-22 01:01:24: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> (and other things, like help files and stuff)
20-05-22 01:52:46: [evennia] ircbot-Drastical: [email protected]#evennia: <holl0wstar|H> GMCP.
20-05-22 01:53:01: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Wanted to share my WIP with you guys.  If anyone is interested in looking at it:  https://github.com/DarkSir23/cardsystem
20-05-22 01:53:20: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Just to be pedantic, because it is actually kind of helps in the understanding of git, you do create a repository when you clone into an empty directory. A repository is simply a place where git data is stored and when you clone you not only copy the python (or C or Java or whatever) files but you also copy the 'blob' (I don't think that's the literal name for it but just think of it that way) that lets you go back to previous
20-05-22 01:53:21: [evennia] ircbot-Drastical: [email protected]#evennia: commits.
20-05-22 01:54:29: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> However, you (probably) don't have permission to push any of the changes you make back to the main git repository on github.
20-05-22 01:55:00: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Yeah, true 🙂
20-05-22 02:30:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Hey guys, if I have a script meant to activate upon the character entering a room, do I need to do something particular to get it going?
20-05-22 02:33:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I have a check where the room does at_object_receive, it does find the script, but stops short of actually running it.
20-05-22 02:42:13: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Are you running create_script() ?
20-05-22 02:42:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yeah, and the script shows up when I do @scripts in the game
20-05-22 02:45:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> https://pastebin.com/1hx1dSMQ
20-05-22 02:46:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> only traceback I get is: 20-05-21 19:46:40-06 rooms 163: search_script(script_name) : <GeiegerIntro GeiegerIntro_Medbay>
20-05-22 02:47:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> https://cdn.discordapp.com/attachments/246323978879107073/713221447526645851/scripts.png
20-05-22 02:48:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I also tried just setting the key to GeiegerIntro as well but that made no difference.
20-05-22 02:58:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I don't have too much time, but if I may ask, what in the game are you trying to achieve
20-05-22 02:58:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What mechanic are you trying to code
20-05-22 03:00:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Rooms check if a script needs to be read upon entry basically. I was trying to make it sort of flexible and universal
20-05-22 03:03:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What do you mean a script needs to be read?
20-05-22 03:03:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What mechanisms do you have in mind
20-05-22 03:03:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Give me an example of what a player will see
20-05-22 03:04:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> For example, the player walks into a room where there are two npcs. The room checks if there's a player_entered script and if so, runs it. In this case, it's an interaction between two nps.
20-05-22 03:05:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> If that makes sense
20-05-22 03:05:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> so I made a basic script that just sends a couple messages to the player, with a logger msg to check if the script is even run at all. But it doesn't run.
20-05-22 03:06:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> The script IS found, though, but the code in the room
20-05-22 03:06:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What's the script attached to?
20-05-22 03:07:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I've tried it as both a global script and attaching it to the room
20-05-22 03:07:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> neither works though
20-05-22 03:08:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> https://cdn.discordapp.com/attachments/246323978879107073/713226749722230874/scripts2.png
20-05-22 03:08:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> it's the GeigerIntro one
20-05-22 03:09:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Why do you force the character to look?
20-05-22 03:10:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I force look on all the rooms so that it runs after npcs do something instead of before
20-05-22 03:10:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> which is the default
20-05-22 03:10:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> so I've redone it for all my rooms
20-05-22 03:11:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I got that part from a tutorial when I first started, lol
20-05-22 03:16:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> How do you know it's finding the script?
20-05-22 03:16:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> because I have a logger print out the search results
20-05-22 03:16:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> try:                     script_name = self.db.enter_script                     this_script = search_script(script_name)[0]                     logger.log_msg(f"rooms 163: search_script(script_name) : {search_script(script_name)[0]}")                     this_script.player_entered(obj)                 except:                     logger.log_msg(f"{self.key} failed to get: this_script.player_entered(self, obj).")
20-05-22 03:16:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Oh the f string
20-05-22 03:16:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yeah
20-05-22 03:17:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I missed that. I hate f strings :(
20-05-22 03:17:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> And that gives 20-05-21 20:53:56-06 rooms 163: search_script(script_name) : <GeiegerIntro GeiegerIntro_Medbay>
20-05-22 03:17:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> So it's finding it? And it also isn't running the exception part
20-05-22 03:18:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> but the first part of the script is also a log message and that isn't printing
20-05-22 03:18:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> And I have logger imported, too
20-05-22 03:18:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> So all I can think is it isn't running it
20-05-22 03:21:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Have you tried the global scripts method?
20-05-22 03:21:57: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Shouldn't make a difference but worth a shot
20-05-22 03:22:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> the create global?
20-05-22 03:22:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> GLOBAL_SCRIPTS
20-05-22 03:23:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I've deleted and created the script in every way I could find our think of. Global and otherwise, in-game using @py and using the builder commands
20-05-22 03:23:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> From the scripts page on the wiki
20-05-22 03:23:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yeah.
20-05-22 03:23:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> And it does make it just fine.
20-05-22 03:23:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I just can't get it to run.
20-05-22 03:23:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> The db attributes show up too, so the script is populated
20-05-22 03:25:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I can't sign into any of my remote environments on my work computer right now so I can't do any testing. Sorry man.
20-05-22 03:26:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> It's okay, I appreciate the troubleshooting efforts.
20-05-22 03:32:59: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Is there a timer on the script?
20-05-22 03:33:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Nuhuh
20-05-22 03:33:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> It's super simple, just spits out a log
20-05-22 03:34:45: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok, I see... your room is supposed to find the script, and run code on it...
20-05-22 03:34:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yeah
20-05-22 03:34:58: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Lemme look it over a bit.
20-05-22 03:35:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I use the exact same syntax for calling other scripts, too
20-05-22 03:35:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Absolutely, thank you
20-05-22 03:35:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I'll add the imports as well since that may be related, I have no idea.
20-05-22 03:36:47: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Instead of logging the actual search_script function, log the this_script variable.
20-05-22 03:36:54: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Make sure it's actually getting something.
20-05-22 03:37:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> It does
20-05-22 03:37:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I tried that as well and then took it out in case it was somehow calling it or something
20-05-22 03:37:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I was starting to get paranoid
20-05-22 03:38:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> it gives the exact same readout
20-05-22 03:38:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> 20-05-21 21:38:32-06 rooms 163: this_script : <GeiegerIntro GeiegerIntro_Medbay> 20-05-21 21:38:32-06 rooms 164: search_script(script_name) : <GeiegerIntro GeiegerIntro_Medbay>
20-05-22 03:39:11: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok, still thinking...
20-05-22 03:39:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Instead of the logger call, can you change it to something else
20-05-22 03:39:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yeah. You want to just print?
20-05-22 03:39:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I also tried caller.msg()
20-05-22 03:39:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Maybe it changes a variable on itself
20-05-22 03:39:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Oh what did caller.msg do?
20-05-22 03:39:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Absolutely nothing
20-05-22 03:39:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> well, for the script.
20-05-22 03:40:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I didn't put the actual search_script(script_name) thing in the caller message because I didn't want it to call it somehow or make things funky
20-05-22 03:40:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> When you say casket.msg I'm assuming you set up the msg so it's something you'd be able to see
20-05-22 03:40:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Caller*
20-05-22 03:41:06: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok, let me ask this so I understand.  Why not specify the script as the db attribute on the room, instead of the name of it?
20-05-22 03:41:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yes, in the script I did caller.msg(f"The script is working!")
20-05-22 03:41:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> because it reads it as a saverdict
20-05-22 03:41:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> or saver-thing
20-05-22 03:41:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> or saver-thing
20-05-22 03:41:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I can't remember which
20-05-22 03:41:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> it reads... like the db code if I specifically input that
20-05-22 03:41:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> so if I save it to a variable first that issue isn't there
20-05-22 03:42:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Basically, it has a fit. I had that issue last month before I realized I could avoid it if I used a variable go-between
20-05-22 03:44:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Assuming I'm understanding your question correctly. lol
20-05-22 03:47:29: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> If you put the script directly on the room, you should be able to refer to it as <room>.scripts.get('scriptname')
20-05-22 03:49:25: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> https://pastebin.com/Kw1qaFU9
20-05-22 03:49:27: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Then do that
20-05-22 03:52:18: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> And I mean using the scripts.add() on the room, not saving as the db attribute above 🙂
20-05-22 03:52:44: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Have to run for now, but I'll keep my fingers crossed for you.
20-05-22 04:02:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Oh
20-05-22 04:02:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Okay I'll try that, thanks!
20-05-22 04:09:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Same traceback
20-05-22 04:10:45: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Hrm
20-05-22 04:11:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Let me reload and try again
20-05-22 04:11:06: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> It finds the script no problem...
20-05-22 04:11:08: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok
20-05-22 04:15:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yeah, weird right?
20-05-22 04:16:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Oh there
20-05-22 04:16:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> there's a fail part now
20-05-22 04:17:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> 20-05-21 22:11:06-06 rooms 163: search_script(script_name) : [<GeiegerIntro GeiegerIntro>] 20-05-21 22:11:06-06 The Geieger - Medbay failed to get: this_script.player_entered(self, obj).
20-05-22 04:17:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> so it is getting it but failing to... run it?
20-05-22 04:17:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yes
20-05-22 04:17:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> it's hitting the exception
20-05-22 04:17:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> before it never gave the exception
20-05-22 04:17:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> but otherwise it's the same
20-05-22 04:19:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> https://cdn.discordapp.com/attachments/246323978879107073/713244549182521344/scripts.png
20-05-22 05:28:05: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Anything in server.log?
20-05-22 05:29:16: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Change the except: to except Exception as e
20-05-22 05:29:42: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> And you can add the e variable to your failure log message
20-05-22 05:32:42: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Wait
20-05-22 05:33:13: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> You’re passing two variables to the player_enter method
20-05-22 05:33:25: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> But the method only wants one
20-05-22 05:33:49: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Make it self, room, caller
20-05-22 05:34:03: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> If you want to pass the room to it as well
20-05-22 09:21:29: [evennia] ircbot-Drastical: [email protected]#evennia: @Riane: Did you figure out your issue in the job system from the other day? I pasted some input on it at the time.
20-05-22 10:33:01: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> Good morning, everyone :)
20-05-22 10:33:30: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I'm just about to take a look at docker, but I am not sure which server to go with still
20-05-22 10:34:04: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> how hard is it to get set up with AWS? what services will I actually need for this?
20-05-22 10:39:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Just set something up on free tier
20-05-22 10:39:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I've got instructions on how I set it up. Give me two seconds
20-05-22 10:39:37: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that would be really helpful, thank you
20-05-22 10:40:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I should correct myself. I have instructions on how to get things running on cloud 9
20-05-22 10:40:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Not sure how that changes things it's an.AWS service
20-05-22 10:42:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> https://pastebin.com/xHn4Rxpy
20-05-22 10:42:24: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> what I'm looking for is something free or very cheap to use for hosting it during development, that I can either scale up or easily switch away from if I actually get to the stage of needing to
20-05-22 10:43:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Meh, just do AWS because you know about it. If something better comes along it's trivial to change transfer it over
20-05-22 10:43:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Looking at servers is a rabbit hole that'll distract you from actually coding
20-05-22 10:44:42: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I've never actually used AWS or cloud-based servers before, but I figure it is something that I should try to become familiar with. so far only used VPS
20-05-22 10:47:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> So it looks like free tier only lasts for a year
20-05-22 10:47:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> And I owe them 70 cents for the month
20-05-22 10:47:57: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> oh no! D:
20-05-22 10:47:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I haven't touched it for the whole month
20-05-22 10:48:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Hm. I think I'll not worry about it for now. But if I end up needing that 70 cents I'll be upset
20-05-22 10:49:46: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> looks like AWS Lambda is a compute service that is always free, but I am not sure it's suitable for running this sort of application
20-05-22 11:02:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Just try it
20-05-22 11:02:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I used cloud9 because I can't install anything into work computers
20-05-22 11:02:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> It allowed me to code at work
20-05-22 11:03:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> And, as my instructions indicate, you can run telnet internally within it or turn it on externally to access over the web
20-05-22 11:06:09: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> Lambda looks like it is for serverless applications, something triggers a request and you can have a function run, and that's it
20-05-22 11:28:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> That would make sense given it's name.
20-05-22 11:34:32: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> what sort of RAM usage does evennia have?
20-05-22 11:35:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> why not lightsail doe?
20-05-22 11:35:30: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> one free month vs one free year
20-05-22 11:35:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> true
20-05-22 11:36:12: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> maybe I should use AWS and then switch to lightsail after a year
20-05-22 11:36:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> You'll have learned a lot by that time sure
20-05-22 11:38:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> feels to me like AWS is a complex beast suited for massive projects while lightsail is a one press button to victory
20-05-22 11:38:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> let us know how it goes 🙂
20-05-22 11:40:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> I mean I'm not saying that to discourage or anything, its always worth it to learn a tech like that
20-05-22 11:40:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> It might not be a big deal, but a bunch of us got AWS at the same time beause it allows for real tie editing between users
20-05-22 11:40:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> It was cool the one time we did it 😛
20-05-22 11:41:05: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> oh, with Cloud9 IDE?
20-05-22 11:41:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Yep
20-05-22 11:42:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Which, if I understand correct, you get access to with the free tier
20-05-22 11:42:10: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I'll bear that in mind for when I'm collaborating
20-05-22 11:42:48: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> AWS has an awful lot of different services available, but for the purposes of getting a server running you will need just a few. EC2 for a host server, Route53 for DNS. I'm happy to answer questions about it once you get going, but also their documentation is very extensive.
20-05-22 11:43:26: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Have not tried out Cloud9, did it have much setup involved or is it all push-button?
20-05-22 11:44:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Pretty push a button
20-05-22 11:44:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I appears to just be a fairly feature complete IDe you'd use on your own computer
20-05-22 11:45:23: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> what about storage? does EC2 include some?
20-05-22 11:48:58: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Standard EC2 servers will have some root disk (configurable size) and you can additionally attach EBS volumes.
20-05-22 11:49:42: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> ah, cool
20-05-22 11:50:41: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> is a t3.nano enough for testing during development?
20-05-22 11:51:18: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I'd use a micro
20-05-22 11:51:25: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> You get that in free tier
20-05-22 11:51:31: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> ah, I see
20-05-22 11:52:11: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> so a t3.micro or t2.micro? the t3 actually looks cheaper and has an extra vCPU. how does that work?
20-05-22 11:52:52: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Newer pricing models, different backend setups, allows them to price the newer stuff more competitively while often still delivering better service in most scenarios.
20-05-22 11:54:15: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> interesting
20-05-22 11:56:04: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> okay, amazon machine images. lots of linux options. I am familiar with Ubuntu, should I get Ubuntu server or something specific?
20-05-22 11:57:22: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> So you'll pick an AMI for the server, which is an OS image with some stuff already installed. You'll find AMIs for Ubuntu versions (I use those for work).
20-05-22 11:57:50: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It'll work as you are expecting for Ubuntu.
20-05-22 11:59:43: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> cool. it looks like only t2.micro has a "Free tier eligible" marker on it. I guess I should go for that then?
20-05-22 12:00:08: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Ahh, interesting.
20-05-22 12:00:13: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Yeah, t2 is definitely fine.
20-05-22 12:00:53: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> For the t* series of instances, there is a sort of credit system where you pay a scaling fee based on burst usage.
20-05-22 12:01:33: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> By default T2 should be Limited, which means that if you hit the CPU credit cap for the day on an instance, the CPU will get throttled.
20-05-22 12:01:53: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> sounds good
20-05-22 12:02:01: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> In practice I would be surprised if that happens with an Evennia dev machine.
20-05-22 12:02:23: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> But I have not profiled the server or anything so don't quote me on that.
20-05-22 12:02:33: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> unless I do something dumb and I get a runaway CPU :P
20-05-22 12:02:37: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Right.
20-05-22 12:04:59: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> looks like it comes with an 8GB root disk
20-05-22 12:05:40: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> That should be expandable in the free tier but I'm not sure.
20-05-22 12:05:59: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It's definitely a configurable trait.
20-05-22 12:07:22: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> cool. it's recommending that I set up a security group for the firewall
20-05-22 12:08:00: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Right. Security Groups are the core AWS security concept. Let's you whitelist connections.
20-05-22 12:08:43: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> well my home internet is relatively stable, but our IP does change occasionally
20-05-22 12:09:12: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> You'll want to set SSH (port 22) open, as well as the Evennia ports.
20-05-22 12:09:23: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> 4000 and 4001, right?
20-05-22 12:09:29: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Sounds right?
20-05-22 12:10:14: [evennia] ircbot-Drastical: [email protected]#evennia: https://github.com/evennia/evennia/wiki/Online-Setup
20-05-22 12:11:06: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> okay, 4000-4002 TCP only?
20-05-22 12:11:31: [evennia] ircbot-Drastical: [email protected]#evennia: Read the doc
20-05-22 12:16:48: [evennia] ircbot-Drastical: [email protected]#evennia: Just allow both to begin with, usually easier
20-05-22 12:24:09: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> okay, launched :D
20-05-22 12:31:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What did you end up using?
20-05-22 12:31:40: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> AWS Free Tier EC2 t2.micro
20-05-22 12:33:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Nice
20-05-22 12:34:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I've got the same
20-05-22 12:53:39: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> successfully change the SSH key-pair without locking myself out. off to a good start XD  Now time to go through the docker tutorial
20-05-22 13:36:02: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Morning.
20-05-22 13:42:05: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> Good morning :)
20-05-22 13:46:01: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> hmm... docker desktop installer for windows failed. I'm on Win 7, I guess it's not supported?
20-05-22 13:46:53: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I've never tried it 😦
20-05-22 13:48:37: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> okay, it looks like it is Docker Toolbox that I need on Win 7 Home
20-05-22 13:49:27: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I use VMWare virtual machines, so I have a virtual machine running VMWare's Photon.  It's made for docker
20-05-22 13:52:07: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> oh, can you use it to create a docker image to deploy to a server?
20-05-22 13:52:39: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I already have VMWare Workstation Player
20-05-22 14:07:39: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I don't think I would do a Docker image to deploy to the server. I would use git instead. I do use Docker as my environment, however.
20-05-22 14:09:49: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> so just run evennia through the docker on the server and pull in the changes to the game using git?
20-05-22 14:27:15: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> That's what I would do. You can then just do an Evennia reload to update the code without kicking people off. If you use a Docker image you have to shut down the older image which requires fulling shutting down Evennia.
20-05-22 14:27:38: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Now the thing is that you can't update data through git. This only handles code changes.
20-05-22 14:28:43: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> But you can't just overwrite the database when doing a deploy anyway because that would nuke new characters who didn't exist in the test environment.
20-05-22 14:29:39: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> makes sense
20-05-22 14:32:08: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Docker images would be great for migrating to a new machine, however. Again, you're in a situation where the game needs to be taken down anyway, so now you don't lose anything, and you get the advantage of making sure the entire environment goes over as/is.
20-05-22 14:34:21: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I guess if I make any data changes on dev, I should make a SQL file and execute that on the server on deploy?
20-05-22 14:34:51: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> or is there a better way to import data?
20-05-22 14:38:26: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> You basically need to come up with some way to flatfile (turn it to text) it. That could be SQL. That could be figuring out a way to turn it into a .py file or that could be a way to turn it into a series of commands.
20-05-22 14:39:01: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> okay, I'll figure something out when I get to it
20-05-22 14:39:58: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Taking off. Back later. I can show you what I'm doing then.
20-05-22 14:40:22: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> cool. cya later :)
20-05-22 14:48:10: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> okay, I am a little confused about the running evennia through docker instructions. It says I can create a new game as per the Getting Started instructions. Does that mean starting from evennia --init mygame or do I still need to use virtualenv?
20-05-22 14:49:20: [evennia] ircbot-Drastical: [email protected]#evennia: If you are inside the docker, you should have what you need to run Evennia in an isolated state; so you can just run evennia --init and continue from there
20-05-22 14:50:43: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I'm under /usr/src/game as per the docker instructions. but the game folder is empty. should I create the game in there or go up a level?
20-05-22 14:53:20: [evennia] ircbot-Drastical: [email protected]#evennia: All the docker does is the mount the current directory (the one you are in when you run the docker command) into the docker image as a location /usr/src/game. So do your changes there; the result will then also appear on the drive of the 'parent' computer.
20-05-22 14:53:49: [evennia] ircbot-Drastical: [email protected]#evennia: (so you'll have your gamedir and code also when you shut down the docker image)
20-05-22 14:53:57: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> ah, I see
20-05-22 14:55:04: [evennia] ircbot-Drastical: [email protected]#evennia: In the future, if you start your docker from inside an existing gamedir *that* will be /usr/src/game/ inside the docker.
20-05-22 14:55:21: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> yeh
20-05-22 14:55:42: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> does docker work like screen? can I detach from it and do other things while it's still running?
20-05-22 14:56:27: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, if it was started as a daemon you can connect/disconnect to/from it afterwards
20-05-22 14:57:22: [evennia] ircbot-Drastical: [email protected]#evennia: When I've run the docker remotely I've usually been lazy though, and started it in tmux and just kept it open in that ...
20-05-22 14:57:42: [evennia] ircbot-Drastical: [email protected]#evennia: But that's not how it's meant to be done :)
20-05-22 14:58:14: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> tmux, I've not used that. It's similar to screen, isn't it? more advanced?
20-05-22 14:58:50: [evennia] ircbot-Drastical: [email protected]#evennia: It's like screen but more modern and supports some things better IMO. I use both
20-05-22 14:59:15: [evennia] ircbot-Drastical: [email protected]#evennia: Some remote servers don't have tmux but they'll have screen. But tmux is pretty much standard too these days
20-05-22 14:59:28: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> cool
20-05-22 15:13:32: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> has anyone ever thought about integrating mumble into evennia? It'd be kinda funny to have 3D positional audio of other players in a text-based game XD
20-05-22 15:30:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> funny but would it even be used?
20-05-22 15:34:17: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> It'd be insane on a busy server, but it might be useful on small social or team-based games
20-05-22 17:12:32: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Back. Ok,. @xhawk87, if you look at https://github.com/esampson/codes/tree/master/codes/statInit you can kind of see how I'm handling some of my data stuff. I actually need to make some modifications to it to make it more efficient and if I was handling something like rooms and exits it would be more complicated, but the basic idea for my method could still be used for that.
20-05-22 17:15:49: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I think I would probably just add a tag to everything I wanted to 'decompile' before I ran my script so that I could identify it, then as part of the creation process create  tags on all the new objects with their old database id's which I could then use to attach things back together.
20-05-22 17:16:13: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> cool, thanks
20-05-22 17:16:53: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> btw, is there a preferred line ending style for working with evennia?
20-05-22 17:17:24: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> What do you mean? For breaking lines in descriptions and the like?
20-05-22 17:17:59: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> no, I mean LF vs CRLF
20-05-22 17:18:54: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I'm not entirely sure where you are trying to use it, but I suspect you want to use Evennia's special line break character of '|/'
20-05-22 17:19:32: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> git was warning about line endings when I initialised my repo
20-05-22 17:19:58: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Ah. Line endings for your code.
20-05-22 17:25:19: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I think LF (Unix style) is preferred.
20-05-22 17:26:38: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> cool, that works for me
20-05-22 18:51:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Hey Griatch, can't remember, is postgres the recommended db engine?
20-05-22 18:52:56: [evennia] ircbot-Drastical: [email protected]#evennia: sqlite3 is the one out of the box, that's likely more than enough for most games. After that, yes postgres is the recommended 'bigger' db engine.
20-05-22 19:07:59: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Should I be using |/ over \n?
20-05-22 19:10:04: [evennia] ircbot-Drastical: [email protected]#evennia: From in-game, only |/ is possible (except in `py`). If you write output in Python code, use \n
20-05-22 19:11:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> @Griatch Nah I haven't figured out the job issue yet, I must have missed what you said. I'll try looking for it, thank you
20-05-22 19:15:09: [evennia] ircbot-Drastical: [email protected]#evennia: @Riane: https://pastebin.com/jhQDPYDu
20-05-22 19:16:03: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Good deal,thanks Griatch
20-05-22 19:18:03: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Did you see my comments early this morning, Riane?
20-05-22 19:34:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Oooh
20-05-22 19:35:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> And yeah Dark, I tried that and it doesn't seem to make a difference. I tried just passing the player only
20-05-22 19:38:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Oh wow Griatch, you really went through this
20-05-22 19:38:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Dang
20-05-22 19:38:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> thank you
20-05-22 19:38:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> So the issue wasn't the code by itself, but that it's somehow being called wrong or screwed up elsewhere
20-05-22 19:39:57: [evennia] ircbot-Drastical: [email protected]#evennia: I gave some examples of how to debug and test in more isolation there; it's useful to do that and not have all the extra stuff of your system to obscure things.
20-05-22 19:43:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Yeah. You know, you taught me how to debug at all to begin with. xD
20-05-22 19:43:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I shall get a proper education from you
20-05-22 19:43:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I always learn so much from your stuff
20-05-22 19:43:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Vadi 🔨|H> @DarkSir23 both UI and map are covered with https://wiki.mudlet.org/w/Manual:GMCP_Extensions
20-05-22 20:31:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Oh I fixed the enter script
20-05-22 20:31:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Derp.
20-05-22 20:31:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Is there a way to use yield(x) in a defined function other than specifically 'func' after 'parse'
20-05-22 20:31:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Or something similar, or does it sort of have to use a ticker
20-05-22 21:19:26: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> What was it?
20-05-22 21:21:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I think it wasn't updating the changes. I completely removed the script and all references to it, then reloaded, then made it with a new name, added it and it worked.
20-05-22 21:23:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I have noticed at times when changing things in the web admin that it seems to make a cache or struggle to correctly update something that is then altered via python/console, so if I make a fresh version that isn't touched by the admin webpages, it frequently will fix the problem
20-05-22 22:30:35: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I’m loving scripts. I’ve worked a party manager into my game and have the beginnings of a combat manager
20-05-22 22:30:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Oh that's really cool!
20-05-22 22:31:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Scripts are great, I've only got a couple so far, but I have made base scripts so that they can just be plugged into anything. Set a few variables on the associated script or object and bam.
20-05-22 22:31:59: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I just put it on GitHub if you’d like to look at it
20-05-22 22:32:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I'd love to, you got a link?
20-05-22 22:32:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I literally have all of my stuff for my project on github. Spent most of yesterday figuring out how to do it.
20-05-22 22:32:45: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> https://github.com/DarkSir23/cardsystem
20-05-22 22:33:03: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Still a work in progress but I’m loving it
20-05-22 22:33:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Oh wow
20-05-22 22:34:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> your coding is so clean, lol
20-05-22 22:34:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> this is awesome
20-05-22 22:34:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I like how you break it down so each function essentially has its own class. That's smart.
20-05-22 22:34:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> I was putting way too many functions in big fat classes.
20-05-22 22:35:12: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Helper.py is a mess 🙂
20-05-22 22:35:34: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> It’s a big collection of functions, mostly for formatting and grabbing stats
20-05-22 22:35:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> the struggle to code readably is real sometimes, lol
20-05-22 22:36:00: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Hehe
20-05-23 01:55:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> >.>
20-05-23 01:56:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> How does one do db_list = self.db.all()?  This says I'm doing it right, but it complains when running that 'list object is not callable'  https://github.com/evennia/evennia/wiki/Attributes
20-05-23 01:56:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> can you not do 'self'?
20-05-23 02:14:11: [evennia] ircbot-Drastical: [email protected]#evennia: I get the same error. Might be an issue with the documentation. If you look at evennia/typeclasses/models.py, specifically the DbHolder class, it contains the info I think you're looking for.
20-05-23 02:14:18: [evennia] ircbot-Drastical: [email protected]#evennia: Try self.db.all
20-05-23 02:14:24: [evennia] ircbot-Drastical: [email protected]#evennia: Without the parens.
20-05-23 02:22:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Riane|H> Oh that worked, thank you
20-05-23 02:28:25: [evennia] ircbot-Drastical: [email protected]#evennia: Sure thing.
20-05-23 03:11:05: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> Versace on the Floor
20-05-23 11:10:29: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H: [edited]: Attributes|H (https://github.com/evennia/evennia/wiki/Attributes|H)
20-05-23 14:19:14: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 8 commits to evennia|H/static-file-docs|H (https://github.com/evennia/evennia/compare/2714f220f9b7...a6cc46d15c95|H):
20-05-23 14:19:15: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Test versioning with a demo branch
20-05-23 14:19:16: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Test upping version number
20-05-23 14:19:17: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [4 more] ...
20-05-23 14:19:18: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Move to custom search plugin by borrowing from Mkdocs and ex[14 more]|H
20-05-23 14:19:19: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Revert to default search, it's enough for now
20-05-23 15:12:31: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> Does anybody know how do I keep getting permission denied when I run the server from docker?
20-05-23 15:13:06: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> and there's no sudo command in docker when the image that I pulled from docker hub
20-05-23 15:27:30: [evennia] ircbot-Drastical: [email protected]#evennia: You shouldn't need sudo when running inside docker. Exactly what is the permission error?
20-05-23 15:28:03: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> PermissionError: [Errno 13] Permission denied: '/usr/src/game/testing'
20-05-23 15:28:21: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> I can't init server
20-05-23 15:28:49: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> im using window 10 to run is it okay?
20-05-23 15:29:00: [evennia] ircbot-Drastical: [email protected]#evennia: I suppose testing is your game dir. What's the permissions on the folder?
20-05-23 15:29:22: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> inside docker it belongs to root
20-05-23 15:29:37: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> outside the folder belong to me
20-05-23 15:29:57: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> i can't change owner in docker because sudo permission is not there
20-05-23 15:30:12: [evennia] ircbot-Drastical: [email protected]#evennia: Hm. How do you start the docker, are you following the instructions given in the Evennia wiki?
20-05-23 15:30:30: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> docker run -it --rm -p 4000:4000 -p 4001:4001 -p 4002:4002 --rm -v /usr/src/game evennia/evennia
20-05-23 15:30:34: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> i just use that
20-05-23 15:30:55: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> docker run -it --rm -p 4000:4000 -p 4001:4001 -p 4002:4002 --rm -v $PWD: /usr/src/game evennia/evennia doesnt work on window
20-05-23 15:32:44: [evennia] ircbot-Drastical: [email protected]#evennia: Not sure if you correctly mount the game dir correctly if you do it like that.
20-05-23 15:33:10: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> I see
20-05-23 15:33:13: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> thank you
20-05-23 15:33:30: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> I'll try out to see if I could mount it correctly
20-05-23 15:33:52: [evennia] ircbot-Drastical: [email protected]#evennia: You want to do the equivalent to ` -v <current directory>: /usr/src/game`
20-05-23 15:35:10: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> very true I got this massive error when I mount. That's maybe my problem
20-05-23 15:35:15: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> i'll look into it
20-05-23 15:35:17: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> thank you
20-05-23 15:36:27: [evennia] ircbot-Drastical: [email protected]#evennia: You may also want to try `--user $UID:$GID` to make you a specific user inside the container. I'm sure $UID is not available in Windows either though, not sure what the equivalent is.
20-05-23 15:37:05: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H: [edited]: Running-Evennia-in-Docker|H (Running Evennia in Docker) (https://github.com/evennia/evennia/wiki/Running-Evennia-in-Docker|H)
20-05-23 15:37:22: [evennia] ircbot-Drastical: [email protected]#evennia: <YamakasiSensei|H> yep I think Im gonna try getting the window subsystem for linux it's much better to run in linux shell
20-05-23 15:41:11: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H: [edited]: Running-Evennia-in-Docker|H (Running Evennia in Docker) (https://github.com/evennia/evennia/wiki/Running-Evennia-in-Docker|H)
20-05-23 15:42:38: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> Docker on Windows is extremely problematic
20-05-23 16:20:50: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> is it possible to tail the log file and run evennia commands at the same time?
20-05-23 16:21:49: [evennia] ircbot-Drastical: [email protected]#evennia: No, you need to leave the tail with Ctrl-C first. But you could can of course run evennia commands in another terminal if you want to.
20-05-23 16:22:15: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> though I'd need to connect to the docker with that other terminal?
20-05-23 16:23:20: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, you need to be connected to the container to send commands. You can connecting to a running container as you want though
20-05-23 16:27:13: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I recall once setting up a split screen for some server a while back with a server log tail in the top and a shell in the bottom. I could probably do something like that here too
20-05-23 16:27:41: [evennia] ircbot-Drastical: [email protected]#evennia: You can run screen or tmux in the docker if you wanted to I suppose
20-05-23 17:13:06: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> it looks like screen isn't installed in the docker image
20-05-23 17:33:34: [evennia] ircbot-Drastical: [email protected]#evennia: <QBFreak|H> I'm trying to take a look at my Evennia install after being away for some time, when I try to browse to the portal I get a 501 Gateway error, with the text "Could Not Connect"
20-05-23 17:36:11: [evennia] ircbot-Drastical: [email protected]#evennia: <QBFreak|H> I notice in the log I have Can't check status of PID 4170 from pidfile <path>/evennia/solarwinds/server/server.pid: [Errno 1] Operation not permitted
20-05-23 17:37:14: [evennia] ircbot-Drastical: [email protected]#evennia: <QBFreak|H> I'm guessing the portal isn't starting, but I'm not sure why, the pid file is there and owned by me
20-05-23 17:37:53: [evennia] ircbot-Drastical: [email protected]#evennia: <QBFreak|H> I don't think the server is starting properly either
20-05-23 17:42:22: [evennia] ircbot-Drastical: [email protected]#evennia: <QBFreak|H> funny how sometimes you just need to say it all to see the common thread, shut it all down and sure enough that pid file was still there (no doubt from one of the recent power outages and an improper shutdown of evennia), removed it and everything came up properly
20-05-23 17:42:45: [evennia] ircbot-Drastical: [email protected]#evennia: <QBFreak|H> so uh, thanks for listening? 🙂
20-05-23 17:47:27: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> you're welcome! :9
20-05-23 18:20:46: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Having a time trying to update the game using git pulls and whatnot.  I did manage to hook PyCharm up to a git repository, haven't quite figured out how to push and pull those changes out to the game.
20-05-23 18:21:23: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Stuck at a place that's kind of the difference between know how to play chess and just knowing how to move the pieces.
20-05-23 18:23:21: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> git has a local and a remote repository
20-05-23 18:23:39: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> you pull from a remote repository to create your local (from github.com, usually)
20-05-23 18:24:00: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> you can then modify files, add them to git's tracking, and then commit your changes locally
20-05-23 18:24:19: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> once your changes are committed in your local repository, you push them to the remote
20-05-23 18:24:39: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> commit...I think that's the step I'm missing.
20-05-23 18:24:41: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> that's the very basics of how git works
20-05-23 18:25:05: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I've been making changes and trying to send them.  I need to commit them first.
20-05-23 18:25:33: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> git pull origin master or git clone <blah> make changes git add . or git add -u . for deletes git commit -m "I made stuff" git push origin master or some other branch (where master is the branch here)
20-05-23 18:26:19: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> "proper" git usage for teams and stuff gets a little more advanced, but if you get that down PRs and branching isn't a far reach
20-05-23 18:26:39: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> and then stuff like cherry picking, bisecting, squashing commits, etc, is almost never used.
20-05-23 18:26:43: [evennia] ircbot-Drastical: [email protected]#evennia: @SwiftPeter: You may take a peek here too: https://github.com/evennia/evennia/wiki/Version-Control
20-05-23 18:27:03: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Yeah, been trying to google my way through, but learning syntax isn't the same as learning a process.
20-05-23 18:28:09: [evennia] ircbot-Drastical: [email protected]#evennia: Not sure why people don't look in our docs first ... we do have docs on most of the things you need to know. ;)
20-05-23 18:29:01: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> for something like Evennia I usually fork it, clone my fork, and then create a remote origin called "upstream" that points to evennia/evennia, so then I can make changes to the lib but still pull in updates and such from Evennia, or push PRs from my fork if I want.
20-05-23 18:29:28: [evennia] ircbot-Drastical: [email protected]#evennia: Just like we suggest in our docs :)
20-05-23 18:29:35: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> lol
20-05-23 18:29:41: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> i've never looked at that doc page
20-05-23 18:29:52: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Completely missed a few of 'em. Of course, I wanted to jump in and play around with the code.  Hence PyCharm being set up before git.
20-05-23 18:30:11: [evennia] ircbot-Drastical: [email protected]#evennia: @whitenoise: Nah, admit it, all you know you learned from the Evennia wiki
20-05-23 18:30:24: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> that's true
20-05-23 18:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> literally everything I know, which really draws that wiki into question
20-05-23 18:30:50: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> lol
20-05-23 18:32:05: [evennia] ircbot-Drastical: [email protected]#evennia: The wiki page on how to live a happy, fulfilling life is particularly appreciated I hear
20-05-23 18:32:19: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Well, I admit to cherry-picking the fun stuff. You have to hit that point somewhere before you go back to read it all.
20-05-23 18:32:41: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> yep
20-05-23 18:32:52: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> and if you're working on a game by yourself your development process can be fairly lazy
20-05-23 18:33:24: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Yeah.  Though it probably helps to know what a development process looks like.
20-05-23 18:36:18: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> So long as the fun stuff makes everything else worth it.
20-05-23 18:47:10: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> how do I stop the webclient from automatically logging me in so I can connect with a different account?
20-05-23 18:47:26: [evennia] ircbot-Drastical: [email protected]#evennia: You log out
20-05-23 18:47:37: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> you stop having a session
20-05-23 18:47:42: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> so yeah, log out or use a private browser
20-05-23 18:47:54: [evennia] ircbot-Drastical: [email protected]#evennia: Or wipe the session in the browser
20-05-23 18:47:56: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> how do you log out? I use quit but that doesn't do it
20-05-23 18:48:34: [evennia] ircbot-Drastical: [email protected]#evennia: quitting should log you out assuming you are in multisession mode 0-1
20-05-23 18:48:40: [evennia] ircbot-Drastical: [email protected]#evennia: YOu can also log out on the homepage
20-05-23 18:49:45: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> ah, I see. the option was cut off when looking at the webpage in half-screen size
20-05-23 19:23:32: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H XHawk87 forked evennia|H https://github.com/XHawk87/evennia|H
20-05-23 19:28:44: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Ohhh, the Version Control Tutorial
20-05-23 19:33:09: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H esampson forked evennia|H https://github.com/esampson/evennia|H
20-05-23 20:44:22: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Grrf. I'm feeling stupid. How do I run evennia 'from source' (i.e. without doing pip install so that I can contribute to the codebase). I've got my docker container all set up and running and I've done the git clone. python3 evennia --init <mygame> doesn't work however. I get can't find '__main__' module in 'evennia'
20-05-23 21:12:53: [evennia] ircbot-Drastical: [email protected]#evennia: Hello, I am having trouble getting the tutorial_world.build running.
20-05-23 21:14:13: [evennia] ircbot-Drastical: [email protected]#evennia: First, time install  I connected the first account, logged out, logged in it says the command is not available
20-05-23 21:16:20: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Which command?
20-05-23 21:17:09: [evennia] ircbot-Drastical: [email protected]#evennia: @batchcommand tutorial_world.build from telnet
20-05-23 21:17:44: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Hmmm, you should be logged into the actual game instance as the Superuser.
20-05-23 21:18:47: [evennia] ircbot-Drastical: [email protected]#evennia: Ah... That was it.  Thanks my man!
20-05-23 21:18:58: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> No problem sir.
20-05-23 21:55:29: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H SwiftPete forked evennia|H https://github.com/SwiftPete/evennia|H
20-05-23 21:59:59: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I am...above a..."forkin' awesome" comment.  Must...resist
20-05-23 22:14:43: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I wish there was an authorathitative, definitive publication like the typical algorithms and data structures but for python not java or c++ ;_;
20-05-23 22:30:23: [evennia] ircbot-Drastical: [email protected]#evennia: Some awesome coding music:
20-05-23 22:30:24: [evennia] ircbot-Drastical: [email protected]#evennia: https://www.youtube.com/watch?v=KXatvzWAzLU
20-05-23 22:31:13: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The ones for python that I can find are horribly put together, nothing is really explored at any worthwhile depth then for some topics there is an exercise, for some there is nothing then write me a whole graph class with various wierdly formatted outputs that I will fail to describe in precise english so you have to work backwards from a sample output so I keep on doing that but its turning out to be such a waste of time with how
20-05-23 22:31:14: [evennia] ircbot-Drastical: [email protected]#evennia: incompetent the instructors are, might as well just print out an alphabetical list of topics and reinvent the wheel for each of them alone. 😦
20-05-23 23:04:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> What are you trying to do? Learning python?
20-05-23 23:05:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> This might be what you're looking for https://www.amazon.ca/Python-Cookbook-Recipes-Mastering/dp/1449340377
20-05-23 23:07:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> @BP-Santo  let me know if thats what you're looking for
20-05-23 23:08:02: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> @BP-Santo do you mean like a data structures and algorithms book that uses Python code? I've seen a few.
20-05-23 23:08:16: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> all of my algorithm books are written in pseudocode
20-05-23 23:08:24: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> I have one for beginners and one for not-beginners
20-05-23 23:08:45: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> I think stuff like that doesn't come into Python a whole lot
20-05-23 23:09:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @Kektus Not directly about learning python just ye the typical algorithms and datastructures would be the title
20-05-23 23:09:23: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> have you seen the book grokking algorithms ?
20-05-23 23:09:28: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> it's black and white cover with mice on it
20-05-23 23:09:34: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> good intro to algos and uses very Python-like code
20-05-23 23:09:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Nah - been just going through the online platforms looking for this or that
20-05-23 23:09:45: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> ah
20-05-23 23:09:59: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> I find if you want more concentrated information on more academic topics, searching around online doesn't cut it lots of times
20-05-23 23:10:11: [evennia] ircbot-Drastical: [email protected]#evennia: <whitenoise|H> most stuff online is just general concept overviews
20-05-23 23:10:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> https://cdn.discordapp.com/attachments/246323978879107073/713891674601816124/unknown.png
20-05-23 23:10:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> mosh from coding with mosh does a good job but its all java based and thats an extra time waste of brain cycles to translate that to python everytime.
20-05-23 23:11:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @Kektus What about trees, heaps, graphs, sorting (beyond just quicksort and such)?
20-05-23 23:12:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Might need to just grab a typical academic text just was hoping for something sorta clever and pythonic and got lured in because for all these things I tried they do a good job with the basics but then the just skim over the actual good stuff.
20-05-23 23:14:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> The book is good for learning about specific pythonic tricks
20-05-23 23:14:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> what you seem to be asking for is academic texts made in python flavor
20-05-23 23:14:54: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yes
20-05-23 23:15:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> severe lacking for those or they are pseudo in python
20-05-23 23:15:29: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> As in, for java they are not in pseudo java but for python its not usually done well
20-05-23 23:18:27: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> A good instructor would for instance save you time by bringing up in relevant detail how say python uses timsort in sorted() and .sort, how to reimplement timsort yourself for better understanding then provide exercises for reimplementing all the popular sorting algorithms. At each step pointing out that wrong solution A does not do something in place thus nullying the point of that whole approach, that wrong solution B should be
20-05-23 23:18:28: [evennia] ircbot-Drastical: [email protected]#evennia: implemented iteratively vs recursively specifically in python for N reason etc. - its all unfortunately missing, have to do all that legwork yourself 😦
20-05-23 23:19:37: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> c:
20-05-23 23:19:37: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> https://cdn.discordapp.com/attachments/246323978879107073/713893928969175140/iu.png
20-05-23 23:21:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @whitenoise I heard about grokking actually now that I think about it - maybe I should just do pseudo code but the heart is yearning, I know there is a frog that will turn into a time saving prince of insight out there among the detritus padding out these video course sites!
20-05-23 23:37:07: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> So my idea for my ai is to put a dictionary of priorities on each card, each with an instruction of how to use that card. An npc object will compile the dictionaries on each card in its hand and work down the priority list, looking for the highest priority instruction they can play
20-05-23 23:42:07: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Maybe use an intelligence stat to determine if they should use the highest priority one or a lower one
20-05-23 23:51:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> You could assign a base "priority" score to abilities, in order of best to worse, then consider adding qualifiers to each of them that will be used by different personalities.. Sort of like a Mage focused on fire Will prefer fire spells, thus having Fire the priority base multiplied by 1.5, so that he will attempt those over different elements. Then you can assign something similar for heal spells, in which personalities with an instinct
20-05-23 23:51:01: [evennia] ircbot-Drastical: [email protected]#evennia: of self preservation will multiply the priority depending on how much health they have AND a certain cowardice inclination
20-05-23 23:53:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Going for lower priorities can be a good fumble/confused moment, like wtf this dude is healing himself while full health!?
20-05-23 23:54:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> you could also alter these priorities depending on the opponent, factoring how the enemy would perceive it
20-05-23 23:54:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> A zombie could very well try to bite an earth elemental to death
20-05-23 23:55:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> while an experienced wizard would not attempt a fire spell on a fire elemental
20-05-23 23:55:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> so you get like
20-05-23 23:57:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Base Effectiveness Score Favored Qualifiers affecting the score Perceived Enemy Resistances/Weaknesses depending on intelligence/difficulty Occasional critical failures that result in something unexpected
20-05-23 23:59:00: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> How to turn dice into Python. I was waiting on this one.
20-05-23 23:59:46: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> I do like the stuff in the tutorials.  I did read that one.
20-05-24 00:01:12: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Clearly missed one because I only found the push and commit buttons in PyCharm like...twenty minutes ago.
20-05-24 00:55:51: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I'd have to think of a way to represent that on cards.   I'm trying to make the entire of an NPC be a collection of cards.  Personality, stats, attacks... everything is derived from a card (or cards) in their deck in some way.
20-05-24 01:03:26: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> What's the best way to add an event to an typeclass?
20-05-24 01:07:51: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> What I'd like to do is have an on_statchange that would be called anytime a specific db attribute changes, without having to manually call it every time something might possibly change an object's stats.
20-05-24 01:11:02: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Or, to be consistent, at_statchange
20-05-24 02:02:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> @DarkSir23 Normally you'd hide your stats changing behind something, a component, an api, anything that abstracts it away. That component can then trigger an event. Listeners can register themselves to that component to be notified when the event triggers
20-05-24 02:03:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> If you want to avoid composition or components, then you could go through properties instead
20-05-24 02:03:34: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> nods
20-05-24 02:10:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Or if you want to go the hack it way, you could always monkey patch the AttributeHandler to call your event before letting it do its job 😄
20-05-24 02:11:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> but thats some dark magic thats usually best avoided
20-05-24 04:42:18: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Yeah, I'll probably avoid that.
20-05-24 06:55:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> So I should be able to delete the 'mygame' folder and restart from scratch?
20-05-24 06:59:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Is github down?
20-05-24 11:29:14: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> so the tutorial talks about coding before worldbuilding. what happens if I take a rapid prototyping approach, and build a few rooms, and then add some functionality to them later? Is that likely to be a problem?
20-05-24 12:21:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Nah
20-05-24 12:21:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> You might need to refresh them every now and then
20-05-24 12:22:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> They won't get new attributes you put in at_creation for instance
20-05-24 12:24:17: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> okay, so I just need to bear in mind that if I add anything to happen at_creation, I'll also need to make sure they get run on existing rooms when I deploy that new feature?
20-05-24 12:31:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Yeah... so if you do that you need to go through the entire database and have it do the at_creation thing again like when it shows you the tutorial on how to add things to the character template thing
20-05-24 12:33:24: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I haven't reached that tutorial yet, thanks for the headsup
20-05-24 12:50:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Not a problem if you are just proto typing
20-05-24 12:50:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I mean, who are these people who just code things without testing it a million times after each change
20-05-24 13:09:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Microsoft? 😉
20-05-24 13:17:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> If I'm re-skinning CmdWho, how do I go about that?  Do I make a new cmdset and a new CmdWho to go in it along with everything else that I don't change?  I want who to have different behaviour.
20-05-24 13:57:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> @BleysRex  if I'm not mistaken, simply adding the command using the same key should override it if its loaded after the default ones
20-05-24 13:58:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Sweet.  That's what I am just trying, so... wishes luck
20-05-24 14:12:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Yay, it all works.  Thank you, Kektus.
20-05-24 16:24:39: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> so looking at the red_button.py example, in the at_stop for BlindedState, it removes the applied command set using self.obj.cmdset.delete()  However, what happens if something else happened before this event stops and another command set was applied on top. Would that get removed instead leaving them blinded?
20-05-24 16:58:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Yes
20-05-24 17:07:13: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> is there a cleaner way of ensuring the right command set is removed?
20-05-24 17:11:51: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> You can specify the commandset to remove by name.
20-05-24 17:18:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> When in doubt, look up the function. It had documention on how it can be used
20-05-24 17:25:46: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I have no idea where that is though. I see https://github.com/evennia/evennia/wiki/evennia.commands.cmdset but there's no reference to deleting
20-05-24 21:49:50: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> It’s probably in the cmdsethandler class
20-05-24 22:15:45: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H trhr commented on issue #2130|H ([BUG] Default tests assume mygame level functions weren't ov[...]|H) in evennia|H: Related: the .call() command tests against a parameter, msg,[189 more]|H (https://github.com/evennia/evennia/issues/2130#issuecomment-633308515|H)
20-05-25 05:46:19: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> New dumb question... If I write a command that takes an argument, and that argument searches for an object near me (caller.search()), and multiple targets match, it gives me the "narrow search" response.  In this case 1-Goblin, and 2-Goblin.  Specifying that for the command doesn't match anything.  How can I make my commands search for a target in the same way a command like look does?
20-05-25 06:09:00: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> https://pastebin.com/e8rXgmNQ
20-05-25 06:09:04: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> That's the command
20-05-25 06:09:20: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I think I've done the argument parsing exactly as CmdLook does
20-05-25 06:17:09: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Found it.  It's the whitespace in the args... But I'm not sure why the whitespace is trimmed off in CmdLook, and not in my command.
20-05-25 07:19:21: [evennia] ircbot-Drastical: [email protected]#evennia: @DarkSir23: What class parent are your command using? CmdLook is based off MuxCommand, which strips the extra argument space.
20-05-25 07:19:32: [evennia] ircbot-Drastical: [email protected]#evennia: (it's in the .parse() method)
20-05-25 08:12:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Interesting when you create new characters if you don't go IC with them they just appear in the start location automatically
20-05-25 08:36:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Time to mess with the game time settings woo...
20-05-25 08:40:09: [evennia] ircbot-Drastical: [email protected]#evennia: @Xantara: In multisession_mode>1 character creation should not be putting your character in the location before you ic them I think ..
20-05-25 08:40:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Gametime tutorial section... Do we have to copy and paste the second part into the other file? (default_cmdsets.py)
20-05-25 08:40:44: [evennia] ircbot-Drastical: [email protected]#evennia: Can you link to the tutorial?
20-05-25 08:41:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> I've set up with Multisession_mode = 3... It creates the character object so it's visible to my second non-dev account before I puppet it and log out then it disappears
20-05-25 08:41:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> https://github.com/evennia/evennia/wiki/Gametime-Tutorial
20-05-25 08:41:56: [evennia] ircbot-Drastical: [email protected]#evennia: Aha; that may be a bug in the character-creation command then; it should create into a None location until puppeting.
20-05-25 08:44:29: [evennia] ircbot-Drastical: [email protected]#evennia: As for how to add a command, this is the same as any other command you add to the default cmdset in Evennia - if you look at how the file looks and the example you'll see that you import your custom CmdTime class and ad it into the existing class. The full CharacterCmdSet class tells you where to add your imported command class.
20-05-25 08:44:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Also found another bug with multisession mode and guests accounts. You can log in as a guest but you dont have the permissions to do a charcreate... I think when a guest account is logged in it should automatically make a character and force the person to puppet it much like it would if someone were to log in with multisession mode = 0 or 1.
20-05-25 08:45:07: [evennia] ircbot-Drastical: [email protected]#evennia: https://github.com/evennia/evennia/wiki/Adding-Command-Tutorial
20-05-25 08:45:45: [evennia] ircbot-Drastical: [email protected]#evennia: @Xantara: Ok, make a PR or a Feature request for it.
20-05-25 08:45:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Ok so it would be in /mygame/commands/default_cmdset.py
20-05-25 08:46:43: [evennia] ircbot-Drastical: [email protected]#evennia: That's where the CharacterCmdSet is yes. I cam add a comment in the tutorial to make this clearer.
20-05-25 08:48:23: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H: [edited]: Gametime-Tutorial|H (Gametime Tutorial) (https://github.com/evennia/evennia/wiki/Gametime-Tutorial|H)
20-05-25 08:50:08: [evennia] ircbot-Drastical: [email protected]#evennia: [issues]|H trhr opened|H issue #2140|H in evennia|H: [Feature Request] DefaultObject.search(typeclass='foo.bar', typeclass_exact=False)|H (https://github.com/evennia/evennia/issues/2140|H)
20-05-25 08:54:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> I'm guessing as I spend time doing things it may require updating documentation 🙂
20-05-25 08:55:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> I'm guessing the custom calendar things end up in the /server/conf/settings.py file right
20-05-25 09:01:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Yay I got it working 😄
20-05-25 09:02:21: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H P-Fitzgerald updated evennia|H/wiki|H: [edited]: Gametime-Tutorial|H (Gametime Tutorial) (https://github.com/evennia/evennia/wiki/Gametime-Tutorial|H)
20-05-25 09:03:22: [evennia] ircbot-Drastical: [email protected]#evennia: Do we really need to note where the settings file is for every time we mention it ?
20-05-25 09:03:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Hey cool I can fix wiki/tutorial entries
20-05-25 09:06:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Maybe... just being throrough. But I mean to complete noobs it'd look like just more python code. Probably good practice to note which file is being edited in the various tutorials when it's telling someone to make additions/edits to said file.
20-05-25 09:07:19: [evennia] ircbot-Drastical: [email protected]#evennia: I suppose; but I'd think saying "add it to settings" should be enough if one did any of the beginning tutorials first.
20-05-25 09:11:22: [evennia] ircbot-Drastical: [email protected]#evennia: I guess it doesn't hurt either though :)
20-05-25 09:12:30: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H P-Fitzgerald commented on issue #2098|H ([BUG] Error when logging in as a Guest) in evennia|H: Alternative method to fix the problem would be to generate a[138 more]|H (https://github.com/evennia/evennia/issues/2098#issuecomment-633469579|H)
20-05-25 09:13:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Oh wait I already reported the guest in multisession mode thing as a bug though I guess it's also a feature request.... is there a label for feature request?
20-05-25 09:13:47: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, when you choose to create a new issue you get to choose between three options, one of which is Feature Request.
20-05-25 09:15:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Oh I just added a comment to the bug report one does that push it back to the top of the list or something hehe
20-05-25 09:16:30: [evennia] ircbot-Drastical: [email protected]#evennia: Depends on how one filters the list :)
20-05-25 09:17:24: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H P-Fitzgerald commented on issue #2112|H ([BUG] Admin changing password logs admin out.) in evennia|H: Someone told me this may be a Django bug and not an Evennia[89 more]|H (https://github.com/evennia/evennia/issues/2112#issuecomment-633471830|H)
20-05-25 10:39:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> If we start evennia with the evenv running if we make changes later forgetting to activate the virtualenv it'll still use it when you @reload right?
20-05-25 10:42:03: [evennia] ircbot-Drastical: [email protected]#evennia: The virtualenv has nothing to do with the Evennia state; it's a way to instantiate the python dependencies.
20-05-25 10:42:27: [evennia] ircbot-Drastical: [email protected]#evennia: Reloading without a virtualenv will not automagically activate the virtualenv.
20-05-25 10:50:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Ah so if i start evennia it'll automatically use the right virtualenv even if I dont activate it?
20-05-25 10:52:00: [evennia] ircbot-Drastical: [email protected]#evennia: No, that's the opposite to what I just said.
20-05-25 10:52:43: [evennia] ircbot-Drastical: [email protected]#evennia: A virtualenv has nothing to do with Evennia's state.
20-05-25 10:55:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Ah would forgetting to activate teh virtualenv before starting evennia cause things to choke... Maybe thats why things screwed up teh other day for me since Raspbian defaults to Python 2.7...
20-05-25 10:56:04: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, if the virtualenv is not active you'll fall back to the system's default python packages which are likely not of the versions Evennia needs.
20-05-25 10:56:27: [evennia] ircbot-Drastical: [email protected]#evennia: A virtualenv allows you to install bleeding edge stuff without affecting anything else outside of the virtualenv
20-05-25 13:44:36: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> how do I initialise a game into an existing directory?
20-05-25 13:53:02: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> nevermind, I figured it out
20-05-25 14:22:33: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> @Griatch I’m inheriting from evennia.Command, which I thought was MuxCommand
20-05-25 14:23:35: [evennia] ircbot-Drastical: [email protected]#evennia: @DarkSir23: No, Command is the base class for every Command. MuxCommand is a child of Command with mu*-like syntax and extra features, including stripping args.
20-05-25 14:24:29: [evennia] ircbot-Drastical: [email protected]#evennia: The Command class is intentionally as basic as it can be, since it's what you use if you want to implement your own command syntax.
20-05-25 14:25:33: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Hmm, I thought I saw in the docs somewhere that it defaulted to pointing to muxcommand, and if you didn’t want to use it you could change it
20-05-25 14:25:45: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Thanks, that makes sense
20-05-25 14:26:18: [evennia] ircbot-Drastical: [email protected]#evennia: The settings.DEFAULT_COMMAND_CLASS may point to MuxCommand I think.
20-05-25 14:26:33: [evennia] ircbot-Drastical: [email protected]#evennia: But that's not the same as the Command parent class
20-05-25 15:21:00: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I'm going through the mech-building tutorial now, and I found something that doesn't work quite right
20-05-25 15:21:41: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> when you set a target, it seems to not trim the arguments before doing the search, so it can't find ' box' for example to shoot it
20-05-25 15:22:48: [evennia] ircbot-Drastical: [email protected]#evennia: Ah, this is the discussion before; it's simplified for the original article and only uses the Command base for simplicity, which does not strip the argument input.
20-05-25 15:23:22: [evennia] ircbot-Drastical: [email protected]#evennia: We can add that, but it's not meant as a verbatim code but something to build from.
20-05-25 15:25:03: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H: [edited]: Building-a-mech-tutorial|H (Building a mech tutorial) (https://github.com/evennia/evennia/wiki/Building-a-mech-tutorial|H)
20-05-25 15:25:17: [evennia] ircbot-Drastical: [email protected]#evennia: There :)
20-05-25 15:27:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> heya Griatch
20-05-25 15:27:49: [evennia] ircbot-Drastical: [email protected]#evennia: Normally you'll have a .parse() method to process the argument in the form you want (this is what the MuxCommand base provides), this example was just trying to be brief, since it was originally for an article outside of Evennia
20-05-25 15:27:57: [evennia] ircbot-Drastical: [email protected]#evennia: Hi Volund
20-05-25 15:28:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> my crazy has gone full circle
20-05-25 15:28:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> again
20-05-25 15:29:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> am I a unit of rotation now? 30 Volund's per year?
20-05-25 15:29:21: [evennia] ircbot-Drastical: [email protected]#evennia: :)
20-05-25 15:29:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So
20-05-25 15:32:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I actually realized something over the last few days after all these years of hammering and hammering and trying things. That being... MUSHcode actually ain't so terrible. I mean, it has its downsides. And it wasn't really -meant- to make things like big global commands and combat systems, but it doesn't deserve the bashing I've given it. Particularly not the dialect that's now implemented by RhostMUSH, which has improved in HUGE leaps
20-05-25 15:32:15: [evennia] ircbot-Drastical: [email protected]#evennia: and bounds since I largely gave up MUSHcoding. And so I took a few days to evaluate all of its new features and my existing code and something hit me.
20-05-25 15:33:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> The main reason that all of my huge piles of MUSHcode became largely unmaintainable is because it's not written to take advantage of the tools that would -make- it maintainable. I have tightly coupled logic and commands. Most of it isn't documented, nor is it broken down into easily tested pieces/functions. (There's no way to AUTOMATE testing, but even so...)
20-05-25 15:35:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Really makes one think. @[email protected]
20-05-25 15:36:05: [evennia] ircbot-Drastical: [email protected]#evennia: Lol, so after all this time you are going back to mushcode, is that your conclusion?
20-05-25 15:36:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I am giving Rhost a shot is what I'm doing. But I'm also pondering what it would take to implement a MUSHcode parser over here
20-05-25 15:37:11: [evennia] ircbot-Drastical: [email protected]#evennia: Well, whatever makes you happy, man :)
20-05-25 15:37:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> however in order to provide such, I need to uh... deeply study the existing parser in C so
20-05-25 15:42:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> all things considered though, Rhost has introduced a -crapload- of features that solves a -ton- of the core irritations I previously had to code around. like
20-05-25 15:43:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> previously there was no good way to index/label/tag dbrefs as 'this is object x' globally, so that everything could refer to it by a name instead of a number that may be unique per game installation. now you can @tag/add <name>=<#dbref> and from then on you can @set #name=blahblah
20-05-25 15:43:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> SO
20-05-25 15:45:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> THAT meant I could ditch my previous design pattern, which was to have a single 'indexer/code parent' at the heart of everything, providing a way for code system X to locate code system y using an abbreviation. now, tags do that, so I don't -need- the indexer and the single code parent, allowing for much better separation of concerns between code objects.
20-05-25 15:46:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> (and no weird hierarchy of inherited attributes that it doesn't need.)
20-05-25 15:47:22: [evennia] ircbot-Drastical: [email protected]#evennia: So you deal with global objects instead. What kind of dbrefs do you use this for - what data is stored in them?
20-05-25 15:48:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> THING objects in the Master Room and the code storage room hold attributes that contain code. the closest thing to a  THING in Evennia would be DefaultObject
20-05-25 15:49:08: [evennia] ircbot-Drastical: [email protected]#evennia: Right.
20-05-25 15:50:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> as for what sort of data's stored...
20-05-25 15:50:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> https://i.imgur.com/LuNNaQX.png
20-05-25 15:51:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> for a closer look
20-05-25 15:51:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> &FUN_NAMEGRABEXACT #vol_object_management=privatize(1,[null(iter(vol_filtermode(%0,objid),if(strmatch(name(%i0),%1),setr(z,%i0)[ibreak(0)])))][if(isobjid(%qz),%qz,#-1 NAME NOT FOUND)])
20-05-25 15:51:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> this is roughly equivalent to:
20-05-25 15:51:46: [evennia] ircbot-Drastical: [email protected]#evennia: Not really that interested, honestly. It's not a language syntax or design style that interests me. You may call that 'more maintainable' if you want, by all means.
20-05-25 15:52:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> it's far better than what i was using -before-
20-05-25 15:52:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> it's a matter of degree. 🙂
20-05-25 15:52:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> that function is roughly equivalent to:
20-05-25 15:52:31: [evennia] ircbot-Drastical: [email protected]#evennia: Well, if that's what you need to be happy with it, go for it.
20-05-25 16:15:58: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> can anyone see what I did wrong here?   game/typeclasses/mech.py  from commands.mechcommands import MechCmdSet from evennia import default_cmds from typeclasses.objects import Object   class Mech(Object):     """     This typeclass describes an armed Mech.     """      def at_object_creation(self):         """This is called only when object is first created"""         self.cmdset.add_default(default_cmds.CharacterCmdSet)
20-05-25 16:15:59: [evennia] ircbot-Drastical: [email protected]#evennia: self.cmdset.add(MechCmdSet, permanent=True)         self.locks.add("puppet:all();call:false()")         self.db.desc = "This is a huge mech. It has missiles and stuff." in-game I did a reload and then create/drop The Bigger Mech ; bigmech : mech.Mech  Then I got this error: Traceback (most recent call last):   File "/usr/src/evennia/evennia/commands/cmdhandler.py", line 631, in _run_command     ret = cmd.func()   File
20-05-25 16:15:59: [evennia] ircbot-Drastical: [email protected]#evennia: "/usr/src/evennia/evennia/commands/default/building.py", line 578, in func     report_to=caller,   File "/usr/src/evennia/evennia/utils/create.py", line 126, in create_object     typeclass = class_from_module(typeclass, settings.TYPECLASS_PATHS)   File "/usr/src/evennia/evennia/utils/utils.py", line 1511, in class_from_module     raise ImportError(err) ImportError: Could not load typeclass 'mech.Mech' Paths searched:     mech.Mech
20-05-25 16:16:00: [evennia] ircbot-Drastical: [email protected]#evennia: typeclasses.mech.Mech     evennia.mech.Mech     evennia.contrib.mech.Mech     evennia.contrib.tutorial_examples.mech.Mech  An untrapped error occurred. (Traceback was logged 20-05-25 16:07:14).
20-05-25 16:23:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> the problem is inheritance. Mech indeed exists, but is not a typeclass
20-05-25 16:23:50: [evennia] ircbot-Drastical: [email protected]#evennia: Pastebin if you want my help :)
20-05-25 16:24:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> py from typeclasses.objects import DefaultObject   class Mech(DefaultObject):
20-05-25 16:24:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> or rather
20-05-25 16:24:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> from typeclasses.objects.objects import DefaultObject
20-05-25 16:24:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ... or no
20-05-25 16:24:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> was it just .objects
20-05-25 16:24:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ... oh wait wait
20-05-25 16:24:46: [evennia] ircbot-Drastical: [email protected]#evennia: from evennia import DefaultObject
20-05-25 16:24:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> never mind ignore me
20-05-25 16:24:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> yes
20-05-25 16:25:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> although if you want to use -your- local one then it would be from typeclasses.objects import Object so... yeah I'm a yutz
20-05-25 16:25:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> but... hm
20-05-25 16:26:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> it said that it could not import it. the paths seem proper.
20-05-25 16:26:21: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> https://pastebin.com/QQVF7WbR https://pastebin.com/fNSJa547
20-05-25 16:27:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> simplify this as much as possible. comment out every import and line you don't need in order to have a typeclass. because if for instance there's an issue importing MechCmdset, typeclass system will not be able to import Mech
20-05-25 16:30:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> anyways
20-05-25 16:34:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> RE: "Back to MUSHcode" - I don't view Rhost as perfect either. I have, however, come up with some Ideas. I'm coming up with a lot of ideas for ways to implement some of crazier goals in some future codebase...   See, I'm noticing that with every attempt to making this thing, I'm slowly whittling down a clearer and clearer image of how it's put together, and the kinds of commands, database schemas, rules and features, etc, that will make
20-05-25 16:34:11: [evennia] ircbot-Drastical: [email protected]#evennia: it happen.
20-05-25 16:36:20: [evennia] ircbot-Drastical: [email protected]#evennia: @xhawk87: As Volund says, try to remove stuff from the import of your mech.py first to see if there is an issue there. You could also try to run `evennia shell` and try import it manually in there, to see if you get an error as well.
20-05-25 16:36:53: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> thanks, I'll try that
20-05-25 16:37:07: [evennia] ircbot-Drastical: [email protected]#evennia: (so in a terminal with virtualenv active, go to gamedir, run `evennia shell`, then in the python shell try `from typeclasses import mech`
20-05-25 16:37:43: [evennia] ircbot-Drastical: [email protected]#evennia: You can also try directly in `py` in-game if you prefer that, should be the same test.
20-05-25 16:40:02: [evennia] ircbot-Drastical: [email protected]#evennia: Woah, sunshine outside. It feels so strange and unfamiliar after this long, grey, cold spring
20-05-25 16:41:57: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that seems to work
20-05-25 16:41:57: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Broke into the 80s here in Ohio yesterday and today again.
20-05-25 16:42:23: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> ah, I see the problem XD
20-05-25 16:42:25: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> wrong server
20-05-25 16:44:09: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @Griatch I'm looking to implement a parser that can handle object proximity and associated movement and such with verbs. On a research binge (since I'm a MU* newbie) I ended up down a path on LambdaMOO and then I stumbled on Twisted Reality, which I had no idea was where the Twisted network library was born.
20-05-25 16:44:46: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Do you have any guidance on this path before I dig hard into trying to implement Twisted-Reality style parsing?
20-05-25 16:49:58: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> it works :)
20-05-25 16:57:45: [evennia] ircbot-Drastical: [email protected]#evennia: @MagnumOpus: I knew Glyph did start Twisted for MUD use, but I didn't know any of that work actually still exists; is this what you refer to? https://svn.python.org/www/trunk/pydotorg/pycon/papers/twisted-reality.html
20-05-25 16:58:42: [evennia] ircbot-Drastical: [email protected]#evennia: @xhawk87 Great!
20-05-25 17:01:29: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Yup, that's the one.
20-05-25 17:02:09: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> https://twistedmatrix.com/users/glyph/old/twistedmatrix/www/twistedmatrix.com/reality/pumpdoc/Package-twisted.reality.html
20-05-25 17:03:20: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Part of the paradigm I'm looking to achieve with this game is to assiduously code systems to prevent the long-form posing I have observed in MUSH-style games.
20-05-25 17:03:37: [evennia] ircbot-Drastical: [email protected]#evennia: @MagnumOpus: Anyway, the core parser of Evennia only has one requirement, and that is that the operative (identifying) word of phrase is _first_ on the input line. So `<command_identifers><arguments>`. That is usually flexible enough for most uses, and if that's ok then you don't need to touch the core parser. The command identifier is, in standard MU*, usually one word (like "look", "get" etc), but
20-05-25 17:03:43: [evennia] ircbot-Drastical: [email protected]#evennia: Evennia ...
20-05-25 17:03:45: [evennia] ircbot-Drastical: [email protected]#evennia: ... will also understand multi-word identifiers if so desired. The `<arg>` (which is verbatim and includes any spaces etc) is up to you to parse, usually in the Command's .parse method. So to add your own syntax, you'll then make a child class off Command, and implement your own .parse, then add your commands, inheriting from your new parent (children using the parent's .parse henceforth and only adding
20-05-25 17:03:52: [evennia] ircbot-Drastical: [email protected]#evennia: ...
20-05-25 17:03:54: [evennia] ircbot-Drastical: [email protected]#evennia: ... command-function code in .func).
20-05-25 17:04:02: [evennia] ircbot-Drastical: [email protected]#evennia: Prevent long-form posing, in what way?
20-05-25 17:04:18: [evennia] ircbot-Drastical: [email protected]#evennia: Mostly the complaints I hear are people doing too short poses :)
20-05-25 17:08:52: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Cool. I'll start looking there on the Evennia side. Cheers.
20-05-25 17:09:11: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It does not surprise me that you hear complaints about short posing. But I'm of the opinion that's chauvinism.
20-05-25 17:09:50: [evennia] ircbot-Drastical: [email protected]#evennia: It depends on the type game style. What game subgenre are you going for then?
20-05-25 17:10:07: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It's my observation that long-posing has a regressive effect on in-game conversations and extrapolates out to a community-wide net reduction in story value.
20-05-25 17:10:18: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I don't know that subgenre has an effect.
20-05-25 17:10:45: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It's that while long-form posing I'm sure makes folks feel self-impressed with their writing chops, it is rubbish for actually getting anything done.
20-05-25 17:11:24: [evennia] ircbot-Drastical: [email protected]#evennia: Ok, genre as in MU*-style genre. What type of games have you played?
20-05-25 17:12:13: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Taking 7.5 minutes to return each side of a conversation, where each side is 5 sentences padded by 3 of mechanical posing and maybe 2 with any sort of speech... It takes hours to conduct a conversation that would happen, in-person in about 5-10 minutes, or maybe 15-20 in chat (which is a more reasonable comparison)
20-05-25 17:12:44: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I've played some fantasy games. I played Skotos Castle Marrach over a decade ago and more recently a handful of fantasy games
20-05-25 17:13:01: [evennia] ircbot-Drastical: [email protected]#evennia: Speech should be embedded in the pose IMO; separating speech and pose is silly.
20-05-25 17:13:06: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Castle Marrach has the parser style I am interested in achieving.
20-05-25 17:14:03: [evennia] ircbot-Drastical: [email protected]#evennia: That's fine, just remember that the world of game styles is vast. Things like what a "long pose" means is going to be highly specific to your game of preference.
20-05-25 17:15:17: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Oh people embed the speech but it comes out like this: Bob bounds into the room, waving about the most recent supposedly rare object that he crafted for himself. "Hello, everyone!" He exclaims, as he conducts a series of other canned motions in an attempt to pad his word count. What a remarkable roleplayer is Bob, you will think, in the ample time you have to wait for the next person in the pose order to construct their own similar
20-05-25 17:15:18: [evennia] ircbot-Drastical: [email protected]#evennia: wall of text, which will advance the conversation by precisely one sentence.
20-05-25 17:16:43: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> ^ that is the enemy I am trying to combat. My observation is that it leads to a reduction in ability to pursue drama. A majority of interactions, especially with groups of more than two, become reduced to the opening and closing niceties of folk joining the scene.
20-05-25 17:16:45: [evennia] ircbot-Drastical: [email protected]#evennia: Hehe, upping word count only for the purpose of doing so is bad in any literary practice. That's more a game RP style and culture than anything though.
20-05-25 17:17:45: [evennia] ircbot-Drastical: [email protected]#evennia: But sure, there is no denying that it's easy to bog down a big locale if posing is slow. You can be slow with any-length pose though.
20-05-25 17:18:01: [evennia] ircbot-Drastical: Gr[email protected]#evennia: Adding of sub-locales/places tend to be one way around that.
20-05-25 17:18:06: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Absolutely true it needs to be fought on a level of culture curation. But I can also help that fight by providing suitable weapons: a system that lets people infer what is happening in a room by seeing "Bob is standing near the fireplace. Elena and Franco are standing beside Bob. Two empty plates are sitting on a table."
20-05-25 17:18:43: [evennia] ircbot-Drastical: [email protected]#evennia: Sure, that's usually what RPI's refer as a "pose". A real-time thing is often called an "emote".
20-05-25 17:19:16: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> And a verb system that let's people do stuff like : > walk to bar "Hello all!" Bob walks to the long, mahogany-inlaid bar, "Hello all!"
20-05-25 17:19:17: [evennia] ircbot-Drastical: [email protected]#evennia: Being able to set a static pose on oneself is very practical also for people coming into the scene late, as you say.
20-05-25 17:19:59: [evennia] ircbot-Drastical: [email protected]#evennia: Ok. I would personally prefer to do `/me walks to /bar, saying "Hello everyone!"` but to each their own.
20-05-25 17:20:20: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Good notes, thank you.
20-05-25 17:20:50: [evennia] ircbot-Drastical: [email protected]#evennia: You can, if you want, take a look at the rpsystem and rplanguage contribs, which implements my take on this.
20-05-25 17:21:15: [evennia] ircbot-Drastical: [email protected]#evennia: Even if that's not your preferred style, they may give some ideas for implementation.
20-05-25 17:22:01: [evennia] ircbot-Drastical: [email protected]#evennia: https://github.com/evennia/evennia/blob/master/evennia/contrib/rpsystem.py
20-05-25 17:22:42: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Parser style I'm ambivalent about and can farm out opinions on to testers, so long as I can get the outcomes.
20-05-25 17:24:29: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> This is interesting. Are these "emotes" 1-to-1 descriptors? That is, a single emote is parsed and added to a list of descs to return for people looking at the room?
20-05-25 17:26:41: [evennia] ircbot-Drastical: [email protected]#evennia: That'd be a pose. And yes, whe you look at the room, the section lists who is in there will include lines like "The tall man stands by the bar" and "The redhead woman looks glum in a corner" or whatever. And if you know that The redhead woman is named Sophia (because you met her and noted her name as such, her pose will instead read "Sophia is looking glum in a corner".
20-05-25 17:27:36: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Wow, this is some cool stuff. I'm going to integrate it and work from there.
20-05-25 17:27:39: [evennia] ircbot-Drastical: [email protected]#evennia: Correction: no extra grammar, so it'll be `Sophia looks glum in a corner"
20-05-25 17:27:55: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> This is halfway to what I imagine.
20-05-25 17:28:29: [evennia] ircbot-Drastical: [email protected]#evennia: The emotes work the same way, you'd refer to things in the room as /name-or-short-desc, including objects, npcs and other players.
20-05-25 17:29:11: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> The extension I have in mind would be to provide a sort of "proximity tree" in the room. So that you could have a static object like a room detail fireplace or a piece of furniture, and have various people standing beside it, and then people standing beside them, etc..
20-05-25 17:29:17: [evennia] ircbot-Drastical: [email protected]#evennia: You can also wear a mask to hide your identity. And the words you say (text within "...") can be marked as a whisper or as a different language so that different people may or may not hear/understand what is being said.
20-05-25 17:29:38: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, there is no 'places' code in the rpsystem contrib.
20-05-25 17:29:48: [evennia] ircbot-Drastical: [email protected]#evennia: Hi everyone, I need some help on how to search the contents of contents in a room. So in a room is a shelf, in the shelf object is a book. I need to know how to do a search to find the book in the shelf in the room.
20-05-25 17:30:10: [evennia] ircbot-Drastical: [email protected]#evennia: The rplanguage contrib does add a 'distance' metric of sorts, to scale how well you hear a whisper, for example by distance.
20-05-25 17:30:58: [evennia] ircbot-Drastical: [email protected]#evennia: @blakhal01: Do you know the identifier of the book or do you just want to find all books in the the shelf, no matter which one?
20-05-25 17:31:24: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Neat! That distance-based conversation is something I have noted down as a stretch goal, but it seemed complex.
20-05-25 17:31:27: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I super love the recog/mask stuff. I actually remember reading this code a couple years ago, now. Do you have any real play feedback on how well it worked out in practice in-game?
20-05-25 17:32:35: [evennia] ircbot-Drastical: [email protected]#evennia: I would know the book name. so what I've got is a read command to read books (read book name), which works if the book is just in the room with the character, but if the book is in another object in the room it can't find it.
20-05-25 17:33:29: [evennia] ircbot-Drastical: [email protected]#evennia: Not besides having played games with this type of code elsewhere in the past. Masks make for very interesting dynamics. It may not be really realistic that a mask so completely hides your identity (voice and all), but adding a chance of detection is game-specific so not something I added to the contrib.
20-05-25 17:34:29: [evennia] ircbot-Drastical: [email protected]#evennia: I don't think I've seen this type of code supporting any sdesc component for referencing though, so I think this is pretty competitive as far as those things go.
20-05-25 17:36:59: [evennia] ircbot-Drastical: [email protected]#evennia: @blakhal01: The normal caller.search method takes a list of candidates to include in the search. Normally this is essentially `self.caller.search(query, candidates=caller.location.contents)`. What you want is to extend `candidates` with the contents of the bookshelf. So you need to customize your read Command to first find the bookshelf in the room, then add `bookshelf.contents` to the list of `contents`
20-05-25 17:37:05: [evennia] ircbot-Drastical: [email protected]#evennia: ...
20-05-25 17:37:07: [evennia] ircbot-Drastical: [email protected]#evennia: ... included when searching for the book.
20-05-25 17:37:47: [evennia] ircbot-Drastical: [email protected]#evennia: Then you'll find the book in its bookshelf (and things like searching by book key/alias etc will also work)
20-05-25 17:38:42: [evennia] ircbot-Drastical: [email protected]#evennia: okay so something like searching object by tag (bookshelf or whatever)
20-05-25 17:39:03: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, sounds good.
20-05-25 17:39:21: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Makes sense. I would favor your approach anyway; where realism conflicts with dramatics I tend to favor more explicit dramatic mechanics eg. a Mask is something you are using to hide, it should do so effectively and the issue should be that a mask is or isn't being used in the scene. Similar to the issue with languages - I don't want to use constructed languages due to that implementation mode allowing users to circumvent a skill
20-05-25 17:39:21: [evennia] ircbot-Drastical: [email protected]#evennia: system by learning oft-repeated foreign words.
20-05-25 17:39:22: [evennia] ircbot-Drastical: [email protected]#evennia: You could in principle add the contents of every object in the room, but that could explode quickly.
20-05-25 17:40:49: [evennia] ircbot-Drastical: [email protected]#evennia: ok, thanks a lot
20-05-25 17:43:23: [evennia] ircbot-Drastical: [email protected]#evennia: Np
20-05-25 17:43:53: [evennia] ircbot-Drastical: [email protected]#evennia: Hm, I did a picture about the concept of the "MUD hoodie" at one point, I wonder if I can find it
20-05-25 17:47:54: [evennia] ircbot-Drastical: [email protected]#evennia: Ah, this is an old one, on the realism of hooded figures in MUDs: https://postimg.cc/RJ6HKNqk
20-05-25 17:48:26: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> lol
20-05-25 17:48:38: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Does well making the point, though.
20-05-25 17:49:21: [evennia] ircbot-Drastical: [email protected]#evennia: There should be a voice-wrangler involved too
20-05-25 17:50:08: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It's sort of a Clark Kent's Glasses thing, right?
20-05-25 17:50:34: [evennia] ircbot-Drastical: [email protected]#evennia: Yeah, must be.
20-05-25 17:50:40: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> The dramatic necessity is to obscure the identity. How that is achieved is negligibly-scoped.
20-05-25 17:51:06: [evennia] ircbot-Drastical: [email protected]#evennia: I wonder what the city guard would (realistically) say about people walking down the street looking like ring-wraiths.
20-05-25 17:52:32: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Man, "what would the guard's say" could easily be the alternate title for the section in my notes about Crime and Justice systems.
20-05-25 17:52:37: [evennia] ircbot-Drastical: [email protected]#evennia: But yeah, the issue with giving people a chance to recognize someone despite the mask is that, at least if there are real-game consequences to being demasked, that people stop using them.
20-05-25 17:53:26: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Exactly. Way back in the day in Castle Marrach I played a PC who was involved with a staff-run plot and they gave me a mask that hid everything but my eyes.
20-05-25 17:53:57: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Inside two weeks I had three players OOCly reveal to me that they knew I was the masked villain, because there were only 4 active PCs with "bright, hazel" eyes.
20-05-25 17:54:11: [evennia] ircbot-Drastical: [email protected]#evennia: If there is a chance of looking through the disguise/hood/mask, the maked player should ideally be made aware that they are at risk, such as "player X is looking very intently at you, trying to see if they recognize you" so they can take action. Just randomly losing anonymity is not empowering.
20-05-25 17:55:18: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Totally. I use a "would this make sense in a book?" litmus test.
20-05-25 17:55:23: [evennia] ircbot-Drastical: [email protected]#evennia: Having the onlooking player have to do an active action to recognize the masked one seems fairer to both players (even if it's not super realistic I guess)
20-05-25 17:55:52: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It wouldn't make much sense to mask a character in a book, only to have another go "oh, hey i recognize you"
20-05-25 17:56:54: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> The only unmasking that seems to add drama is the literal. Either the intentional self-reveal as they remove their mask, or when they are finally caught at the end of Scooy Doo
20-05-25 17:57:02: [evennia] ircbot-Drastical: [email protected]#evennia: One can do some fun stuff with that as well, like masking one's appearance to have different features (like puffing up your cheeks, changing your eye color etc), and only if the onlooker understands that the other person is disguised may the player even think to try to look past it.
20-05-25 17:57:44: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, but 100% scripted anonymity with no risk is also not good for tention.
20-05-25 17:58:48: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I would prefer to solve that problem by having other avenues that can bring the anonymity to an end.
20-05-25 17:59:29: [evennia] ircbot-Drastical: [email protected]#evennia: I actually had that in a literary project once - one inhuman character spent all sorts of time on disguising themselves as human with magic and whatnot, but the other person immediately recognized them as 'that's a human that has a face that looks exactly like that inhuman person". It's fun laughs at times :D
20-05-25 17:59:55: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> You could play it for a lark like that and I admit in that situation it's amusing.
20-05-25 18:00:30: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> But it's also the work blown of at least one PC if not multiples + staff, a plotline, etc
20-05-25 18:00:50: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> That's the rub that makes me adamant about disguises being infallible.
20-05-25 18:02:10: [evennia] ircbot-Drastical: [email protected]#evennia: I'd say it depends on the consequence of being unmasked. If it's a life or death situation then yes, it should at least not just be down to chance. In a more friendly or playful game it may not be such a big deal.
20-05-25 18:02:37: [evennia] ircbot-Drastical: [email protected]#evennia: That said, just letting the mask/hood offer infallable anonymity is a lot easier to code, so ... ;)
20-05-25 18:03:40: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> True. There are perfectly fine game styles that run more light-hearted than what interests me.
20-05-25 18:03:44: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I have a Crime&Justice system on paper that presents crime execution in a sort of mini-game, where the PC makes checks against the system as part of performing steps in the crime. Then the Justice side, investigators and whatnot, essentially get the opportunity to reverse the steps of the perpetrator, making their own rolls, and possibly divining clues.
20-05-25 18:04:25: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> So with that in mind I see the role of Masks as an opportunity for criminal PCs/NPCs to conduct dialogue scenes in the Masked persona.
20-05-25 18:04:49: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> The real meat of being caught lies in the game's hard systems.
20-05-25 18:06:32: [evennia] ircbot-Drastical: [email protected]#evennia: Interesting. So what is the game loop for the criminal and detective respectively and how would you make it equally fun to play either?
20-05-25 18:07:22: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Roughly, a sort of procedurally-generated Choose Your Own Adventure mechanism that I plan to use as the skeleton for a number of game systems.
20-05-25 18:07:46: [evennia] ircbot-Drastical: [email protected]#evennia: And also, what about punishment? In real life, prison works, but in a game, a criminal stuck being bored in a cell for too long will just quit the game.
20-05-25 18:08:27: [evennia] ircbot-Drastical: [email protected]#evennia: A choose your own adventure mechanism? That does sound novel. Could you elaborate more on that?
20-05-25 18:09:33: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> So opportunity for a Score (a criminal act) is made available by my Assets & Intrigue system's outputs. The Criminal can enter into the Score and the system spits them out Challenges they encounter during the Score. Picking a lock on a window, making a tough climb, hiding from a guard patrol, etc.
20-05-25 18:10:35: [evennia] ircbot-Drastical: [email protected]#evennia: Aha, so this is handled off-grid?
20-05-25 18:10:59: [evennia] ircbot-Drastical: [email protected]#evennia: Or does the various steps also move them along on the grid?
20-05-25 18:11:02: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> My core dice rolling works on a success-based system in which I use success as degrees of success to cancel out arbitrary traits of a Challenge. Not all need to be canceled out to "Succeed". In the context of a discrete Challenge in a Criminal Score, the excess traits not canceled might leave Clues that an Investigator can later discover, when they go through a similar CYOA-style Investigation.
20-05-25 18:11:29: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Off-Grid. I am actually planning to use something like the wilderness/endless room implementation you were talking about a week or so ago.
20-05-25 18:12:31: [evennia] ircbot-Drastical: [email protected]#evennia: I see. So there is no chance of another player interfering with the ongoing Score by being in the location that is about to be burglarized, for example?
20-05-25 18:13:22: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Heh. I have thought about that but I think, with the kind of game I want to have, that the only interferences in Scores should be from the gameworld itself.
20-05-25 18:13:44: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> There just strikes me as too many easy optimal ways to spoil it in a PvP paradigm.
20-05-25 18:14:26: [evennia] ircbot-Drastical: [email protected]#evennia: I suppose the Player's presence could automatically add some extra twist to the Score's narration?
20-05-25 18:15:24: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> That would be interesting. I think I'd be looking at a much more complex minigame at that point. Cool idea but my head immediately swims at the permutations.
20-05-25 18:15:25: [evennia] ircbot-Drastical: [email protected]#evennia: It would not be too hard to dump the burglar in the same room as the other Player, aborting their Scrore with a failure mid-way (and placing them in an akward situation to boot)
20-05-25 18:16:03: [evennia] ircbot-Drastical: [email protected]#evennia: It'd mean that 'robbing a place when people are home' is a much riskier prospect.
20-05-25 18:16:16: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Well that eventuality is my exact concern. If all a Justice side PC needs to do to foil a Crime side one is show up, that strikes me as a non-desirable Obvious Optimal Strategy.
20-05-25 18:16:46: [evennia] ircbot-Drastical: [email protected]#evennia: Not if they have to be elsewhere some of the time.
20-05-25 18:17:58: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I mean, you do raise a good point in that, when you think of Crime/Justice stories, it is often that a turning point comes when Inspectorman intuits Burglargirl's next target and lies in wait.
20-05-25 18:19:23: [evennia] ircbot-Drastical: [email protected]#evennia: From a gameplay perspective, other players will also add a lot more unpredictability (and, if done right, excitement) than you can ever do with a coded system. You can always be accused of making something too random, you can't be accused if other Players introduce the random element.
20-05-25 18:19:49: [evennia] ircbot-Drastical: [email protected]#evennia: The trick is to make it feel fair, and that is the main challenge.
20-05-25 18:20:04: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Well I can be reasonably accused of not providing a wide enough set of options for resolution of a direct confrontation.
20-05-25 18:20:14: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> That's my main concern in this scope.
20-05-25 18:20:24: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> But, I have taken lots of steps in design to avoid that very thing.
20-05-25 18:20:55: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> For instance my combat model is built around providing more terminal outcomes for a combat than the death/incapacitation of one party, by significant design.
20-05-25 18:20:55: [evennia] ircbot-Drastical: [email protected]#evennia: From the perspective of the justicar, being able to be proactive and prevent crime rather than just react after the fact is probably the main reason for adding such a system.
20-05-25 18:22:04: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Totally true. To the extent that I wrestled for a long time with the idea of simply not including Justice side as a PC activity.
20-05-25 18:22:34: [evennia] ircbot-Drastical: [email protected]#evennia: Both sides must be able to feel proactive for it to be enjoyable. If the criminal has the whole Score system and does that perfectly, the justice will have no clues to go by, which instead takes agency away from justice.
20-05-25 18:24:32: [evennia] ircbot-Drastical: [email protected]#evennia: Now, if the game world is meant to be bleak and the kind of place where most crimes go unsolved, then that may be a point in itself. It may even make for interesting RP. But then it must be very clear that no balance was ever intended.
20-05-25 18:27:47: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> So, thinking about the points you've just made, I can see that I have some room to work with on the fronts of balance and also providing alternatives for caught Criminals that aren't sitting in a jail cell.
20-05-25 18:28:26: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> The narrative structure of our game relies a lot on the idea that while PCs may have antagonisms like Crime vs Justice, all PCs are ultimately cast on the same side of the meta-story plotlines.
20-05-25 18:29:55: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Bigger fish to fry, etc. I will have to think a lot more on it. While that opportunity for an antagonist relationship to turn into something more cooperative due to meta-narrative revelations, I can't be easily assured that PCs will take that tack.
20-05-25 18:30:41: [evennia] ircbot-Drastical: [email protected]#evennia: An interesting existing game to look at would be one of the Inquisition MUDs, like The Inquisition: Legacy, where a certain part of the playerbase plays wizards/warlocks that will be burned at the stake if caught by the church.
20-05-25 18:32:41: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I've read a lot of second-hand accounts but have not invested in direct research by playing. There's a handful of games I'd like to glean various things from, but then I'd have to play them all.
20-05-25 18:32:56: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> When would I code?
20-05-25 18:32:57: [evennia] ircbot-Drastical: [email protected]#evennia: It's an extreme case, and they don't use a hard-coded system as much as the inquisitors having to carefully document just when their character starts getting suspicious about someone and why. The staff will then review those notes on an accusation to try to rule out meta-gaming (such as checking who was online at the time when the masked mage was spotted). It's not perfect and requires a lot of staff
20-05-25 18:33:03: [evennia] ircbot-Drastical: [email protected]#evennia: effort I ...
20-05-25 18:33:05: [evennia] ircbot-Drastical: [email protected]#evennia: ... imagine; but overall it seems to work rather well.
20-05-25 18:33:54: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Hmm. Yeah, that's the kind of thing I am hoping to avoid with hard systems.
20-05-25 18:34:08: [evennia] ircbot-Drastical: [email protected]#evennia: Also, people are allowed several alts, and often go into playing the mage being clear that their story will most likely end dramatically at the stake.
20-05-25 18:35:20: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> My admittedly-shallow experience with MU*s has not moved the dial on my already suspicious nature.
20-05-25 18:36:11: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> So I'd rather provide systems that free people from having to try to cleave to an honor system of some kind.
20-05-25 18:36:47: [evennia] ircbot-Drastical: [email protected]#evennia: Again, different styles of MU* go different directions on this.
20-05-25 18:39:23: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Absolutely. I recognize that many of the discrete implementations I feel conviction in pursuing are due to my personal preferences, which are in turn driven by perceived problems and the need to deliver solutions.
20-05-25 18:41:13: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I'd say my core driving principle on all of these major design decisions is the idea of how to make sure that every PC can execute their stories safely, and where conflict arises between story goals, that conflict is mediated by understandable hard systems that stretch the conflict period into multiple phases rather than single, decisive moments of great consequence.
20-05-25 18:41:26: [evennia] ircbot-Drastical: [email protected]#evennia: That is quite normal; most people coming here has a game style in mind that is "the" style for them. Over the years of making Evennia and talking to people in this channel you start to realize just how many options there are though. Things that are must-have for one group is completely uninteresting to another sub-clique of MU*dom. Since Evennia can cater to pretty much all, we get all sorts here. :)
20-05-25 18:43:40: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I had not realized until just this moment how important that idea of stretching conflict to avoid single decisive moments is. Perhaps I should say "immediate, single, decisive moments" as there is a place for moments of great import at the cap of a series of twists and turns.
20-05-25 19:00:34: [evennia] ircbot-Drastical: [email protected]#evennia: ok, extending the candidates for the search thing for my read command is killing me. Here's the command as I have it so far: https://pastebin.com/87c2kdep. I need some help with searching the callers current location for objects with the tag key "bookshelf" and adding that to the candidates list.
20-05-25 19:13:10: [evennia] ircbot-Drastical: [email protected]#evennia: [pull request]|H esampson opened|H PR #2141|H (Upgraded EvMenu) to evennia|H/EvMenu|H https://github.com/evennia/evennia/pull/2141|H
20-05-25 19:14:09: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> My first PR for Evennia!
20-05-25 19:57:32: [evennia] ircbot-Drastical: [email protected]#evennia: @blakhal01: It's not so trivial if you are new to do that, we should probably improve the way tag-searching is done to make it more intuitive. Here's anyway a suggested solution: https://pastebin.com/tgi1jPaa
20-05-25 20:00:02: [evennia] ircbot-Drastical: [email protected]#evennia: ah the .filter part was what I couldn't find
20-05-25 20:05:25: [evennia] ircbot-Drastical: [email protected]#evennia: [issues]|H Griatch opened|H issue #2142|H in evennia|H: [Feature Request] Extend Object.search to search by local tags|H (https://github.com/evennia/evennia/issues/2142|H)
20-05-25 20:05:40: [evennia] ircbot-Drastical: [email protected]#evennia: So it's not forgotten :)
20-05-25 20:06:55: [evennia] ircbot-Drastical: [email protected]#evennia: works like a charm, thanks Griatch!
20-05-25 20:07:08: [evennia] ircbot-Drastical: [email protected]#evennia: Good!
20-05-25 20:24:17: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> So with my PR when the code is being tested I'm getting an error related to AWS which has absolutely nothing to do with what I was working on. How do we handle that?
20-05-25 20:25:57: [evennia] ircbot-Drastical: [email protected]#evennia: @The Sands: Hm, are you working off the latest develop branch?
20-05-25 20:26:31: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I certainly thought I was and it looks as though I am.
20-05-25 20:26:38: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Let me make sure.
20-05-25 20:28:12: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Last commit I see for develop is 6aac1db3543809ba4a966f6d1b451868872ee6d7
20-05-25 20:32:40: [evennia] ircbot-Drastical: [email protected]#evennia: Looks it's just the github action CS pipeline that fails to identify the branch; you don't need to worry about that.
20-05-25 20:33:23: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> So the PR won't be held up even though it's showing an error?
20-05-25 20:34:26: [evennia] ircbot-Drastical: [email protected]#evennia: I am the one reviewing and merging PRs, so I can see if the error is relevant or not. :)
20-05-25 20:34:49: [evennia] ircbot-Drastical: [email protected]#evennia: If it was an error related to your code, then yes I'd ask it'd be fixed.
20-05-25 20:35:08: [evennia] ircbot-Drastical: [email protected]#evennia: (I've not reviewed the PR yet though, mind)
20-05-25 20:35:21: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I wasn't sure how notifications worked and if it would just fall into a pit somewhere since there was an error. 🙂
20-05-25 20:37:35: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/develop|H: [Griatch]: Test a different ref scheme
20-05-25 20:39:41: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/develop|H: [Griatch]: Another ref scheme
20-05-25 20:42:21: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/develop|H: [Griatch]: GH branch ref scheme doesn't work, try without
20-05-25 20:43:50: [evennia] ircbot-Drastical: [email protected]#evennia: There.
20-05-25 20:55:45: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I like the idea.  Would love it if options could be a list instead of a tuple.
20-05-25 21:13:35: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Is there some way for me to poke my PR to get it to test again without doing another commit?
20-05-25 21:14:53: [evennia] ircbot-Drastical: [email protected]#evennia: Not sure you can do it, but I can, if you want me to
20-05-25 21:14:59: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> @DarkSir23, I wanted to try and make as few changes to the original code and methodology as possible while achieving the effect I wanted. The more changes the more likely for something legacy to break.
20-05-25 21:15:48: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Yeah. If you could prod that last one to run again, I'd like to see what the coverage looks like. I could look into adding some more coverage tests then.
20-05-25 21:16:11: [evennia] ircbot-Drastical: [email protected]#evennia: @The Sand: Actually, yes you have to merge the latest develop branch with your PR and push that for it to pass CI.
20-05-25 21:16:38: [evennia] ircbot-Drastical: [email protected]#evennia: You can just merge develop into your work branch and push that to update the PR in-place.
20-05-25 21:17:19: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Yeah,  I get it.  I just suck at working with tuples 🙂
20-05-25 21:17:35: [evennia] ircbot-Drastical: [email protected]#evennia: You don't need tuples for options ... ?
20-05-25 21:17:46: [evennia] ircbot-Drastical: [email protected]#evennia: You need an iterable. A tuple is just a practical thing to use.
20-05-25 21:18:31: [evennia] ircbot-Drastical: [email protected]#evennia: At least if you refer to the list of option-dicts.
20-05-25 21:18:41: [evennia] ircbot-Drastical: [email protected]#evennia: This is Python, not C.
20-05-25 21:19:13: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Oh!  The docstring just showed tuple, so I never tried.  That's good to know, thanks.
20-05-25 21:20:00: [evennia] ircbot-Drastical: [email protected]#evennia: I prefer using tuples for things that will not be added to later, but if you are building the options dynamically, a list is a little easier.
20-05-25 21:20:14: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Yeah, that's my use case.
20-05-25 21:20:39: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Single node combat menu, and the options change with nearly every call 🙂
20-05-25 21:21:10: [evennia] ircbot-Drastical: [email protected]#evennia: Sure, use a list, then. I'd imagine it's a list in the tutorials but I could be wrong.
20-05-25 21:21:32: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I've taken to using the docstrings more, lately.  Since I have them open anyway.
20-05-25 21:22:16: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I love evmenu.  I'm using it with the combat handler for a multi-player/multi-NPC combat system.
20-05-25 21:23:08: [evennia] ircbot-Drastical: [email protected]#evennia: There is one place where a tuple is required that I can think of, and that's when specifying the OOB structure in a msg call ... I think. Otherwise you can probably use tuples and lists inter-changeably most everywhere.
20-05-25 21:23:36: [evennia] ircbot-Drastical: [email protected]#evennia: Well, assuming you are not appending to it, obviously, then you need a list :)
20-05-25 21:24:01: [evennia] ircbot-Drastical: [email protected]#evennia: Glad you like evmenu :D
20-05-25 21:28:04: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Hmm...I seem to remember having to convert all my lists into tuples to use them.
20-05-25 21:30:40: [evennia] ircbot-Drastical: [email protected]#evennia: Shouldn't have to; all it does is loop over the options
20-05-25 21:31:11: [evennia] ircbot-Drastical: [email protected]#evennia: jkj
20-05-25 21:32:15: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> EvMenu seems great. I just thought it could benefit from some cosmetic adjustments (the other reason I didn't mess with options is because I only wanted to adjust how things displayed rather than how things 'ran').
20-05-25 21:32:37: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> nods  I definitely like the idea.  Makes it even more flexible.
20-05-25 21:33:32: [evennia] ircbot-Drastical: [email protected]#evennia: EvMenu is built to be subclassed for formatting options; the optional input functions were removed for Evenia 0.8 in favor of formatting subclassing.
20-05-25 21:33:53: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Not on TravisCI. You have to provide either repo_token in .coveralls.yml or set the COVERALLS_REPO_TOKEN env var. Traceback (most recent call last):   File "/opt/hostedtoolcache/Python/3.7.7/x64/lib/python3.7/site-packages/coveralls/cli.py", line 62, in main     service_name=options['--service'])   File "/opt/hostedtoolcache/Python/3.7.7/x64/lib/python3.7/site-packages/coveralls/api.py", line 65, in __init__     self.ensure_token()
20-05-25 21:33:53: [evennia] ircbot-Drastical: [email protected]#evennia: File "/opt/hostedtoolcache/Python/3.7.7/x64/lib/python3.7/site-packages/coveralls/api.py", line 74, in ensure_token     self.config_filename)) coveralls.exception.CoverallsException: Not on TravisCI. You have to provide either repo_token in .coveralls.yml or set the COVERALLS_REPO_TOKEN env var. ##[error]Process completed with exit code 1.
20-05-25 21:33:56: [evennia] ircbot-Drastical: [email protected]#evennia: Or even 0.7
20-05-25 21:36:20: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Yeah. The things with subclassing are A) there's probably some minor formatting things that people would like to be able to do without subclassing and B)  unless you do a pretty big change to the subclass you are still stuck using the same formatting options on each node.
20-05-25 21:37:07: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Being able to say that I want 3 rows on this node and 8 rows on that one is nice for me.
20-05-25 21:37:27: [evennia] ircbot-Drastical: [email protected]#evennia: Well, I've not looked at the PR yet, so we'll see :)
20-05-25 21:39:13: [evennia] ircbot-Drastical: [email protected]#evennia: @The Sands: The github actions are WIP. Look at Travis instead: https://travis-ci.org/github/evennia/evennia/builds/691097453
20-05-25 21:40:15: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Ok. Just letting you know. 🙂
20-05-25 21:40:30: [evennia] ircbot-Drastical: [email protected]#evennia: But it's strange that this github Action would start failing; it worked until before that PR :)
20-05-25 21:40:59: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> https://imgur.com/a/dMKrhNJ is an example of what I can do with the updated code with relatively little difficulty.
20-05-25 21:41:22: [evennia] ircbot-Drastical: [email protected]#evennia: That looks very cool!
20-05-25 21:42:14: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> nice
20-05-25 21:43:37: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I'm not sure I would actually use that layout live since it's kind of busy and makes things harder to follow than regular columns, but it is proof of concept of pretty much all the changes I implemented. Control over the number of rows, ability to move some options out of the table, ability to hide some options (there's a Quit option not being shown), a footer, and a specialized layout of the produced data.
20-05-25 21:44:14: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> maybe if the goal is to make it more challenging to read and process, like for a puzzle
20-05-25 21:45:08: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Yeah. I don't think you should generally do that with menus, but hey, if someone wants to now they can just create a 'challenge' format that will do that. 🙂
20-05-25 21:58:24: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/develop|H: [Griatch]: Add continue-on-error for non-core forks not sending to cove[...]|H
20-05-25 21:59:14: [evennia] ircbot-Drastical: [email protected]#evennia: @The Sands: Could you try to update to the latest develop in your PR and pushing again? It should hopefully pass now. Unfortunately it doesn't appear like github actions support sending data with a secret key from a fork.
20-05-25 21:59:23: [evennia] ircbot-Drastical: [email protected]#evennia: So it cannot send to coveralls.
20-05-25 22:01:31: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Working now
20-05-25 22:08:29: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Well, it ran through. It still didn't really send anything to coveralls, but there's a green check at least.
20-05-25 22:08:49: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> https://github.com/evennia/evennia/pull/2141/checks
20-05-25 22:10:24: [evennia] ircbot-Drastical: [email protected]#evennia: Yep, that's because the coveralls secret token won't get passed into a fork.
20-05-25 22:10:59: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Just letting you know the results. 🙂
20-05-25 22:11:10: [evennia] ircbot-Drastical: [email protected]#evennia: Don't think there is a way around that with github actions unfortunately. But I'd imagine Travis does it
20-05-25 22:12:39: [evennia] ircbot-Drastical: [email protected]#evennia: Yeah, you can see your build on there: https://coveralls.io/github/evennia/evennia
20-05-25 22:13:24: [evennia] ircbot-Drastical: [email protected]#evennia: https://coveralls.io/builds/31022610
20-05-25 22:42:49: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch reviewed PR #2141|H (Upgraded EvMenu): Thanks for the PR! You have many good ideas here, and I thin[405 more]|H https://github.com/evennia/evennia/pull/2141#pullrequestreview-417888959|H
20-05-25 22:42:49: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Such a specialized formatting option, no matter how cool-loo[99 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430086293|H)
20-05-25 22:42:50: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I like idea of more control over each node's formatting but[597 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430087156|H)
20-05-25 22:42:52: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: This is a good idea. Would be more consistent to name them `[34 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430087813|H)
20-05-25 22:42:52: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Why no `header` text when we are at it? (https://github.com/evennia/evennia/pull/2141#discussion_r430088093|H)
20-05-25 22:42:53: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: This is a good feature I think. (https://github.com/evennia/evennia/pull/2141#discussion_r430088842|H)
20-05-25 22:42:55: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: As cool as the effect looks, this does not belong in the cor[108 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430089135|H)
20-05-25 22:42:56: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: We shouldn't do workarounds of our own library code. This sh[79 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430089795|H)
20-05-25 22:43:08: [evennia] ircbot-Drastical: [email protected]#evennia heads to bed. Goodnighty
20-05-26 00:47:08: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I chose to use this function primarily because I simply had[296 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430107458|H)
20-05-26 00:49:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> @MagnumOpus I like where your head space is at. 😄
20-05-26 01:01:22: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Cheers! Which part?
20-05-26 01:01:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> All of it really. But it's probably because I come from another Skotos bastard: TEC.
20-05-26 01:02:13: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Ahh. TEC always seemed really interesting but I never found the time to get into it.
20-05-26 01:02:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> It's got its perks. Both communities mostly stayed to themselves, despite getting both games in the membership. 🙂
20-05-26 01:03:00: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I noticed that. Only a handful of people I knew played both.
20-05-26 01:03:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Your take on criminals is an interesting thing to think about, too.
20-05-26 01:03:41: [evennia] ircbot-Drastical: DiscordBot@#evennia: <Calades|H> I've been trying to find a good way to do it also. Had also considered just saying screw it and leave it out. It's difficult, because you almost have to design the criminal aspects at the core of your game, and then other systems around it.
20-05-26 01:03:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Otherwise you run a high risk of running into the 'unfairness' Griatch described.
20-05-26 01:04:04: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I love the crime genre. Gentleman Bastards, Bas Lag trilogy, etc. And I've been running a Blades in the Dark game for a bit that has informed a ton of my thinking on the topic.
20-05-26 01:04:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Reading Gentleman's bastards right now. 😄
20-05-26 01:04:24: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> You are 100% correct that the thing is you have to design so much around supporting the criminals.
20-05-26 01:05:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I really like your finding clues idea though. That's something I'd never even considered.
20-05-26 01:05:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I also had no idea so much of this was available through the already built contribs. 😄
20-05-26 01:05:52: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Thank you! I had the idea for a bit but it didn't really congeal until I worked out my dice resolution mechanic.
20-05-26 01:05:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Just shows me I need to play with Evennia more.
20-05-26 01:06:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I think it's really solid. I don't quite understand the broader context of how one finds themselves in any of those given circumstances, but I'm sure you've got some stuff written down.
20-05-26 01:08:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> It's interesting though, trying to think about it from the criminal aspect at the core. Like, take a simple door object as an example. in a crime based game, a door is a barrier to be broken, not somewhere safe to put your stuff.
20-05-26 01:09:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> It can be somewhere safe to put your stuff also, but that's more circumstantial.
20-05-26 01:11:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> sorry, I ramble. 😉
20-05-26 01:12:03: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> You got me thinking about it!
20-05-26 01:12:21: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I think about a lot of these problems in terms of board games.
20-05-26 01:12:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Yeah! Like little mini games within the game.
20-05-26 01:12:39: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Exactly.
20-05-26 01:12:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> The example I tend to use is Final Fantasy VII's arcade room and chocobo racing.
20-05-26 01:13:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Such a tiny little portion of the game, that oyu can easily lose 100 hours in.
20-05-26 01:14:53: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Right, and my observation of large-scale RP games like MU*s and LARPs (the area I have more background in), is that the problems in your game tend to arise from places where a complex narrative experience sits atop a game experience that lacks complexity.
20-05-26 01:15:07: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Law and Order being a big one.
20-05-26 01:15:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> The inverse can also be true, but I get your point.
20-05-26 01:16:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> CM and TEC are actually interesting examples of both sides of that spectrum. CM has really rich story, but lacks mechanical complexity to support it as far as I can tell. and TEC has mechanical complexity, and lacks the story support.
20-05-26 01:17:40: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I would say that's a fair observation.
20-05-26 01:20:06: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> An example of the issue I'm referring to.. I saw a PC in a game who committed a crime and tried to drive some story by allowing the Justice side of the game to find out about it. They were enthusiastic about getting to tell a story about Law and Order, the investigative process, intrigue, etc.
20-05-26 01:20:43: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Instead, the first Justice PC who showed up took it as an opportunity to throw their weight around and railroad the whole process.
20-05-26 01:22:01: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> As I see it, even if I wanted to place some blame with the Justice PC, that still doesn't solve the underlying problem, which is that there was no structure to govern the interaction between their two opposing goals.
20-05-26 01:22:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Right. I've witnessed exactly this scenario in games, too.
20-05-26 01:24:33: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It's very common. To the extent that I feel it's unprofitable to try to solve the human behavior side of the problem. Instead my experience is that you are better served designing a system for governing the places where PC goals can be expected to conflict.
20-05-26 01:25:18: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> And board games have a lot to offer us on the topic of game systems with minimal, elegant rules that people can grasp and play with quickly.
20-05-26 01:25:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I think I'm in agreement with you.
20-05-26 01:26:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I think people like to 'win', and most games are designed, subconciously, around heroes winning. I think crime is often times an after though, or if it is represented it's the whole game.
20-05-26 01:26:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> But I also think you can find a balance, it just has to be considered at almost every level.
20-05-26 01:27:09: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> 100%. People absolutely love to "win". And that's fair and understandable.
20-05-26 01:27:17: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I think this area is specifically very important because my observation has been that the most common solution to intra-playerbase conflict is to try to prevent any conflict from arising.
20-05-26 01:27:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I think it's probably the simplest solution. 😄 But you can't deny, there's some deep and memorable experiences in the conflict.
20-05-26 01:28:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I have 20 year old memories from conflict in TEC, where I remember my adrenaline rising.
20-05-26 01:28:17: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Absolutely! Conflict is the heart of Story!
20-05-26 01:28:45: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Without Conflict there is no motive force, no narrative.
20-05-26 01:28:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Totally agree.
20-05-26 01:29:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Now my mind is going too. 😉
20-05-26 01:29:35: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Awesome :D
20-05-26 01:31:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Like, take a building as an example. 4 walls, a door, and a roof. In a crime based game, why does a building exist? Well, I'd argue to present an obstacle to the criminal so that he can continuously be challenged as he progresses through the game. But not everyone is criminals. What do you do for regular people to defend against it? Maybe buildings are destructible, and you can choose to invest in better materials, or heavier doors, or
20-05-26 01:31:23: [evennia] ircbot-Drastical: [email protected]#evennia: better locks. Maybe you can line your ledges in glass.
20-05-26 01:31:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Again, rambling, heh.
20-05-26 01:32:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> You'd have to go through all interactive systems in a similar way and kind of work out the kinks. Ultimately, I think you'd want something like a 60/40 in favor of justice, even with your core systems designed around crime.
20-05-26 01:33:46: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> The approach I am trying to take is to tie the Criminal/Justice side holistically into the whole.
20-05-26 01:35:21: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I think this is actually three things.\\The first is that pe[1839 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430115665|H)
20-05-26 01:35:41: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I am a big fan of stories about Class, and about Corruption. So the game changes depending on where a PC stands. Those at the bottom, in both Crime and Law, find their efforts to win over each other stymied by the architectures and compromises of those in the Class above them.
20-05-26 01:36:09: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Those actually are their names. The error is in the docstrin[...]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430115813|H)
20-05-26 01:36:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> Same. I've been trying to find a good game that pulls it off well, no luck yet. 🙂
20-05-26 01:37:35: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Heh. No timeline on when we'll be ready to launch but I'll make sure you hear about it when we do.
20-05-26 01:38:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I'm definitely interested in trying this, it sounds like something I might enjoy.
20-05-26 01:38:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Calades|H> I've always been drawn to the bad guy side of roleplay. Would love a good environment to actually pull off some fun plots in.
20-05-26 01:38:47: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Mostly because I didn't think when I was writing this how ``[227 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430116286|H)
20-05-26 01:39:57: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Thanks. Being able to control this on a node-by-node basis w[42 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430116474|H)
20-05-26 01:43:32: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I wanted to try to include something that had a more visible[482 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430117124|H)
20-05-26 01:45:00: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: This only was added to support ``scroll`` so we can easily p[...]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430117409|H)
20-05-26 04:28:21: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Actually, as I get ready to submit a ticket it looks like th[319 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430149455|H)
20-05-26 07:20:56: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I think it would be better to make this more flexible; I ela[21 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430204898|H)
20-05-26 07:31:39: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I was just thinking about the discussion about poses. if you had a large room, is it a bad idea to break it down into several areas, one room for each area, as that would mean people couldn't see the whole room at once on entering it?
20-05-26 07:32:41: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> or is there a way to see a brief overview of the whole room, and then more detailed views of each area
20-05-26 07:33:05: [evennia] ircbot-Drastical: [email protected]#evennia: @xhawk87: Depends on how your 'places' code is implemented. It's possible to make it such that you can see where everyone is but can't hear what they are saying unless you move to their sub-location.
20-05-26 07:33:41: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that's pretty neat
20-05-26 07:35:39: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I would also not want to stuff too much into the look description for the whole room if there is a lot going on, but rather give like a rough estimate of how many people there are in different places, and require a further look at that place to see more detail
20-05-26 08:15:36: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch reviewed PR #2141|H (Upgraded EvMenu): Whereas your idea of a simple use is commendable, I think it[373 more]|H https://github.com/evennia/evennia/pull/2141#pullrequestreview-418031325|H
20-05-26 08:15:37: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I think we may be talking past each other a little here. I s[2612 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430225304|H)
20-05-26 08:15:38: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I think top / middle / bottom is probably as fine-grained as[182 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430205194|H)
20-05-26 08:15:39: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: If using the `formatter` callable suggestions above, these w[289 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430229388|H)
20-05-26 14:44:53: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I see what you are saying about the different formatters. I'[1216 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430468239|H)
20-05-26 14:51:33: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I was trying to set up Cloud_Keeper's IRC-style command parser, but I think I messed it up and now no commands are working. is there a way to trigger a reload from python?
20-05-26 14:51:51: [evennia] ircbot-Drastical: [email protected]#evennia: Sure. `evennia reload`
20-05-26 14:52:11: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> thanks
20-05-26 14:52:31: [evennia] ircbot-Drastical: [email protected]#evennia: https://github.com/evennia/evennia/wiki/Start-Stop-Reload
20-05-26 14:55:20: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> What is evennia restart an alias for?  reload or reset?
20-05-26 14:56:41: [evennia] ircbot-Drastical: [email protected]#evennia: reload
20-05-26 14:56:48: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Ok, thanks.
20-05-26 14:57:14: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> It's what I've been using.  I may need to try reset for a few things, to see if my combat handler re-attaches to players properly after a reset.
20-05-26 15:59:04: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H outshaker forked evennia|H https://github.com/outshaker/evennia|H
20-05-26 16:49:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> It was always fun when you had games where your opponents were actual players... So faction based games were always fun but you need a certain number of people before it becomes viable... Thats why themed MU*'s like Star Wars, Star Trek and the like were popular they had built in factions
20-05-26 17:46:23: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Progress on my card system.  Think I have a neat way to make card items turn into actual items, and back to cards, when you add them to your deck.   When an NPC dies, it shuffles everything and draws one card.  If that card has the Loot characteristic, it creates an item from a prefab and drops it.   That item could turn directly back into a card for the player (like a dropped weapon) or be part of a recipe for a different card (like a
20-05-26 17:46:24: [evennia] ircbot-Drastical: [email protected]#evennia: thick hide card dropping a leather scrap, which could combine into a leather armor, cap, etc.  Depending on what you combine it with.
20-05-26 17:46:29: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Here's an idea:\\Instead of making independent ``node_format[1034 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430594754|H)
20-05-26 17:54:42: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Sanity check: If you were creating a node with the new EvMenu functions does this structure seem fairly intuitive to you?  https://imgur.com/a/39DaZyO
20-05-26 18:31:06: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Pastebin for people who prefer that: https://pastebin.com/A0K71vte
20-05-26 20:27:41: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Overriding EvMenu is not quite the same thing, because we ar[1697 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r430688480|H)
20-05-26 21:15:09: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I got the IRC-style parser to work :D
20-05-26 21:17:20: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> One question though, what's this about?
20-05-26 21:17:20: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> https://cdn.discordapp.com/attachments/246323978879107073/714950318177255474/game_-_Mozilla_Firefox_2020-05-26_22-16-32.png
20-05-26 21:56:44: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Looks good, @The Sands , but what does invert do?
20-05-26 21:58:34: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Puts the options table above the text.
20-05-26 22:02:50: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Oh, cool
20-05-26 22:04:46: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> In each case formatter calls a formatting routine. I'm just going to make pretty simple ones that either put bars above and below the contents. In the case of the formatter for options the default routines (and I would recommend any routines other people create) also try to control the number of rows of the options table and can hide options or move options off of the main table to a column below the main table. The formatter for node
20-05-26 22:04:47: [evennia] ircbot-Drastical: [email protected]#evennia: then assembles all the resulting data. The default formatters will probably just be traditional and invert but people could also create node formatters like the scroll effect I used as my proof of concept or else do something like putting the text on the left side of some line and the options on the right side.
20-05-26 23:19:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> @xhawk87  Yay!
20-05-26 23:20:57: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> The help command obtains a list of all the commands available to you and presents them to you in headings defined on the class
20-05-26 23:21:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I can't remember how the parser works but I imagine, because the no_match is available to the character, it's capturing the no_match
20-05-26 23:22:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> You could add a line to the help command to remove that value if its present.
20-05-26 23:23:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I wrote that parser up quickly when someone asked for it in the channel. It's pretty hard and fast. How did you find the installation process? Did it gave enough instruction? Any suggestions for it feature wise?
20-05-26 23:28:31: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I had to diff-check it against the default cmdparser in the current version of evennia and try to figure out what's new in evennia and what needs to change to make it IRC-style. luckily I guessed right. there was enough info in the readme's to know how to patch it in, though I don't think I fully understand how it works. I also had to modify the command symbol, which was . instead of /, but that's a minor thing
20-05-27 03:00:42: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] USER posted 'Can't Stop EvMenu' https://groups.google.com/d/msg/evennia/dQvIYF9k3po/MqaT4D4iAQAJ|H
20-05-27 04:40:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] USER posted 'Re: Can't Stop EvMenu' https://groups.google.com/d/msg/evennia/dQvIYF9k3po/iEwJaxooAQAJ|H
20-05-27 08:20:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Griatch Art posted 'Re: Can't Stop EvMenu' https://groups.google.com/d/msg/evennia/dQvIYF9k3po/ukFk48IzAQAJ|H
20-05-27 12:41:00: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> what do the different MU* acryonyms mean?
20-05-27 13:01:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> MU stand for multi player... Otherletters are for different codebases like muck is chat kingdom... Mush is shared hallucination... Mux the x is probably experience...
20-05-27 17:30:42: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] USER posted 'Re: Can't Stop EvMenu' https://groups.google.com/d/msg/evennia/dQvIYF9k3po/ExnOVZNOAQAJ|H
20-05-27 21:49:41: [evennia] ircbot-Drastical: [email protected]#evennia: Hey all, I just switched the site I'm running my evennia code on from http to https and it broke the web socket connection the web client tries to make on the 4002 port (connection reset.) I'm wondering if anyone has run in to this.
20-05-27 21:56:41: [evennia] ircbot-Drastical: [email protected]#evennia: I can update nginx to handle the webclientdata ajax connection, so the page does load, but there's a noticeable pause while that is all happening in the background.
20-05-27 22:06:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Xantara: MU = Multi User
20-05-27 22:06:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Rick: I'm not in a position to help unfortunately and don't immediately know the answer. I'll have to defer to one of our other fine individuals to help out
20-05-27 22:07:34: [evennia] ircbot-Drastical: [email protected]#evennia: No worries. I will keep swinging my head in to it in the meantime. Surprising how often that yields results.
20-05-27 22:12:03: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I have just started working with evennia so I don't know how helpful this will be, but I noticed a section on switching to SSL in the docs and it talks about websockets: https://github.com/evennia/evennia/wiki/Online-Setup#ssl
20-05-27 22:15:13: [evennia] ircbot-Drastical: [email protected]#evennia: Thanks for the info. I have switched the url from ws to wss, which gets rid of one error, but results in another.
20-05-27 23:16:29: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> Rick42, you'll need to change the protocol for the webclient in your settings.py file, from ws:// to wss://
20-05-27 23:17:23: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> if you have a proxy in front, it will also need to support wss
20-05-27 23:20:14: [evennia] ircbot-Drastical: [email protected]#evennia: Hey @friar, I'm not seeing anything in my settings or the default settings for the protocol. I've updated the url in:
20-05-27 23:20:16: [evennia] ircbot-Drastical: [email protected]#evennia: web/template_overrides/webclient/base.html
20-05-27 23:20:57: [evennia] ircbot-Drastical: [email protected]#evennia: That gets rid of the error saying you can't make an unsecured ws connection on https, but now there's a new error, failed: Error in connection establishment: net::ERR_CONNECTION_RESET
20-05-27 23:21:42: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> WEBSOCKET_CLIENT_URL = "wss://external.example.com/ws"
20-05-27 23:22:23: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> The proxy related wiki pages might help:  https://github.com/evennia/evennia/wiki/Apache-Config  and  https://github.com/evennia/evennia/wiki/HAProxy-Config-(Optional)
20-05-27 23:23:17: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> I have to leave for a bit, but that WEBSOCKET_CLIENT_URL is a setting in mygame/server/conf/settings.py
20-05-27 23:25:55: [evennia] ircbot-Drastical: [email protected]#evennia: Got it, checking it out. Thanks @friar
20-05-27 23:50:29: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> So I've added a new command that uses look as it's alias. It works great, which begs the question"How?" since it's not overriding CmdLook and I didn't do anything specific other than adding it to commands and the default cmdset. Is there some sort of alias-based override that is making this work?
20-05-27 23:55:52: [evennia] ircbot-Drastical: [email protected]#evennia: I think I got it with the help from @friar, https://github.com/evennia/evennia/issues/1421 and https://github.com/websockets/ws/issues/979
20-05-27 23:56:12: [evennia] ircbot-Drastical: [email protected]#evennia: The nginx proxy also needed:
20-05-27 23:56:12: [evennia] ircbot-Drastical: [email protected]#evennia: proxy_http_version 1.1;
20-05-27 23:58:12: [evennia] ircbot-Drastical: [email protected]#evennia: Thanks again @friar.
20-05-28 00:10:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] USER posted 'Re: Can't Stop EvMenu' https://groups.google.com/d/msg/evennia/dQvIYF9k3po/MhgjMqhMAQAJ|H
20-05-28 00:13:02: [evennia] ircbot-Drastical: [email protected]#evennia: Although now the websocket seems to close after 1 minute...that doesn't seem right.
20-05-28 08:55:38: [evennia] elixx: You might need to use a "upstream" block with a keepalive, as the target of your proxy_pass directive
20-05-28 09:30:41: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> and don't forget to reverse the polarity of the neutron flow
20-05-28 11:07:06: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> is there a thing for having brief and verbose descriptions of a room?
20-05-28 11:07:29: [evennia] ircbot-Drastical: [email protected]#evennia: <holl0wstar|H> i dont think so out of the box
20-05-28 11:07:32: [evennia] ircbot-Drastical: [email protected]#evennia: <holl0wstar|H> should be quite easy to implement though
20-05-28 11:08:36: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> true
20-05-28 13:51:27: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Considering if I want to rework existing functionality from scratch into a new evennia instance to avoid refactoring out my various hacks to ungoof things that where buggy in the past and now work correctly 🤔
20-05-28 13:58:15: [evennia] ircbot-Drastical: [email protected]#evennia: Looking forward to Saturday for the next attempt at launching the first commercial human spaceflight. Really exciting stuff. :D
20-05-28 14:17:36: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ye I watched the scrubbed one for a bit
20-05-28 14:19:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: Reckon there will be any fundamental changes to evennia around 1.0 release or post 1.0?
20-05-28 14:22:09: [evennia] ircbot-Drastical: [email protected]#evennia: @BP-Santo, there're are always changes and updates. The SessionDB concept will likely happen for 1.0. The Channel system and Scripts will also see refactoring and cleanup.
20-05-28 14:22:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I am trying to figure out what I should not touch for the interim on account of things changing in the future
20-05-28 14:22:41: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Any idea what the time frame is for 1.0? I'm assuming it isn't right around the corner.
20-05-28 14:23:05: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I'd kind of like to get the new EvMenu up and going before 1.0
20-05-28 14:23:28: [evennia] ircbot-Drastical: [email protected]#evennia: Generally, any change will come with instructions on how to migrate to it and what needs to change.
20-05-28 14:23:28: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I think I got it coded up and working last night. I just need to spend some time testing now and redocumenting.
20-05-28 14:23:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> A lot of small fixes I made for my self are no longer necessary so now looking at reimplementing everything on the basis that current evennia dont need some of that spaghetti code. I was about to refactor but so sick of refactoring, I'd rather reimplement I think.
20-05-28 14:24:07: [evennia] ircbot-Drastical: [email protected]#evennia: And no, 1.0 is not anything around the corner. There's a lot to do before that is released.
20-05-28 14:24:32: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> That's what I thought, but since it was being discussed I wanted to be sure.
20-05-28 14:24:58: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I think I'll have an update tonight.
20-05-28 14:25:02: [evennia] ircbot-Drastical: [email protected]#evennia: You can track the progress here: https://github.com/evennia/evennia/projects
20-05-28 14:25:46: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ye I had a looksie but was not sure, trying to get back into writing the mud but need to project manage better
20-05-28 14:26:33: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Trying to figure out how to separate concerns better if that makes sense
20-05-28 14:26:55: [evennia] ircbot-Drastical: [email protected]#evennia: This is always an important aspeect of system design
20-05-28 14:28:18: [evennia] ircbot-Drastical: [email protected]#evennia is working on the new doc infrastructure right now, but it's slow work; you'd think more of these things would work out of the box :/
20-05-28 14:28:43: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ye, you would haha
20-05-28 14:31:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I think I might go with reimplementing my whole project instead of refactoring - I need to make all these helpers and handlers, the old stuff has some of that but for specific objects cause I was prototyping it at the time and then spaghetti code for future functionality... I can't wrap my head around the project anymore and its giving me grief :<
20-05-28 14:32:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Akhenaten|H> How hard will it be to get something going with Evennia without coding experience?
20-05-28 14:33:15: [evennia] ircbot-Drastical: [email protected]#evennia: If you can't understand your own code, that's a good sign that you need to redo things :) Also a good motivator to document everything carefully, allways.
20-05-28 14:33:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Akhenaten|H> A simple hack and slash MUD for example
20-05-28 14:33:33: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I can understand my own code but its just messy cause I am overlading a lot of default evennia stuff per object
20-05-28 14:34:07: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Its documented some of it, but the evennia stuff I am overloading just to add a few things is not redocummented so to speak
20-05-28 14:34:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I need to figure out some better patterns I think
20-05-28 14:34:42: [evennia] ircbot-Drastical: [email protected]#evennia: @Akhenaten: You can get some way by blindly copy tutorials, but you do need to learn some coding to get something really useful. That said, we have quite a lot of people learning Python through Evennia, so it's definitely possible.
20-05-28 14:35:42: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ye, we have a saying apetite increases as you eat over here, so with that extra apetite you need to write better code but can start small and then scope creep will bully you ~:d
20-05-28 16:12:58: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Has anyone ever tried to integrate django-restapi into an evennia install?
20-05-28 16:13:21: [evennia] ircbot-Drastical: [email protected]#evennia: Sure, it's in develop branch.
20-05-28 16:13:31: [evennia] ircbot-Drastical: [email protected]#evennia: Tehom contributed it
20-05-28 16:14:18: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Nice, I'll take a look at that.  I was thinking about trying to use Evennia as a backend for a mobile front end.
20-05-28 17:42:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Would anything go bad if I had a mixing for objects to overload some DefaultObject methods?
20-05-28 17:42:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> *mixin
20-05-28 17:45:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Some of my stuff inherits from say DefaultCharacter while some from DefaultObject for instance but I want to overload a method for both of them by way of a mixin - is this fine to do or there are any gotchas?
20-05-28 18:22:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> mixin seems to work fine - trying to unjank some of this stuff, the inheritance was getting silly (my userland for lack of a better name is custom so some of the things in place to service default commands and objects where getting in the way and I have to overload that away).
20-05-28 19:37:31: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Trying to rebuild my evennia instance on postgresql.  I got the migrate command to work, but createsuperuser gives me this:
20-05-28 19:37:32: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> https://pastebin.com/Wt8LD7JB
20-05-28 19:37:40: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Any idea what I'm missing?
20-05-28 19:41:23: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I suppose I could just do start, and enter it there (duh)
20-05-28 20:50:49: [evennia] ircbot-Drastical: [email protected]#evennia: @DarkSir23: That is due to you importing the evennia API from the root of a class that is imported as the API starts up, notably sandbox/typeclasses/accounts.py it seems like; The evennia.__init__ will initialize with Account=None and populate Account with the right value once all your models and classes have loaded, but in this case one of those very classes tries to access Account immediately.
20-05-28 21:19:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: I know I tend to obsess about it but you reckon there is a chance we will get evennia to somehow multithread within the next 3 years?
20-05-28 21:24:10: [evennia] ircbot-Drastical: [email protected]#evennia: Multithread? What for?
20-05-28 21:24:56: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> computer architecture seems to be moving in that direction, I guess?
20-05-28 21:26:33: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: To not be limited by the single thread for more simulationist games
20-05-28 21:27:16: [evennia] ircbot-Drastical: [email protected]#evennia: Apart from the fact that multithreading will not scale the way you'd expect to in Python, due to how Python's GIL works, true parallel processing is a complex thing to code and work with. If you want parallelism you should use multi-processing.
20-05-28 21:28:56: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Wait... so I could just be using the multi-processing module for any helper functions?
20-05-28 21:29:07: [evennia] ircbot-Drastical: [email protected]#evennia: You can do process offloading already today if you really want to. Actually adding it to the core processing loop is not something really viable though (it will just not give much of a boost)
20-05-28 21:29:31: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> We probably talked about this before but I forgot 😦
20-05-28 21:29:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> so multiprocessing module is what I want?
20-05-28 21:29:39: [evennia] ircbot-Drastical: [email protected]#evennia: You could, but you really need to use the Twisted wrappers so you don't block the core event loop.
20-05-28 21:30:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> What about database calls and such?
20-05-28 21:30:28: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Could I offload something that calls the evennia db?
20-05-28 21:30:42: [evennia] ircbot-Drastical: [email protected]#evennia: They will be prone to race conditions. Updating the database from a remote process will not make that visible in the main event loop due to caching.
20-05-28 21:30:57: [evennia] ircbot-Drastical: [email protected]#evennia: But you could call the db, sure.
20-05-28 21:31:03: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Just for reading 🙂
20-05-28 21:31:15: [evennia] ircbot-Drastical: [email protected]#evennia: Reading is fine
20-05-28 21:32:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> inside the main process I want to build a string > subprocess runs all this spaghetti code parsing for me, reads from the db and returns a string to the main process, main process writes it to db?
20-05-28 21:32:29: [evennia] ircbot-Drastical: [email protected]#evennia: What is it you want to process?
20-05-28 21:32:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Things like return_appearance or display_name
20-05-28 21:32:50: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> As a simple example
20-05-28 21:32:55: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> For me those are pretty complicated
20-05-28 21:33:16: [evennia] ircbot-Drastical: [email protected]#evennia: Sending data across processes will also incur a time penalty, so unless you are doing really heavy processing you will not see an advantage to offload such things to a separate process.
20-05-28 21:34:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeye those will probably not actually go there but hmm right now I have say a lorem ipsum generator I wrote for when there is a lack of description supplied for a room inside a create class function. Thats something that would be nice to offload
20-05-28 21:34:24: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The create process can wait, no rush with that, just what its waiting on should not slow down the rest of the game kinda thing 🙂
20-05-28 21:34:39: [evennia] ircbot-Drastical: [email protected]#evennia: Are you seeing performance issues with these?
20-05-28 21:34:51: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Not yet but its giving me nightmares that I will 😓
20-05-28 21:35:09: [evennia] ircbot-Drastical: [email protected]#evennia: So ignore it until you do. Premature optimization is a bad thing.
20-05-28 21:35:21: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I know but anxiety says NEIN
20-05-28 21:35:30: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> so always wondering about it at the back of my head
20-05-28 21:36:04: [evennia] ircbot-Drastical: [email protected]#evennia: Overcome it. Adding multiprocessing is not something you want to go if you can avoid it.
20-05-28 21:36:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> My typical example is procedural building of places - thats something I would want to offload
20-05-28 21:37:51: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I wanted to make parts of the game build as the first player explores them kinda thing
20-05-28 21:39:59: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that would still ultimately mean that the first player has to wait for that to complete before accessing each new room. does it really make a difference if it is handled asynchronously?
20-05-28 21:40:19: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Only one player has to wait in that case
20-05-28 21:43:59: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Its already assynchronous but somethings are unfortunately pretty heavy like building from a batch file. If there would be a large decision tree for putting together a room description and then more logic for building a network of rooms. All the input data generation could be offloaded and only the population of the db and creation of objects would be done in the main process (which would also be pretty heavy with how long it takes for
20-05-28 21:44:00: [evennia] ircbot-Drastical: [email protected]#evennia: batch files to process).
20-05-28 21:46:14: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> ah, I see. even players doing unrelated things are made to wait if it's handled in the main thread
20-05-28 21:47:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I thought about spawning worker process but the multiprocessing might be better for it, I keep returning to this idea because I don't know how to do it properly so its scallable.
20-05-28 21:52:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: just for my edification - could you please point me in some general direction where I should go to read about how to use the twisted wrappers with the multiprocessing package?
20-05-28 22:10:00: [evennia] ircbot-Drastical: [email protected]#evennia: SE
20-05-28 22:10:12: [evennia] ircbot-Drastical: [email protected]#evennia: https://twistedmatrix.com/documents/current/api/twisted.internet.interfaces.IReactorProcess.spawnProcess.html
20-05-28 22:11:23: [evennia] ircbot-Drastical: [email protected]#evennia: There are also higher-level interfaces like ampoule. I also saw a multiprocessing twisted lib I've not seen before.
20-05-28 22:12:19: [evennia] ircbot-Drastical: [email protected]#evennia: https://pypi.org/project/twisted.internet.processes/  https://github.com/twisted/ampoule
20-05-28 22:17:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Aww so the twisted wrapper are a bit dated and abandoned it seems 🤔
20-05-28 22:20:12: [evennia] ircbot-Drastical: [email protected]#evennia: ampolue will likely be more updated since it's maintained by Twisted project itself
20-05-28 22:35:14: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> thanks, imma try and find some documentation on it 😄
20-05-29 00:02:54: [evennia] ircbot-Drastical: [email protected]#evennia: I know this is a bit off topic, but does anyone here have some experience with nginx? I'm trying to make a reverse proxy that will route all evennia traffic on my site to http://blargtest.com/evennia rather than http://blargtest.com:4001. I can get one page working at a time with separate location blocks, but I should be able to handle all sub
20-05-29 00:02:55: [evennia] ircbot-Drastical: [email protected]#evennia: pages with a single location block in nginx, I think. It's becoming surprisingly frustrating
20-05-29 07:53:47: [evennia] ircbot-Drastical: [email protected]#evennia: Rick42: That should certainly be possible. I've not used nginx enough to immediately know what you do wrong there though.
20-05-29 14:12:36: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Rick42, while this is a work-around since I don't know enough about nginx if you were using a Docker container you could forward port 80 to port 4001.
20-05-29 19:47:26: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> This is why I suggest using haproxy instead of either nginx or apache.  it just works.
20-05-29 20:25:14: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Apache tends to 'just work' for me, but I do recognize that as you dive deeper things can get arcane (the advantage is that you can dive deeper if you need to). I think the bigger issue 'out of the box' is the overhead (because of that ability to deep dive that lots of people won't use/don't need).
20-05-29 20:26:48: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Griatch, are you about?
20-05-29 21:54:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Lach|H> Anyone else experienced the (possible)bug where if two items are held by a character, a command issued that should return a multimatch-message, but instead the command chooses one of the items and goes for it ? For example ... a character holds two books, types in "read", and should see a message "You have these books, please use prefix, blah blah", but instead sees the text for one of the books spew out.
20-05-29 22:20:05: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Sure however I recall making this behaviour default for some objects but not sure if I ever reimplemented it for others. Might be there was some subtle change that broke it.
20-05-29 22:20:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> As in - can't really check cause in my project its not supposed to list all the choice anyway for a lot of objects
20-05-29 23:33:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @Lach I had a look and I think it has to do with doing searches with the keyword argument quiet set to true. If you dint change anything maybe the default for that keyword argument was set to true upstream 🙂
20-05-29 23:54:29: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @Lach Yeah did some more testing and for me if I dont set that explicitly I still get the multiple result prompt so its still how it used to be. You should still be able to access multiple results with the 1-<result>, 2-<result> pattern even if it does not echo to you there are multiple results.
20-05-30 00:20:14: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: Is there any benefit to using run_async (except for code clarity etc.) now that we have the @interactive decorator? Would run_async be lighter to use for small things that require no player input?
20-05-30 00:42:23: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> @Lach, that's a tricky case because it is only a 'bug' for a given value of 'bug' most likely. All character commands are created using a method that I can only think of as describing as 'semi-soft coded'. They are python routines that tend to rely fairly heavily on evennia methods and functions. As a result one command, such as 'look' might not handle multimatch properly while another, like 'wear' does.  In that case there certainly
20-05-30 00:42:23: [evennia] ircbot-Drastical: [email protected]#evennia: is a bug in the look command and yes, the look command is part of the default evennia setup, but it isn't a bug in 'evennia's core'.
20-05-30 00:49:28: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> One hack I've experimented with to get some level of multiprocessing is to create a special "developer/admin" level account with special commandsets, then have an external webservice that uses websocket to connect to the game, the server can feed it information via event/periodic msg()s and it can respond by running commands.
20-05-30 00:50:46: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> That worked pretty well for my non-PyTorch based AI experiments.
20-05-30 00:52:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> yeah I considered doing that for chatter bots type stuff
20-05-30 00:58:01: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Would be nicer to implement it more directly though - probably will end up implementing something more robust for ai in general. Even if the main process of evennia can handle it I generally think it makes sense to separate concerns of ai and other such process away from the base game. There are ways to simulate complex behaviour with simple logic but with the kinda hardware that is affordable nowadays it opens avenues to having more
20-05-30 00:58:02: [evennia] ircbot-Drastical: [email protected]#evennia: complex logic, giant decision trees etc.
20-05-30 01:38:10: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> Yep, with all the latest AI tools, it is an interesting time to be building games.
20-05-30 02:50:19: [evennia] ircbot-Drastical: [email protected]#evennia: Griatch, @friar, thanks for responding to my query yesterday, I was not online to see your responses. Responding using haproxy instead of nginx, the problem is I'm using the site for multiple things, not just evennia. Other areas are already up and running using nginx, and I have full control over the urls. I'm trying to avoid completely rewriting
20-05-30 02:50:19: [evennia] ircbot-Drastical: [email protected]#evennia: the default evennia url stuff. It really seems like this problem should be too difficult. All evidence to the contrary though.
20-05-30 02:50:46: [evennia] ircbot-Drastical: [email protected]#evennia: *should not*
20-05-30 03:57:04: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I've update the code so that formatters are string based . T[210 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r432807358|H)
20-05-30 04:04:24: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I've changed 'optionsformat' to simply be part of the 'optio[480 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r432807797|H)
20-05-30 04:09:03: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I went ahead and added a ``header`` element. This is too use[109 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r432808058|H)
20-05-30 04:09:33: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I think I have addressed all of the issues you elaborated on[...]|H (https://github.com/evennia/evennia/pull/2141#discussion_r432808080|H)
20-05-30 14:29:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> If I'm looking up a character by name, what's the best and most efficient way of doing that?
20-05-30 14:29:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Like, for a command +distant-poke bob?
20-05-30 16:08:24: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> tunes in to the SpaceX pre-launch coverage.
20-05-30 16:09:05: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> probably Characters.search.all( filter with bob's name )
20-05-30 16:09:50: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> @BleysRex note, that is a guide/guess, I can't remember the exact syntax/function names.
20-05-30 16:16:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Yeah.  If that's the way to grab it, I can look up the syntax.  I was having trouble with it, I recall, because the .filter ..... I can't remember why.  .filter(key__exact=name) maybe.
20-05-30 16:16:54: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> There's a page command that would probably have some good code to use.
20-05-30 16:17:42: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> nods  I assure you that at least, I have failed before arriving here.  I think that if I change the Account stuff on page to Character stuff, that's a good start.
20-05-30 16:28:27: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Urrrgh.  return Character.search(name) isn't seeming nice about this.  Maybe that.first()
20-05-30 16:29:27: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Hmm.  Possibly I need an instance of the character to be searching.
20-05-30 16:30:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> https://github.com/evennia/evennia/wiki/Tutorial-Searching-For-Objects
20-05-30 16:30:19: [evennia] ircbot-Drastical: Disc[email protected]#evennia: <BleysRex|H> This is a tab I already have open.
20-05-30 16:30:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I can search through all objects, and have been doing that, but it doesn't seem likely that's the best way.
20-05-30 16:31:17: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And I can't see an example which drills down to 'find this character' which is odd, as it's a thing that must happen.  So I'm assuming there is an efficient way.
20-05-30 16:31:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Then allow me to be now specific
20-05-30 16:31:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> https://github.com/evennia/evennia/blob/master/evennia/utils/search.py#L67
20-05-30 16:31:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> You want to use the key argument and the typeclass argument
20-05-30 16:32:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> nods
20-05-30 16:36:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> It seems that what I want is return search_object(ostring=name, typeclass=Character).first() .  So now I am going to go check I'm giving it the correct input.
20-05-30 16:38:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Indeed, there was an error at the keyboard end...
20-05-30 16:38:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Thank you.
20-05-30 16:38:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I have now dealt with my own errors and got to the useful, helpful errors that gave me.
20-05-30 16:39:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> So yay.
20-05-30 16:39:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> return search_object(name, typeclass=Character) # WOoooot.
20-05-30 16:39:57: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Thanks for your help.  I just could not pick that out from the page on searching.  I was munging things.
20-05-30 16:40:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> The tutorials only get you some of the way. The code documentation is very complete
20-05-30 16:41:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Just dive straight to them. You seem far enough along to be comfortable to read dicstrings and code
20-05-30 16:41:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> nod  It's generally in the docs that I find things, but for some reason, this one eluded me.  Lack of caffeine error.
20-05-30 16:42:17: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I think much more in django, so I'm used to filters, and I keep on trying to filter at the wrong time, I reckon.  That would explain a lot of my problems.
20-05-30 16:42:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Ah yes. I'm starting to falter under that as well
20-05-30 16:42:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> The caffeine. Not the django!
20-05-30 16:43:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Django is lovely.  Caffeine, however, is looking at me in disappointment.
20-05-30 16:43:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What's your intentions with our young and naive code base?
20-05-30 16:43:42: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> A MUSH based on a broken world set in the remains of what was once Roger Zelazny's Amber.
20-05-30 16:44:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> We open to alpha on Monday.  Me looking for efficient ways of doing things mostly means that I've done a lot of screaming lately, and things are starting to work.
20-05-30 16:44:19: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And thus, we need people to stamp on the bits that don't yet.
20-05-30 16:44:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Sounds like you're pretty far along!
20-05-30 16:45:14: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> We've got three people who can all debug python by getting it wrong then looking at the line number, some described areas, and a set of rules.
20-05-30 16:45:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Which if you can translated that means yes, pretty far along.  I need to do some data entry for the sheets, and I've done some things sideways and deep fried, but it sorks.
20-05-30 16:46:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And once we have an alpha, we'll know what to do for the beta.
20-05-30 16:46:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Well I might pop my head in sometime. Now it's sleep time though
20-05-30 16:46:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Catch you later
20-05-30 16:46:48: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> You'd be very welcome.  Thank you again, and goodnight!
20-05-30 16:51:54: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I'm not sure I would just rely on .first(). I would probably check and see if I am returning more than 1 result and if so I would then see if I can somehow parse out the correct one (giving first priority for exact matches over partial matches and then if there is still a conflict trying to do some sort of account-based search).
20-05-30 19:02:55: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> T - 20 minutes, and lookin good.
20-05-30 19:07:48: [evennia] ircbot-Drastical: [email protected]#evennia: [issues]|H strikaco opened|H issue #2143|H in evennia|H: [BUG] utils.validate_email_address cleanups/redundancies|H (https://github.com/evennia/evennia/issues/2143|H)
20-05-30 19:13:51: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H strikaco commented on issue #2126|H ([BUG] spawn/list with many prototypes blocks or hangs server[23 more]|H) in evennia|H: > surely grabbing the value of a single attribute could be b[498 more]|H (https://github.com/evennia/evennia/issues/2126#issuecomment-636372490|H)
20-05-30 19:36:30: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> Congrats SpaceX
20-05-30 19:47:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Did it launch?
20-05-30 19:48:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> I meant to watch but got totally distracted by work
20-05-30 22:19:46: [evennia] ircbot-Drastical: [email protected]#evennia: <David Estrada|H> It was awesome
20-05-31 01:27:03: [evennia] ircbot-Drastical: [email protected]#evennia: <ironcross|H> It did, no problems, weather was a bit sketchy but cleared in time.
20-05-31 01:56:18: [evennia] ircbot-Drastical: [email protected]#evennia: [issues]|H strikaco opened|H issue #2144|H in evennia|H: [Feature Request] attr lockfuncs for ndb attributes|H (https://github.com/evennia/evennia/issues/2144|H)
20-05-31 13:17:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Hattiehats|H> Staring at my old code like fuck Wish I didn't take time off lol
20-05-31 13:23:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I hate that feeling
20-05-31 16:46:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Start over from scratch! I've done that like 5 times now <.<
20-05-31 16:56:29: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> Sounds like a problem with code readability. If you take the time to learn and use best practices you save yourself a lot of time later
20-05-31 18:05:22: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I wanted to start from scratch but it ammounted to everything being the same so I just got a new repo going and copied 90% of stuff over 😆
20-05-31 18:05:33: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Turns out old shit was still good
20-05-31 18:06:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I just needed to take stock of it for brain to kick into gear
20-05-31 18:07:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @xhawk87 Evennia has some design patterns though that you have to follow so unless those make sense to you on a deeper level its always going to be a bit of a jump whenever getting back to your code.
20-05-31 18:11:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Some of us are self-taught hobbyists who learned Python specifically to work with Evennia, so the 'Evennia design patterns' are all we know.
20-05-31 18:13:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> I think my issue is the sheer amount of work that you have to do in order to turn Evennia into a viable game. The sheer number of systems and such makes it easy to lose your way.
20-05-31 18:16:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> The more you code, the more you end up having to go back to add features and such to things that you thought were finished. Then you look at your old code and go "damn that works but it's ugly! let me rip it all out and start over".
20-05-31 18:17:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> I think I am on my fourth re-write of Chargen
20-05-31 18:31:31: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> @Darren That I can believe. I observed the same in the Bukkit community for Minecraft, people learning Java just for plugin development and have no idea about how to structure things. There is nothing wrong with wanting to improve your code after having learned more, though for the sake of efficiency I try to resist doing that until it's really necessary
20-05-31 18:53:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> At this point I am 100% certain that I will never produce an actual game, but I still enjoy the learning process, and tinkering with Python in general.
20-05-31 21:34:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> That's no way to think! You've just set the bar too high. Some Mushs as just chat rooms. Run vanilla devious and you have an actual game! You can do anything as long as you drop your standards :)
20-05-31 21:36:21: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I've upped my standards! Now, up yours!
20-05-31 21:36:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> If you're rewriting chargen perhaps you're either looking for perfection in your code have a lack of planning
20-05-31 21:37:07: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> very much agree. I think there's only a couple of things I need to do to consider it a playable game, if not as fully-featured as I'd like
20-05-31 21:37:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Coding without a plan is totally fine but obviously involves rewrites
20-05-31 21:37:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Minimum viable product
20-05-31 21:37:43: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> true, up to a point. no plan survives first contact with the players
20-05-31 21:45:11: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that's why I prefer agile development for games. you're better able to take advantage of serendipity. you can't know everything that would be an awesome part of a game beforehand, and going through iterations quickly gives lots of opportunities for new, interesting, unexpected things to come up, and lots of opportunities for playtesting and feedback
20-05-31 23:28:05: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> Hey all, new to Evennia and I'm working through the Building Quickstart but i'm having an issue with the name command. create box and name box = very large box works fine but name box = very large box;box;very;crate results in Command 'box' is not available. for every ; separated word after the first.
20-05-31 23:30:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Interesting everything after the first ; is supposed to be treated as an alias
20-05-31 23:30:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Do you ahve something else named box in the room
20-05-31 23:31:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Oh I know what it is...
20-05-31 23:31:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> you're following it in sequence... So 'box' doesn't work
20-05-31 23:31:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> you changed it from box to 'very large box' so you need to use name very large box = (whatever)
20-05-31 23:32:25: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> create box = very large box;box;very;crate You create a new Object: box. Command 'box' is not available. Maybe you meant "boot"? Command 'very' is not available. Maybe you meant "server"? Command 'crate' is not available. Maybe you meant "create", "charcreate" or "ccreate"?
20-05-31 23:32:45: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> I deleted all objects in my inventory and the room and ran the first line and got this output.
20-05-31 23:33:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> what command are you trying to execute?
20-05-31 23:34:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> You need to do something to the object like get (pick it up and put it in your inventory) unless it's got a typeclass or script that does something
20-05-31 23:34:43: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> create box = very large box;box;very;crate The syntax is straight out of the wiki
20-05-31 23:36:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> which page?
20-05-31 23:36:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Oh did you try the next command 'drop box'
20-05-31 23:37:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Wait you're mixing two commands...
20-05-31 23:37:31: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> yeah I just realized that.
20-05-31 23:37:47: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> but create box;trunk;container doesn't work either.
20-05-31 23:37:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> np that's what we're here for
20-05-31 23:39:10: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> Basic objects can be anything -- swords, flowers and non-player characters. They are created using the create command:  create box  This created a new 'box' (of the default object type) in your inventory. Use the command inventory (or i) to see it. Now, 'box' is a rather short name, let's rename it and tack on a few aliases.  name box = very large box;box;very;crate
20-05-31 23:39:27: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> That is the part from the Building Quickstart page ont he wiki that I'm following.
20-05-31 23:39:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Ok so you do 'create box'
20-05-31 23:40:05: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> It goes on to say that you can use ; in the create command too that's why I was using that as an example. But these commands don't work either.
20-05-31 23:40:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> that makes a box in your inventory... now you rename it using name box=blah... everything after the first ; is treated as an alias
20-05-31 23:40:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> you can use it in the create command
20-05-31 23:40:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> but it would be 'create very large box;box;very;crate'
20-05-31 23:41:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> the name command needs a target and an argument which is why theres an = in teh command... name <thing to get its name changed>=<name it's getting changed to>
20-05-31 23:41:38: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> So that's my question: name box = very large box;box;very;crate results in the following error:  Object's name changed to 'very large box'. Command 'box' is not available. Maybe you meant "boot"? Command 'very' is not available. Maybe you meant "server"? Command 'crate' is not available. Maybe you meant "create", "charcreate" or "ccreate"?
20-05-31 23:42:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Is this on the superuser account?
20-05-31 23:43:39: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> It is. But i've tried it quelled and unquelled and get the same error.
20-05-31 23:43:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> You're using a semicolon right ; not a colon :
20-05-31 23:44:01: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> The only change i've made to the installation is generating the tutorial quest. But I am currently in Limbo, not the tutorial.
20-05-31 23:44:57: [evennia] ircbot-Drastical: Disco[email protected]#evennia: <GrandpaPantz|H> yes, I even copied the line into the terminal straight from the wiki
20-05-31 23:45:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Something weird is going on
20-05-31 23:45:22: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> I wonder if TinTin++ is parsing ;'s in some weird way?
20-05-31 23:45:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Maybe
20-05-31 23:45:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> LOL it could be thinking ; is a command seperator I'm using MUSHClient
20-05-31 23:45:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Ok... you use the web interface?
20-05-31 23:45:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> try the same command from it
20-05-31 23:46:21: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> That's what i'm trying right now. One sec, gotta open ports.
20-05-31 23:49:30: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> Ok yeah, it works fine in the web client. So my client is getting in the way 😦
20-05-31 23:49:40: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> Thank you for the help.
20-05-31 23:50:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Yeha every client has some quirks... looks like that one has a catastropic failure
20-05-31 23:55:49: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> No, I just probably should have learned how to use it first. It's got a built in scripting language. ; separates commands and sends them one at a time to the server.
20-05-31 23:56:23: [evennia] ircbot-Drastical: [email protected]#evennia: <GrandpaPantz|H> You can escape them though so no big deal now that I've figured it out haha.
20-06-01 00:02:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What a pesky little thing! Could have caused so much confusion
20-06-01 00:02:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Good catch xan!
20-06-01 01:44:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Hattiehats|H> To be honest, my code blindness is usually due to my ADD. I’ll be working on my design doc again I think!
20-06-01 05:10:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Gordon Rios posted 'Re: [Evennia] Help on IP / port settings' https://groups.google.com/d/msg/evennia/m46R2g1jwVE/W2vT_oSlAQAJ|H
20-06-01 05:10:44: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] jsills3110 posted 'Ticker Handler - Unexpected behavior when updating existing rooms' https://groups.google.com/d/msg/evennia/KxNZKB9VtUM/TFyY0oSlAQAJ|H
20-06-01 05:10:45: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Ankesh posted 'Prompts (After Receiving Data from Server)' https://groups.google.com/d/msg/evennia/v3MlyLwi16w/C4Nkx4SlAQAJ|H
20-06-01 05:10:46: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Jason Cline posted 'Re: Can't Stop EvMenu' https://groups.google.com/d/msg/evennia/dQvIYF9k3po/4Zg974SlAQAJ|H
20-06-01 05:10:47: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Gordon Rios posted 'Running in Docker' https://groups.google.com/d/msg/evennia/oLWfqSPctuY/T8UN4YSlAQAJ|H
20-06-01 05:10:48: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Ankesh posted 'Cannot Figure out how to Encrypt WebServer - Help!' https://groups.google.com/d/msg/evennia/BMwV1110PPg/jT1Ys4SlAQAJ|H
20-06-01 05:10:49: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Evan Sampson posted 'Re: Can't Stop EvMenu' https://groups.google.com/d/msg/evennia/dQvIYF9k3po/btKKGIWlAQAJ|H
20-06-01 06:20:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Griatch Art posted 'Re: Passing by to say hello' https://groups.google.com/d/msg/evennia/7dyUqSijSNo/PtudGBObAgAJ|H
20-06-01 06:20:44: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Griatch Art posted 'Re: Prompts (After Receiving Data from Server)' https://groups.google.com/d/msg/evennia/v3MlyLwi16w/kmiFDC6bAgAJ|H
20-06-01 06:40:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Griatch Art posted 'Re: Ticker Handler - Unexpected behavior when updating existing rooms' https://groups.google.com/d/msg/evennia/KxNZKB9VtUM/EwtsUCycAgAJ|H
20-06-01 10:03:28: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> @DarkSir23 Did you manage to get anywhere with the Discord bot for evennia, btw?
20-06-01 11:45:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> Yeah mushclient has a feature speedwalk where you separate a bunch of commands with ; and it executes them rapid fire style.
20-06-01 11:59:43: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I haven’t yet, sorry. I need to talk to grist how about some fundamental questions
20-06-01 16:17:37: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> catching up on conversation from yesterday.. regarding code becoming difficult to grok and maintain, i thought it timely to share an article that has really helped me think explicitly about coding practices for long-term, large projects that contain large amounts of code: https://caseymuratori.com/blog_0015
20-06-01 16:19:50: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> the article is written by the programmer of The Witness, and in it he discusses philosophy and technique for incorporating regular, semantically-focused refactoring into your development process. i find this to be a critical discipline for the development of complex and dense projects
20-06-01 16:20:10: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> interesting
20-06-01 16:32:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Considering just deploying Evennia to Heroku.
20-06-01 16:32:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> I've been compiling a docker image and deploying it to Fargate, but might be a bit overkill.
20-06-01 16:36:11: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> it's easy to get bogged down in overthinking featuresets of various deployment methods. almost always the right answer is to go with what you are already comfortable and familiar with, unless one of your project goals is explicitly to learn something new
20-06-01 16:38:13: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> i would definitely label myself as a "docker evangelist", i run a large scale corporate enterprise entirely in docker using nomad rather than k8s because i prefer the featureset. but i will still tell you that if "learn to use docker and various strategies that take advantage of it" isn't part of your project goals here, just deploy the thing however makes you feel like you can with comfort
20-06-01 16:46:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> JetBrains Academy is going to a pay model. Huh.
20-06-01 16:48:16: [evennia] ircbot-Drastical: DiscordBot@#evennia: <MagnumOpus|H> Huh. That limited time deal looks pretty decent.
20-06-01 16:55:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> I'm already pretty handy with docker, mostly thinking cost and ease of use at this point.
20-06-01 16:57:53: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> 👍 I've never used Heroku so for me that'd increase my work/learning. I plan to just deploy a small AWS hosts using terraform/docker compose because that's what I do with singleton systems outside of a cluster.
20-06-01 17:00:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Side note, is there a big reason why we wouldn't want to deploy evennia using wsgi?
20-06-01 18:46:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> What is the behaviour of SIGINT on Evennia when ran with evennia start -l?
20-06-01 18:49:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> (SIGTERM, even)
20-06-01 21:26:19: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> @MagnumOpus That was certainly a good account of how to efficiently clean up old code, however it didn't really talk much about designing new systems from scratch aside from the criticism levelled at OO in the beginning. I mean sure, you shouldn't overly-complicate your structures, but not thinking about it at all and throwing down script-like code when you already know you're going to have to duplicate it is also going to be
20-06-01 21:26:20: [evennia] ircbot-Drastical: [email protected]#evennia: inefficient. I think a middle-ground between no planning and over-planning is what's needed when creating something new
20-06-01 21:31:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> I've got a bit of unexpected behaviour where the container running evennia gets stuck in a 'waiting for it to die' state.
20-06-01 21:32:26: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @xhawk87 He certainly engages in some hyperbole. I would say the useful discrete lessons that I most agree with are: 1) coding is about details and starting with a design praxis that leaves out details has predictably questionable results and is a dubious use of your time 2) code is a procedural domain and objects should almost always exist solely for the purpose of efficiently grouping re-useable procedures with their data
20-06-01 21:33:06: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @Omega what is your CMD / ENTRYPOINT?
20-06-01 21:33:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> A bash script what is #!/bin/bash evennia migrate evennia start -l
20-06-01 21:35:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> It also takes about 7 minutes for evennia to start, but I think that might mostly be down to Fargate.
20-06-01 21:35:29: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> So whatever you run as your CMD / ENTRYPOINT becomes pid 1 in your system. If it doesn't exit, docker doesn't know to reap the container
20-06-01 21:35:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> evennia should respect a SIGTERM though, surely?
20-06-01 21:36:02: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> evennia, but that's not pid 1
20-06-01 21:36:04: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> bash is
20-06-01 21:36:20: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> There's lots of good discussion on this issue. Google docker pid 1 bash or such
20-06-01 21:36:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> And evennia is a subprocess of pid 1.
20-06-01 21:37:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Ah I see.
20-06-01 21:37:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Temptation to have a separate container that runs evennia migrate.
20-06-01 21:38:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> It took about 5 mins after the new container started for Fargate to destroy the old one.
20-06-01 21:39:41: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Hmm. I have not used Fargate, and these cloud container black box systems definitely can have some cruft around up/down times but that sounds excessive
20-06-01 21:40:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> There might be some optimisations I can make.
20-06-01 21:40:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> But, having migrations happen in a separate container to what runs the game might be a good idea.
20-06-01 21:41:08: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Might be. I am not there yet with my own work so I can't be sure.
20-06-01 21:41:51: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Re: your original issue, bash scripts are fine just generally pass exec to your final app call to make sure it will correctly receive signals
20-06-01 21:42:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Ah, right.
20-06-01 21:43:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> I think I'd be better off having evennia as my entrypoint, tho.
20-06-01 21:43:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Xantara|H> I try and do my development locally on a RPi at least I know someone's bad configuration isn't screwing up my setup
20-06-01 21:44:28: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Yeah if you can avoid using scripts then that's the best route
20-06-02 00:51:00: [evennia] ircbot-Drastical: [email protected]#evennia: Wow. I think I've finally got enough base stuff in place to actually start creating a dungeon.
20-06-02 01:20:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Any dragons to go in there?
20-06-02 01:27:03: [evennia] ircbot-Drastical: [email protected]#evennia: That's a good idea. Maybe after my players level up a bit.
20-06-02 02:23:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What about at the beginning, before the player can even hurt it and all the dragon does is ask you politely to stop
20-06-02 02:34:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> dragons everywhere
20-06-02 03:00:42: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] James Homuth posted 'Suppressing "Could not find $target" from caller.search(self.target)?' https://groups.google.com/d/msg/evennia/HjlCwPnY6n0/PuMdGyDtAQAJ|H
20-06-02 03:10:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Zude Onim posted 'Re: [Evennia] Suppressing "Could not find $target" from caller.search(self.target)?' https://groups.google.com/d/msg/evennia/HjlCwPnY6n0/v9-7hcrtAQAJ|H
20-06-02 04:21:46: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I've got to get out of my head and back into coding.
20-06-02 04:22:13: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> How so?
20-06-02 04:31:22: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Too much going on in the world.  I've had a serious drain of motivation.
20-06-02 04:57:03: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Yeah. It can seem a bit much to write code.
20-06-02 07:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Griatch Art posted 'Re: Suppressing "Could not find $target" from caller.search(self.target)?' https://groups.google.com/d/msg/evennia/HjlCwPnY6n0/nzabi33tAgAJ|H
20-06-02 08:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] James Homuth posted 'RE: [Evennia] Re: Suppressing "Could not find $target" from caller.search(self.target)?' https://groups.google.com/d/msg/evennia/HjlCwPnY6n0/h-gpfkb_AQAJ|H
20-06-02 08:50:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Griatch Art posted 'Re: [Evennia] Re: Suppressing "Could not find $target" from caller.search(self.target)?' https://groups.google.com/d/msg/evennia/HjlCwPnY6n0/Lna8ar7xAgAJ|H
20-06-02 09:10:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] James Homuth posted 'RE: [Evennia] Re: Suppressing "Could not find $target" from caller.search(self.target)?' https://groups.google.com/d/msg/evennia/HjlCwPnY6n0/YXzXl2sBAgAJ|H
20-06-02 16:45:09: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @Griatch I want to thank you for contrib/rpsystem, the heavy lifting you've done with parsing sdesc and recog solves a lot of problems in the features I'm working on.
20-06-02 19:39:16: [evennia] ircbot-Drastical: [email protected]#evennia: @MagnumOpus: Glad to hear it!
20-06-02 19:39:35: [evennia] ircbot-Drastical: [email protected]#evennia: Phew, been a busy few days.
20-06-02 19:48:18: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Yeah. Haven't seen you around much.
20-06-02 19:48:26: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Everything good?
20-06-02 19:49:11: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, just a lot of RL stuff. Today was my birthday too, so that had me occupied a bit. :)
20-06-02 19:51:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Woo. 🥳
20-06-02 19:58:34: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Hey. Happy Birthday.🎂
20-06-02 19:59:02: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Happy B-day Griatch.
20-06-02 20:05:24: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Happy B-day!
20-06-02 20:12:47: [evennia] ircbot-Drastical: [email protected]#evennia: Thanks :) Had a dinner with friends - everyone at appropriate social-distancing distance from each other ;)
20-06-02 20:14:12: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Not to be a noodge but so I can be sure I'm not screwing anything up, is there anything else you need from me for my PR, @Griatch?
20-06-02 20:14:31: [evennia] ircbot-Drastical: [email protected]#evennia: Don't know, haven't had time to look at it, sorry.
20-06-02 20:15:02: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> It's fine. I just wanted to be sure it wasn't anything like I needed to do something so you would know it was ready for another look.
20-06-02 20:15:26: [evennia] ircbot-Drastical: [email protected]#evennia: Thanks, I'll try to review as soon as I can :)
20-06-02 20:17:52: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I didn't want there to be a problem because I didn't know to do something (e.g. maybe I was suppose to close all the conversations and you would then get a notice saying they were all closed before you looked at things and you would re-open them as necessary).
20-06-02 20:20:05: [evennia] ircbot-Drastical: [email protected]#evennia: Evennia is small enough that I can usually keep track of things; but overall, there won't be a clear notification that things in a review has been fixed unless a review is re-requested. It can also be a good idea to make a comment in the PR to mention when code is ready too (not needed in this case, but in general)
20-06-02 20:22:04: [evennia] ircbot-Drastical: [email protected]#evennia: @The Sands: First time doing a PR?
20-06-02 20:23:43: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> For Evennia. Other groups may have slightly different protocols for letting people know when changes have been applied and the code is ready to be re-reviewed.
20-06-02 20:25:30: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I was pretty sure I wasn't missing anything, but I'd have felt like an idiot if it sat there for three weeks because I didn't add a 'ready for review' message or something.
20-06-02 20:26:59: [evennia] ircbot-Drastical: [email protected]#evennia: We are not that strict here :) But yeah, if you are unsure, add a new comment to make it clear to me that the latest changes are expected to cover all previous requests-for-change (sometimes people keep adding to the PR over multiple commits and it's hard to tell when they are actually ready for a re-review).
20-06-02 20:43:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Happy another year lived Griatch!
20-06-02 21:06:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> What, it’s Griatch Day?
20-06-02 21:15:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yee, the celebrations have already begun:
20-06-02 21:15:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> https://cdn.discordapp.com/attachments/246323978879107073/717486622110646362/iu.png
20-06-02 21:16:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I hope that image translates to irc cause otherwise my joke makes no sense
20-06-02 21:29:16: [evennia] ircbot-Drastical: [email protected]#evennia: Thanks! @BP-Santo, the image translates but not sure I get it anyway ... :D
20-06-02 21:36:41: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Is Evennia compatible with Python 3.8?
20-06-02 21:37:42: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I've been using 3.7.4 but 3.8 supports reversing dicts, which I have found useful a few times and I'm doing mapping = dict(reversed(list(mapping.items()))) when I'd prefer a cleaner  mapping = dict(reversed(mapping.items()))
20-06-02 21:39:41: [evennia] ircbot-Drastical: [email protected]#evennia: @MagnumOpus: https://travis-ci.org/github/evennia/evennia
20-06-02 21:40:15: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: thats lifeday from the much maligned star wars holiday special, just re thenomains Griatch Day  c:
20-06-02 21:40:22: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Oh man. Looks like it's time I learn to grok Travis. I'm sure I have some storage space left upstairs for yet another CI tool
20-06-02 21:40:34: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Thanks!
20-06-02 21:41:15: [evennia] ircbot-Drastical: [email protected]#evennia: @BP-Santo: Oooh. Don't think I've managed to look through the holiday special, it's painful.
20-06-02 21:41:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I never watched, just bits of it, its special in so many ways
20-06-02 21:42:02: [evennia] ircbot-Drastical: [email protected]#evennia: @MagnumOpus: I experimented with setting up github actions some time back; have it mostly working but couldn't get mysql testing to collaborate.
20-06-02 21:42:37: [evennia] ircbot-Drastical: [email protected]#evennia: But Github Actions seems a little faster than Travis; and it's of course also even more integrated since it's a part of github.
20-06-02 21:43:07: [evennia] ircbot-Drastical: [email protected]#evennia: Travis has served us well for years though, so we'll see.
20-06-02 21:49:26: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I'm sure it's fine. I do a lot of DevOps stuff professionally so I've had the opportunity to work on a lot of different CI tools; Travis is just one I have by happenstance not touched before.
20-06-02 21:50:51: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I can tolerate anything except Jenkins ;p
20-06-02 21:52:31: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> GH Actions is interesting. It was in beta when I started converting all of our heavy lifting jobs to a Drone-based paradigm, so I have not really looked too deeply into it.
20-06-02 21:52:45: [evennia] ircbot-Drastical: [email protected]#evennia: Don't think I've used Jenkins. Use CircleCI professionally.
20-06-02 21:53:30: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Wow that's a lucky break for you. Jenkins is the most widespread groan-inducing topic I have encountered.
20-06-02 22:10:19: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I've added a new Attribute to my Room Typeclass. I need to run at_object_creation()  again to pick it up I understand, is there some magic that will prevent blowing away the Attribute values set or will I end up with a blank room as I expect?
20-06-02 22:13:12: [evennia] ircbot-Drastical: [email protected]#evennia: If you re-run the at_object_creation, it will run it to completion, including any Attribute-setting happening inside it.
20-06-02 22:14:08: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> That's what I figured.
20-06-02 22:14:31: [evennia] ircbot-Drastical: [email protected]#evennia: If not do anything beyond what that method does though, so if you added Attributes elsewhere, those will remain (there is the @type command that lets you reset everything should that be needed)
20-06-02 22:15:28: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Are there any suggested techniques for rebuilding objects on a Typeclass update?
20-06-02 22:15:46: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I'm just working with test stuff right now but I could see doing common Typeclass updates in a production situation
20-06-02 22:15:56: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Would have to have to completely rebuild the grid
20-06-02 22:16:58: [evennia] ircbot-Drastical: [email protected]#evennia: If you are changing code, you just need to reload. If you are adding new Attributes etc (database stuff) you need to update your pre-created objects to get those, since the at_object_creation will not be re-run automatically (this could be destructive to have done automatically anyway).
20-06-02 22:18:10: [evennia] ircbot-Drastical: [email protected]#evennia: If you use prototypes through the OLC, the prototype mechanism has an update function to update existing objects (because the system will tag all objects with the prototype used to create them, and can find and update them that way).
20-06-02 22:19:01: [evennia] ircbot-Drastical: [email protected]#evennia: It's nothing magic about this though; there is a reason why we suggest you plan and develop on small data sets and don't build and add features later.
20-06-02 22:21:33: [evennia] ircbot-Drastical: [email protected]#evennia: Now, looping over and updating objects is oftenmost a one-time thing you can do and then forget about. But it's still extra work that would be best kept at a minimum.
20-06-02 22:24:17: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Ahh. So if I want to be regularly-updating the game once it's live I should look into creating everything with Prototypes?
20-06-02 22:25:16: [evennia] ircbot-Drastical: [email protected]#evennia: It's a matter of taste and organization. Prototypes fill a different organization level than Typeclasses.
20-06-02 22:25:46: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Yeah, I'm looking at the API now. I'm not sure it's even feasible to do that..
20-06-02 22:26:06: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Is there a way to manually add new Attributes to Typeclassed objects?
20-06-02 22:26:24: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I had an impression the interactive decorator was using run_async but I looked at the code it was not 🤔
20-06-02 22:26:28: [evennia] ircbot-Drastical: [email protected]#evennia: A prototype always has a Typeclass; it's a way to individualize objects of the same Typeclass without creating a new Typeclass for every instance.
20-06-02 22:28:07: [evennia] ircbot-Drastical: [email protected]#evennia: No, @interactive is a wrapper around a Twisted deferLater and the EvMenu.get_input helper.
20-06-02 22:28:24: [evennia] ircbot-Drastical: [email protected]#evennia: It's very light-weight.
20-06-02 22:28:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So when using the interactive decorator, its not usefull for decoupling a sluggish thing like with run_async?
20-06-02 22:30:00: [evennia] ircbot-Drastical: [email protected]#evennia: Nor is run_async. Threads does not work this way.
20-06-02 22:30:05: [evennia] ircbot-Drastical: [email protected]#evennia: In Python.
20-06-02 22:30:22: [evennia] ircbot-Drastical: Disco[email protected]#evennia: <BP-Santo|H> ye, but was hoping run_async could maybe be usefull in some fashion where it would wait for some cpu time?
20-06-02 22:31:24: [evennia] ircbot-Drastical: [email protected]#evennia: If the thing you are running is CPU-bound, threading will not help you in Python due to the GIL. Threading can be useful for I/O-limited operations (but Twisted is already good at this)
20-06-02 22:32:56: [evennia] ircbot-Drastical: [email protected]#evennia: The original implementation (which I think is still referenced in the docstring of run_async sadly enough) was to have it wrap ProcPool, for offloading to a process worker pool. This was a mess and was removed.
20-06-02 22:33:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ohh I get it now, was reading the docs and got reminded of run_async
20-06-02 22:33:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> You know I am hot for that offloading to a process worker pool :0
20-06-02 22:34:19: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> If we are iterating over all the player objects then some nested iteration per object, any benefit to using run_async for that given that the output can be returned at any time and is in no rush?
20-06-02 22:34:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Would it be any improvement over what twisted does already?
20-06-02 22:35:04: [evennia] ircbot-Drastical: [email protected]#evennia: No.
20-06-02 22:35:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> bah
20-06-02 22:35:54: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Is there any concept of nice in twisted or possible in evennia?
20-06-02 22:36:07: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Where you can mark something to be nicer and give way to more important stuff?
20-06-02 22:36:36: [evennia] ircbot-Drastical: [email protected]#evennia: If it offloaded to a process pool then yes, it would be running in parallel so would not affect the main process (but if it'd be actually faster with the context switching and sending of data would depend heavily on what is processed).
20-06-02 22:37:45: [evennia] ircbot-Drastical: [email protected]#evennia: Asynchronous operation is not at all like parallel operation. You are running everything in the stack in exactly the same order as it should be run. There are no race conditions and no place for 'nice' or similar.
20-06-02 22:38:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> No method to swap order around right?
20-06-02 22:39:03: [evennia] ircbot-Drastical: [email protected]#evennia: It's not how async works. If you started to swap order you'd quickly be in a world of pain.
20-06-02 22:39:27: [evennia] ircbot-Drastical: [email protected]#evennia: It's in fact one of the great advantages of async over parallel.
20-06-02 22:41:24: [evennia] ircbot-Drastical: [email protected]#evennia: As said, if you think you have data packages that are so heavy that they should not be processed in the main thread, your best bet is to use a process pool of some kind. I implemented ampoule back in the day, but the intent at the time was to see if it would speed up Evennia itself. It really, really did not, and we also had other issues with it, hence why it was removed.
20-06-02 22:42:31: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I had this simple thing implemented for a while where a lot of stuff in my complicated look logic (I have complicated stuff for returning display names) where it would buffer however I needed to keep in mind that whatever I implement, it would handle that buffer flag so that player can actually see a world that changed. Reckon there is something in evennia that I could hook into instead for such buffers? Signals maybe?
20-06-02 22:44:24: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I am doing this kinda stuff cause drained off energy to do any creative stuff, so trying to fix things up a bit and figure out how to structure things like this sorta cache for look for instance.
20-06-02 22:45:15: [evennia] ircbot-Drastical: [email protected]#evennia: You are looking to cache changed state? Yes, signals would be one way to invalidate cache.
20-06-02 22:45:27: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> What I had worked fine but was unmaintainable for the future - things that would alter a room would flip a boolean and then on next look the buffer string would get remade.
20-06-02 22:45:54: [evennia] ircbot-Drastical: [email protected]#evennia: How heavy is the operation that you buffer? What does it do?
20-06-02 22:46:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ohh its not super bad yet, it formats a colorfull, highly dependant name for things including prefixes, making things plural, calling it sets, showing condition of item and other stuff like that.
20-06-02 22:46:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I made it so its only as heavy for each pass as it needs to be
20-06-02 22:47:11: [evennia] ircbot-Drastical: [email protected]#evennia: Sounds like a good way to go
20-06-02 22:47:29: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The look itself is derpy cause I dont form my own search querries just use the evennias methods for it only multiple times
20-06-02 22:47:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So thats something to change into actual db querries
20-06-02 22:48:16: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, that'd be an easy optimization. But is it noticeably slow? Is this something you really need to spend mind-power on right now?
20-06-02 22:48:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> For cache my problem was that say each player command would invalidate cache, say the drop command or get command. A better pattern would be the room itself being aware maybe a command was run in it hence I thought of signals
20-06-02 22:48:36: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I had some slowness at one point that I dint know what it was about 😦
20-06-02 22:49:10: [evennia] ircbot-Drastical: [email protected]#evennia: Maybe it's best to be sure just where the slowness comes from so you don't spend time optimizing that which you don't need to optimize?
20-06-02 22:49:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I will profile with a test batch world and evennias runner thingie to simulate N players doing N things eventually
20-06-02 22:50:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah, I could not narrow it down - now that I am more comfortable with python I want to write some unit tests and some automation for evennia to run with a batch code test area.
20-06-02 22:51:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> attach the cprofiler on evennia and get graphs etc. - its just slow time comming c:
20-06-02 22:52:10: [evennia] ircbot-Drastical: [email protected]#evennia: Probably less time consuming than potentially trying to optimize the wrong thing and seeing no effect.
20-06-02 22:52:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I am generally obsessed about scallable python - if I understood amp well that is what I would pursue trying to add something to evennia :0
20-06-02 22:53:18: [evennia] ircbot-Drastical: [email protected]#evennia: AMP?
20-06-02 22:53:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> yeah to network between amp sockets, that ampule thing you linked etc.
20-06-02 22:53:50: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Eventually I will descend into madness where I will have to figure that out
20-06-02 22:55:16: [evennia] ircbot-Drastical: [email protected]#evennia: Ah, ampoule. Well, a limited 'send job to process-pool over ampoule, do stuff with the return' may be more feasible to add than trying to integrate it more deeply. It's not something I'll be spending time on any time soon though :)
20-06-02 22:55:40: [evennia] ircbot-Drastical: [email protected]#evennia: But if you are interested in trying, a PR may be interesting.
20-06-02 22:56:00: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I dont have the work ethic yet to do a pr but I do want to eventually ;0
20-06-02 22:56:50: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Keep studying more but everything I study points to the simple solution being better anyway - that cache thing is a good candidate for applying some clever design pattern I thought though
20-06-02 22:59:46: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I think what I want to do is probably use the monitor handler?
20-06-02 23:01:04: [evennia] ircbot-Drastical: [email protected]#evennia: The monitor handler monitors Attribute changes; it's mainly used by OOB but it could be used for other things, yes.
20-06-02 23:04:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah, imma go for that to rework my prompt
20-06-02 23:04:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Right now prompt function just runs everytime a command is issued to update prompt
20-06-02 23:05:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Once I figure out ampule and put something decent together Ill try to turn it into a pr for sure
20-06-02 23:20:39: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> So I have an Attribute that is behaving oddly. It points to an object that appears to be working mostly correct in that: - I get no errors when interacting with it - I can call it's methods - I can see a valid reference in the Admin panel for the parent object But it appears none of the attributes that are set by those methods are saving
20-06-02 23:21:34: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I can call the methods that should be returning some data based on the object, but they return empty sets (as they would if the object contained none of it's attributes queried by the method)
20-06-02 23:22:00: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It's a pickleable object (networkx.DiGraph)
20-06-02 23:35:08: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> It's so weird because if I add some debug statements to the methods that add the "missing" data, I can see them output correctly so the object appears to be working correctly under the hood. But for whatever reason it's like what I'm hitting through Evennia is a bare version of the instance from it's instantiation
20-06-02 23:38:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Is it a typical evennia object? Inheritting from an evennia object?
20-06-02 23:39:07: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Not an Evennia object, no.
20-06-02 23:39:19: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> The documentation led me to believe it could be any pickleable object
20-06-02 23:43:54: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Not sure, just makes me think it might be related to us not using  __init__ by convention and relying on the .db handler. Maybe the answer is in the default object or the .db handler?
20-06-03 00:00:48: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> That's a good call. I'll read into the handler. Cheers.
20-06-03 00:23:38: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Looks like I'm running into the issue described here: https://github.com/evennia/evennia/issues/1389
20-06-03 01:15:05: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Weird.. So I switched up the update call for the Attribute: prox = self.db.prox         prox.update(child, pose, parent)         print(prox.poses())         self.db.prox = prox and now it looks like the pickling is causing problems: networkx.exception.NetworkXError: Edge tuple ('__packed_dbobj__', ('objects', 'objectdb'), '2020:05:17-00:35:54:784257', 1) must be a 2-tuple or 3-tuple.
20-06-03 01:16:56: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I think I may have to stick a handler on top of this and keep the node/edge data in the Room :(
20-06-03 02:17:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Hmm - whats the best idea to check if an object still exists to avoid django.core.exceptions.ObjectDoesNotExist being raised when attempting to call .delete() on a object that has already been deleted? In my case I am deleting all objects in DEBUG portion of batchfiles and doing other operations.
20-06-03 02:18:55: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> But deleting rooms clears out exits so in my for loop for deleting objects I could check if object still exists, just not sure if there is a method for it already on default objects.
20-06-03 02:30:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I'm going to just import that django exception and ignore it I suppose
20-06-03 07:28:37: [evennia] ircbot-Drastical: [email protected]#evennia: BP-Santo: You can check if obj.pk is not None.
20-06-03 07:29:22: [evennia] ircbot-Drastical: [email protected]#evennia: For a more targeted exception you can also use ModelClass.ObjectDoesNotExist, such as ObjectDB.ObjectDoesNotExist etc.
20-06-03 13:02:51: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Oh so django.core.exceptions.ObjectDoesNotExistis same as ObjectDB.ObjectDoesNotExist?
20-06-03 13:03:15: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I am catching the exception and doing some logic so its kinda weird to be doing it that way but I suppose its fine 🙂
20-06-03 13:03:54: [evennia] ircbot-Drastical: [email protected]#evennia: <cxcxdxtrx|H> Fghijklmnopqrstuvwxyz
20-06-03 13:04:17: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I am counting up objects deleted explicitly and implicitly this way.
20-06-03 13:04:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I just thought of something, are uhh... exception classnames shadowing each other :0
20-06-03 13:04:51: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> And ObjectDB one is overloading the django.core one?
20-06-03 13:10:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I was working on some prototyping for the batchcode thing for my building needs and I think what I need to do is reimplement batchcode processor specifically as a separate building system to flatten it all out a bit and make these abstraction layers be a single one rather than this stack that is forming slowly.
20-06-03 16:08:53: [evennia] ircbot-Drastical: [email protected]#evennia: @BP-Santo: I think the django exceptions just become more specific.
20-06-03 16:09:36: [evennia] ircbot-Drastical: [email protected]#evennia: So ObjectDB.ObjectDoesNotExist will trigger on a failed ObjectDB but not if a ScriptDB was missing. Supposedly the core django one would catch everything.
20-06-03 16:10:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> gotcha - better to do obj.pk or depend on exceptions? The exception stuff works nice for me but I dunno if its stinky cause I am causing all these exceptions and then handling them
20-06-03 16:10:13: [evennia] ircbot-Drastical: [email protected]#evennia: Not sure what you mean by flattening the batchcode processor; what do you want it to do?
20-06-03 16:10:24: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I am abstracting away building in code
20-06-03 16:10:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So have various cleanup and storage of various information so that patches can be issued to already run batchcode
20-06-03 16:11:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> But even after having classmethods to cleanup that code I still want to abstract it further away so I then thought why not start with what batchcode does and implement that directly in there 🙂
20-06-03 16:11:28: [evennia] ircbot-Drastical: [email protected]#evennia: When I've done personal projects in Evennia I've always built in code, but I've never had any need to do patches.
20-06-03 16:11:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> My idea is I build an area, I can version control this but if in the future I need to alter that area I will issue a patch so to speak
20-06-03 16:12:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> In an automated way as much as possible too, so I will keep storage in the database of some data per each building run that happened so it can be pulled back out and used to alter the correct objects
20-06-03 16:13:05: [evennia] ircbot-Drastical: [email protected]#evennia: As for exceptions versus obj.pk, it doesn't matter much. Generally, tracebacks are cheaper than a property-access if they don't fire. If they fire they are probably slightly more expensive. So use tracebacks if you don't expect them to fire rarely. But honestly, it's not a big difference. Write the code that is easy to read.
20-06-03 16:13:49: [evennia] ircbot-Drastical: [email protected]#evennia: The batchcode system uses #CODE blocks for this; they can be re-run individually and has re-run properties.
20-06-03 16:14:17: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> yeye just this thing would not delete objects, it would be purely to stack alterations on top 🙂
20-06-03 16:14:28: [evennia] ircbot-Drastical: [email protected]#evennia: The only real reason for using #CODE blocks is really for being able to re-run subsections of the file (something a normal Python module does not allow you to do)
20-06-03 16:19:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Anyone else having issues with github today?
20-06-03 16:19:50: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> seems to load for me
20-06-03 16:20:15: [evennia] ircbot-Drastical: [email protected]#evennia: No github issues for me today
20-06-03 16:21:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> I'm getting 3 KiB/s transfer rates 😦 https://imgur.com/a/9d7sSyv
20-06-03 16:26:43: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I am sorta excited now for this building system 😄
20-06-03 16:26:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Its not necessary but it will be pretty c:
20-06-03 16:31:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Weird. My own repos download just fine but the evennia repo seems to be stuck at 3 KiB/s
20-06-03 16:31:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Guess I picked the wrong day to rebuild my VPS
20-06-03 16:56:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Oh there we go. It finally cleared up
20-06-03 17:13:08: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> If I have an evennia game that's up on github, and I want to make a local copy to work on, what's the best way?  Should I make the initial migration then git clone over the top of that file?  What do I need to look out for?
20-06-03 17:19:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> No need to migrate anything. Set up Evennia on the local machine, then clone your git repo, and fire it up
20-06-03 17:19:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Oh you might have to migrate if you don't have your evennia.db3 in the repo
20-06-03 17:20:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Mine's set to private so I include everything
20-06-03 17:22:17: [evennia] ircbot-Drastical: [email protected]#evennia: Generally, never include your database in git. That way lies madness.
20-06-03 17:26:56: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H: [edited]: Attributes|H (https://github.com/evennia/evennia/wiki/Attributes|H)
20-06-03 17:29:34: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H: [edited]: Attributes|H (https://github.com/evennia/evennia/wiki/Attributes|H)
20-06-03 17:35:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Yeah I know
20-06-03 17:50:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I can copy the db3.
20-06-03 18:01:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> You could also just tar.gz your mygame folder and copy it over, and skip git altogether
20-06-03 18:30:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> More than one person on the team.  That way, madness lies.
20-06-03 18:30:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> But I copied the DB from the alpha setup, and it was easy.  Thank you for de-fearing that.
20-06-03 20:30:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Entiere|H> Good Afternoon
20-06-03 20:31:28: [evennia] ircbot-Drastical: [email protected]#evennia: Good evening
20-06-03 20:33:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Entiere|H> I have a install question using the PIP command and its not using Python 3.7.5?  Was wondering if there is a easy fix.  I have Python 3.7.5 installed
20-06-03 20:33:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Pipenv might help honestly
20-06-03 20:33:55: [evennia] ircbot-Drastical: [email protected]#evennia: Most likely your OS is not using py3.7 by default
20-06-03 20:34:26: [evennia] ircbot-Drastical: [email protected]#evennia: So just set up your virtualenv to use py3.7. The GettingStarted instruction tells you how; `virtualenv -p /path/to/python3.7 evenv`.
20-06-03 20:34:52: [evennia] ircbot-Drastical: [email protected]#evennia: Then when you have your virtualenv active you'll be using py3.7 in that terminal.
20-06-03 20:35:38: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H:
20-06-03 20:35:39: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Coding-Utils|H (Coding Utils) (https://github.com/evennia/evennia/wiki/Coding-Utils|H)
20-06-03 20:35:40: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Custom-Protocols|H (Custom Protocols) (https://github.com/evennia/evennia/wiki/Custom-Protocols|H)
20-06-03 20:35:41: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [[] more] ...
20-06-03 20:35:42: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Directory-Overview|H (Directory Overview) (https://github.com/evennia/evennia/wiki/Directory-Overview|H)
20-06-03 20:35:43: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Docs-refactoring|H (Docs refactoring) (https://github.com/evennia/evennia/wiki/Docs-refactoring|H)
20-06-03 21:03:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Entiere|H> Thanks was using quick start, forgot about Install.
20-06-03 23:36:53: [evennia] ircbot-Drastical: [email protected]#evennia: [issues]|H BP-Santo opened|H issue #2145|H in evennia|H: [BUG] Python 2 syntax and potentially deprecated code in batchprocess.py|H (https://github.com/evennia/evennia/issues/2145|H)
20-06-04 02:25:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Legion|H> So, would hosting from something like a raspberry pi be of any issue? I have a Pi 4B, and was thinking about using it for development and hosting the early alpha, beta and first few months of launch. I don't expect to have anymore than about 20 or so players at any given time.
20-06-04 02:26:33: [evennia] ircbot-Drastical: [email protected]#evennia: <holl0wstar|H> should prolly be ok
20-06-04 02:27:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Legion|H> I don't personally see any reason why it wouldn't work, just wondering if anyone was already using Pi for something similar and has came across any issues with it.
20-06-04 02:30:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> It works fine
20-06-04 02:30:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Many have done it
20-06-04 02:31:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Darren|H> Hardest part for me was the lack of Python 3.8 for Raspbian but I just grabbed the source and compiled it myself
20-06-04 03:33:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> This build system I envisioned is kicking my ass, been stealing from batch code to make one version of it (that relies on exec like batchcode) and I think I might be on an ok track but its spaghetti code ^3
20-06-04 03:33:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I might have to explore an alternative one that relies on json files
20-06-04 03:34:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Everything relies on a script object storing historical data of what was done, if someone would axe that the whole system would fall apart 😦
20-06-04 03:34:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Brittle spaghetti code 😬
20-06-04 03:38:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I think I might be doing it right in abstract though, it should remove anything it made if there is a traceback in the batch file, going to also make it lock a given batchfile from being run more than once if there is data from it already in the history etc. - just spaghetti... such spaghetti I have never envisioned to put together and its going to get even more spagoot...
20-06-04 04:40:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> What are you trying to do without using the word spaghetti?
20-06-04 04:56:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Batch build the world basically but in a way that lets you roll back a given file, issue a patch to a file and expanding the abstraction layer in the future for it
20-06-04 04:57:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> https://cdn.discordapp.com/attachments/246323978879107073/717965183745523742/iu.png
20-06-04 05:03:00: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I have 3 approaches I was exploring at the same time: 1. batch build files being functions that get called 2. being raw code that gets run using exec like in batch code processor 3. batch files being json files that get thrown at a parser
20-06-04 05:05:30: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> No. 1 makes most sense to me in terms of not being brittle but I dont know how to handle importing all these modules and then being able to iterate over them and pick through them sensibly
20-06-04 05:06:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Hm. I think all of this could be done with normal batchcode. If you expect/want an area of your world which will always look a particular way you could have a dictionary/json which the world refers to and updates when there's a change
20-06-04 05:07:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Otherwise, set up your batch codes so that they have an "area script" which keeps track of all the objects. When you want to delete that area you just call the delete function on that script
20-06-04 05:07:28: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah my current implementation relies on a script for storing data in the db
20-06-04 05:07:51: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> That part is not fully implemented but its simple to do, I was hacking at redoing the whole system so i can expand on it and make it its own thing
20-06-04 05:09:29: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I really want to do no. 1 though I think for maintainability. What I don't know how to do though is have something that can take an input (say a python path) and import a module based on that input and run a function from that module.
20-06-04 05:10:14: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> so function is always called the same, just no idea how to import dynamically where I can do <mymodule>.Function()
20-06-04 05:11:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So like a lazy import I suppose, I bet there is just the right trick for it by python 3.8.3 - all the stack exchange stuff I managed to find is very old and people are accesing the importlib and such. Here as part of executing some logic per usually the wish would be to simply be able to import at that moment and run a thing from it, grab the return and continue on 🙂
20-06-04 05:15:00: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Reckon I should just use importlib.import_module or there is something more clever?
20-06-04 08:37:36: [evennia] ircbot-Drastical: [email protected]#evennia: Evennia has all this solved for you, @BP-Santo. Look in the evennia.utils.utils, there are a truckload of importers there.
20-06-04 09:40:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] spencer McGhin posted 'Message Returned to NPC - How to view message returned to tutorial npc?' https://groups.google.com/d/msg/evennia/geW8klIcHDY/34uH1c79AwAJ|H
20-06-04 11:15:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Hey Griatch, saw you're using GitHub Sponsors? How you finding it/how'd you get it set up?
20-06-04 11:28:29: [evennia] ircbot-Drastical: [email protected]#evennia: Not actually using it, just using external links
20-06-04 11:45:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Ahh.
20-06-04 11:45:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Oh, does it just need a FUNDING file in the repo?
20-06-04 11:49:33: [evennia] ircbot-Drastical: [email protected]#evennia: It needs .github/FUNDING.yml
20-06-04 11:49:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Aha, yup.
20-06-04 11:50:01: [evennia] ircbot-Drastical: [email protected]#evennia: If you want to set up github sponsors you need more stuff, like give them a bank account and stuff.
20-06-04 11:51:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Yeah, just read that.
20-06-04 11:51:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Omega|H> Which is a maybe for later. But I'm using my personal bank account to pay for hosting right now.
20-06-04 15:18:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Preciousring|H> Hello, i have an issue in Character typeclass. The characters are created via a web character generator. With the "at_obj_creation" function, i want to add or update attributes. (The code: https://pastebin.com/sjamA9hM) When i create a gnome, i have a height of 0 but it isn't what i want. And the update of attributes doesn't work either. Thanks in advance for your help.
20-06-04 15:43:14: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> So, the at_obj_creation function is only ever run once as an automatic thing.
20-06-04 15:44:31: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> Which means that when you first submit the web character, it runs, but every time you do some modification of the web character it will skip that function entirely.
20-06-04 15:45:32: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> you'll want to have your web page tied to a different function that can update attributes as needed.
20-06-04 16:27:21: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: Yeah after doing a thing based on exec() I started implementing a custom class with __entry__ and __exit__ that I think will be much more sane for this. I always dig around evennia to steal some nom nom code ideas but must've missed the utils importing bits, had a thing sorta in my head for the paths but gonna hit the utils I suppose and hunt for some scrumptious imports :0
20-06-04 16:28:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> With the import I was just worried I will do something odd where Ill end up with 150 imported modules and because of something django or twisted it wont get garbage collected but the class approach vs. the exec seems to be much clearer for me. It just results in an indent for the child class per patchfile/build file kinda thing but thats not a big deal, ide makes this not a chore.
20-06-04 16:58:24: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Anyone know off the top of their head at what step a moving objects is added to a room's contents? Docstring has this to say: 1. `self.at_before_move(destination)` (if this returns False, move is aborted)              2. `source_location.at_object_leave(self, destination)`              3. `self.announce_move_from(destination)`              4. (move happens here)              5. `self.announce_move_to(source_location)`              6.
20-06-04 16:58:25: [evennia] ircbot-Drastical: [email protected]#evennia: `destination.at_object_receive(self, source_location)`              7. `self.at_after_move(source_location)`  But I didn't see anything explicitly added to the room's contents in any instance of those methods. I am assuming then it might be somewhere in the undefined 4. (move happens here) step.
20-06-04 17:04:08: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Not of the top of the dome but yeah just location changes
20-06-04 17:05:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Preciousring|H> Thanks @friar . I'll do what i did first, create or update the attributes when the player submit the form.
20-06-04 17:07:12: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @MagnumOpus Have a look at move_to() method for default objects, in my code I just use that to move objects around, thats probably what constitutes steps 3-5 cause it takes a flag for doing it quietly that method.
20-06-04 17:07:59: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> That's actually where I pulled that step list from
20-06-04 17:09:03: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> My eyes probably are sliding over what I'm looking for. We live next to a farm and they were out all night going over the fields with equipment so I got basically no rest >.<
20-06-04 17:10:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Uhh ohh... I need to run some errands and get mah dumplings cause yeah just woke up after falling asleep in my clothes basically 😅
20-06-04 17:11:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> But Ill have a browse too, I am sure its just a change of location
20-06-04 17:11:21: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> All the other are just hooks for flavour
20-06-04 17:12:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ye its this bit: # Perform move         try:             self.location = destination         except Exception as err:             logerr(errtxt % "location change", err)             return False
20-06-04 17:13:52: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Hmm.. I was expecting there was a point where an object moving into a room was explicitly added to Room.contents
20-06-04 17:14:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> room.contents is just a helper thingie I think
20-06-04 17:14:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> it just spits out all objects that has that object as its location
20-06-04 17:14:21: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Ah hmmm. Okay I need to dig deeper then.
20-06-04 17:14:46: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> If that's how it works then what I'm trying to do might be easier than I thought.
20-06-04 17:14:48: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Any typeclassed from the default object, object can be inside any other object, its just location off the top of the dome
20-06-04 17:15:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Soo you can go into a backpack if you want 😄
20-06-04 17:15:21: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Just kinda how the look just shows you the description of a room and room contents is just part of return_appearance
20-06-04 17:16:03: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So you could look at a backpack and have it be an actual room, things looking differently is purely in return_appearance / look command
20-06-04 17:16:09: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Yeah that's where I'm working in; adding some stuff to return_appearance
20-06-04 17:16:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> These various hooks are to expand things mostly, you could check locks in there and such.
20-06-04 17:17:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Then commands that result in moving call some of those moving related hooks themselves and some are called by the move_to looking at my old code
20-06-04 17:17:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Dint get a chance to look at it since last year
20-06-04 17:17:55: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Yup. By default all of those hooks just pass, which is where I was getting confused.
20-06-04 17:18:06: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Didn't realize the contents was generated from reading location
20-06-04 17:18:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> pretty sure thats all there is 🙂
20-06-04 17:18:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> But I dint get to mess with that, I just object.contents and poof it be good
20-06-04 17:18:59: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> You could add something to those hooks so that object will triger something on the room they are moving into for instance
20-06-04 17:19:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> vs. checking contents etc.
20-06-04 17:19:12: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I'll dig into that handler. I am writing a handler type for this anyway so it'll be a good example to get some ideas from
20-06-04 17:19:59: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Thanks for the help!
20-06-04 17:26:19: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> Oh wow, .contents is a django helper. Didn't realize how deeply tied into it this all was. Interesting.
20-06-04 22:25:44: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> @BP-Santo Got my code working thanks to your help. Still a few formatting bugs to work out and I now know I need to rewrite some pieces of the sdesc/recog contrib to fit my paradigm, but I was able to get my graph-based prox system integrated with evennia by using a handler and saving a portion of the prox data on the Character and inferring the rest from location contents.
20-06-04 22:37:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> nice nice 😄
20-06-04 22:37:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Imma hacking away at prototyping how I want this builder thing to work
20-06-04 22:48:43: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> I'm interested in your project. It inspires me to want to work on something to contrib! I've made some speculative notes about utilities for managing the grid and I think something like what you're working on would be a necessary piece of that puzzle.
20-06-04 23:32:33: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Its nothing special, it was supposed to be more fancy but its going to be very simple
20-06-04 23:32:48: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I am just recording everything that is built and if tracebacks happen delete anything that was built up to that point
20-06-04 23:33:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I just want to make it more fancey in the future so had to figure out something that I can expand on 🙂
20-06-04 23:33:28: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Idea is that you can do builder <path.to.python.file> and rollback what was built too
20-06-04 23:33:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> And issue patches to built up areas that will be able to pull references to the correct objects
20-06-04 23:35:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Mostly figuring out how to make it all readable and maintainable for a human, the functionality is simple but the various things I tried just look bad. Going to take me a long while to be able to finish it cause a lot of things it is supposed to be for are not yet implemented, soon ™️
20-06-04 23:42:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> For now its just a class I have yet to even test with some magic methods and helper methods that a buildfile can subclass from and overload the method to implement the code for actual building. My object typeclasses have .create classmethods meaning each objects is self assembling for lack of a better term. Build history is going to be stored on just a global script for now I think.
20-06-05 00:48:13: [evennia] ircbot-Drastical: [email protected]#evennia: <MagnumOpus|H> "Just". Sounds really cool.
20-06-05 03:51:23: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Does anyone know if there is a way to use CommandTest to send a command to a menu? I can use it to start a menu, but I would like to choose one of the options next.
20-06-05 07:21:53: [evennia] ircbot-Drastical: [email protected]#evennia: Menus have their own unit test framework, in evennia/utils/tests/test_evmenu.py, it will step through the entire menu, firing every option where it can. It will not give complex commands out of the box though, that'd need to be customized for every menu test.
20-06-05 07:22:27: [evennia] ircbot-Drastical: [email protected]#evennia: But inheriting from the TestEvMenu class could be a good start for building an EvMenu unit test.
20-06-05 07:42:10: [evennia] ircbot-Drastical: [email protected]#evennia: But generally, evmenu.goto is what is called by the EvMenu cmdset in order to start the processing of an option.
20-06-05 08:09:19: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I found the imports Griatch 😄
20-06-05 08:09:31: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I just tested my class and ... the basic work :0
20-06-05 08:09:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> *basics
20-06-05 08:10:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> oop goes brrrrrr
20-06-05 11:44:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> Idea: a "Monster Hunter" style game where you join a team to hunt and take down monsters for loot, but with a couple twists.  Instead of having random evil beasts, some of the monsters are actually harmless, majestic creatures. Some of the Monster Hunters are shady individuals. When you finish off a monster, if there's 5 surviving members of your party, you split the loot 5 ways. If 4 members survive, it's a 4-way split.
20-06-05 11:44:14: [evennia] ircbot-Drastical: [email protected]#evennia: If 1 member survives because he killed the other 4 members when he saw openings but still managed to kill the monster too without dying himself, he keeps all of the loot.  The game would be gear-heavy, class/build relevant and perma-death, so don't want to backstab your team mates lightly because you actually need to finish off the monster, otherwise you will die too and upon dying you lose all of your gear and loot. If no one survives an encounter,
20-06-05 11:44:14: [evennia] ircbot-Drastical: [email protected]#evennia: all characters and gear that went into that encounter are lost.
20-06-05 11:48:20: [evennia] ircbot-Drastical: [email protected]#evennia: What stops, say the guy with the most HP just killing all their companions for their spoils _after_ the monster is beat and everyone but them are in a bad shape?
20-06-05 12:06:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> hmmm, good question
20-06-05 12:07:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> for one, people might gang up on him but it could be an issue
20-06-05 12:08:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> I think a lot of people would fall back if they're losing a lot of health, try to get someone else to draw the monster's attention.  And you could sort of feel people out from that kind of behavior.  But there'd be a lot of features needed to account for all the things that could happen
20-06-05 12:09:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> One feature I considered was a healer class and they get bonus damage the more they've healed you in a fight.  So the "tank" or tanks and the healer need each other but one doesn't have a strict advantage over the other in theory
20-06-05 13:44:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> so guys, can you suggest a good evennia tutorial for a standard tick-based combat system?
20-06-05 13:44:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> or a code resource etc
20-06-05 13:49:57: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> For this type of game, I'm imagining there'd be "combat rooms" with a tick timer associated with that room.  Whenever it ticks, players and monsters in that room do their thing.
20-06-05 14:05:07: [evennia] ircbot-Drastical: [email protected]#evennia: Tick-based combat is quite simplistic; I don't think there is a specific tutorial for it.
20-06-05 14:05:34: [evennia] ircbot-Drastical: [email protected]#evennia: The TutorialWorld demo does have a tick-based mob though, which could be useful to check out.
20-06-05 14:06:00: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Yeah. I know about test_evmenu, but as you said, that automatically tries to step through the entire menu. I want to try and go through one at a time with more control.  I'll try evmenu.goto.
20-06-05 14:06:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> OK I'll look into that.  Do you think that using the ticker_handler and subscribing based upon if someone is in a room would work? It's been awhile since I actually made anything with evennia...
20-06-05 14:08:29: [evennia] ircbot-Drastical: [email protected]#evennia: The TickerHandler is designed for quickly starting/stopping/swapping tickers so yes that sounds like a good bet.
20-06-05 14:15:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> cool 🙂
20-06-05 14:19:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> I'm loving this game concept, practically writes itself, should be easy to code but still potentially interesting if I can get the intrigue going
20-06-05 21:42:11: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H Zironic commented on issue #2053|H ([BUG] Corrupt log locks server) in evennia|H: It's not a matter of raising a keyerror, it's a matter of ca[197 more]|H (https://github.com/evennia/evennia/issues/2053#issuecomment-639837452|H)
20-06-05 21:44:37: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H Griatch commented on issue #2053|H ([BUG] Corrupt log locks server) in evennia|H: @Zironic Do you have an example? (https://github.com/evennia/evennia/issues/2053#issuecomment-639838683|H)
20-06-06 02:29:19: [evennia] ircbot-Drastical: [email protected]#evennia: Hey all, I know I've asked about this before, but I'm about at wits end. I'm trying to configure my evennia installation with nginx so I can serve up all pages with on location block. The only way I've been able to get it working so far is with a separate location for every page (/webclient, /admin, /objects, etc). Here is my .conf file, can anyone
20-06-06 02:29:19: [evennia] ircbot-Drastical: [email protected]#evennia: point out what I need to do to consolidate these location blocks?
20-06-06 02:29:20: [evennia] ircbot-Drastical: [email protected]#evennia: https://pastebin.com/9DeyW5DS
20-06-06 02:38:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Sorry no idea, not an ngnix user - those proxy blocks look odd though compared to what I saw people usually have. Maybe what you want is to have separate location blocks per port but pointing at / other than that no idea.
20-06-06 02:38:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> so not listening on port 80 and pointing at various ports but also listening on various ports?
20-06-06 02:42:45: [evennia] ircbot-Drastical: [email protected]#evennia: Thanks for the response @BP-Santo. The problem is I want all requests to come through port 80, to avoid having the port in the url (unless I'm misunderstanding something basic, which is very possible.)
20-06-06 02:47:21: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I had a look at it again but no idea sorry, syntax looks just kinda odd, you have location / but then location = /... kinda thing
20-06-06 02:47:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ngnix from what I saw with other people having issues will say syntax is good but not actually work right often
20-06-06 02:48:40: [evennia] ircbot-Drastical: [email protected]#evennia: Fair enough. I'm trying to avoid redoing it all with apache, but maybe that's unavoidable.
20-06-06 02:49:05: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I would hit a forum with ngnix users, someone who uses it everyday would be able to grok the syntax
20-06-06 02:49:57: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H raypat forked evennia|H https://github.com/raypat/evennia|H
20-06-06 02:50:12: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Been trying to figure out something that stumped me aswell and that zapped my brain
20-06-06 02:50:30: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I implemented my complex thing and that works fine but then noticed another problem with merged commandsets 😦
20-06-06 02:50:37: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Been trying to figure it out for 2 hours now ;_;
20-06-06 02:50:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Checked everything
20-06-06 02:51:36: [evennia] ircbot-Drastical: [email protected]#evennia: Yeah, I've been running my head into this on and off for about two weeks. I threw it up on stack overflow, but will try an nginx forum as well. Thanks for taking a look.
20-06-06 02:53:15: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Good luck - I bet its just syntax.
20-06-06 02:54:34: [evennia] ircbot-Drastical: [email protected]#evennia: I wish the actual documentation were more helpful. Or perhaps just easier to search.
20-06-06 02:55:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> My wierd thing though: If there are two exits up of same name (in my case they also have same aliases u), my admin character can do 1-u or 1-up and 2-u or 2-up and correctly use the correct command to go to the correct room. However my test player character cannot do that, they can still look at both exits (and rooms on the other side) using my custom look command but they only have a single up command merged onto their stack when I
20-06-06 02:55:20: [evennia] ircbot-Drastical: [email protected]#evennia: examine them and always end up using the same up exit regardless of doing 1-up, 2up etc.
20-06-06 02:56:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So admin actually does have two up commands merged onto their stacks and gets a multimatch situation, player character does no get multiple up commands merged. To even get this far I had to read so much code my head is going to explode ;_;
20-06-06 03:49:10: [evennia] ircbot-Drastical: [email protected]#evennia: Ha! I finally got one location that captures all other than the main page (instead of just the main page and no others.) I can live with two location blocks for everything.
20-06-06 03:51:24: [evennia] ircbot-Drastical: [email protected]#evennia: Chalk one up for ignorant perserverance.
20-06-06 03:57:00: [evennia] ircbot-Drastical: [email protected]#evennia: [issues]|H BP-Santo opened|H issue #2146|H in evennia|H: [BUG] Exit commandset command duplicates do not merge properly for non superuser|H (https://github.com/evennia/evennia/issues/2146|H)
20-06-06 03:57:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Rick42: Nice, good job 🙂
20-06-06 03:58:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I implemented a lot of my builder and it all works and looks nice it seems, tests well and then this merging command set thing bit me and I lost hours on it... going to go cry into a banana at this point
20-06-06 03:58:40: [evennia] ircbot-Drastical: [email protected]#evennia: I guarantee a banana split will help.
20-06-06 03:59:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> If only, no icecream at casa del bp-santo
20-06-06 03:59:31: [evennia] ircbot-Drastical: [email protected]#evennia: Damn coronavirus to hell!
20-06-06 04:00:15: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ye its not even the virus - I just cant handle everyday life, if not for all these places that deliver me food I would perish. At least untill the virus goes completely away I can pretend it has to do with it :0
20-06-06 04:00:56: [evennia] ircbot-Drastical: [email protected]#evennia: Totally understandable. I can handle everyday life, but much prefer when I don't have to.
20-06-06 04:03:56: [evennia] ircbot-Drastical: [email protected]#evennia: So it sounds like you're problem deals with multiple exits that go in the same direction. You have a custom command to handle the situation. This is part of a command set that at some point gets merged into the main character command set, but it appears the merge is not working correctly for the character typeclass. Is that right?
20-06-06 04:09:37: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah more or less
20-06-06 04:10:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Exit typeclass default generates and reloads a commandset containing command same as its key + can have command aliases
20-06-06 04:11:08: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I forgot what is default but likely the aliases I added at some point (the alias functionality is default, I just add aliases when creating the exit automatically)
20-06-06 04:11:33: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> My exit typeclasses are practically default in terms of how the commandset and commands work
20-06-06 04:12:21: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> As in I have some logic to add alias of u when the key is up that kinda thing
20-06-06 04:12:49: [evennia] ircbot-Drastical: [email protected]#evennia: So the command set merge is not happening in custom code? It's handled by the default exit code?
20-06-06 04:12:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ye
20-06-06 04:13:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> merging is not handled in exit typeclass at all
20-06-06 04:13:17: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The merge stack handler thingie does that
20-06-06 04:13:23: [evennia] ircbot-Drastical: [email protected]#evennia: Right
20-06-06 04:13:33: [evennia] ircbot-Drastical: [email protected]#evennia: Hmmm
20-06-06 04:13:57: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> All the exit typeclass does is dynamically puts on itself the commandset and redoes it at server reload, when loading from cache etc.
20-06-06 04:14:08: [evennia] ircbot-Drastical: [email protected]#evennia: So you know when the merge is occuring?
20-06-06 04:14:36: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Merge happes same as in default evennia
20-06-06 04:17:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Exit typeclass in its module (by default) has a command class, and some logic to create an object from the command class and then prep up a command set and add that command into that command set to use. Then some hooks rerun that when its reloaded from cache etc. and add it to its commandsets. This happens by default in evennias exits.
20-06-06 04:20:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> My custom exit typeclass just adds a .create classmethod, has a different return appearance etc. Since commands support aliases (you pass the aliases as an argument when creating the command object from the class) the recreated command object in my case also pulls from self.db.command_aliases basically. That is just a list that gets populated at object creation. Its all very simple.
20-06-06 04:22:52: [evennia] ircbot-Drastical: [email protected]#evennia: Are you calling super() in all the methods you overload?
20-06-06 04:23:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> No, this is a custom typeclass inheriting from default object, the default stuff is just copied over from evennias typeclasses
20-06-06 04:23:28: [evennia] ircbot-Drastical: [email protected]#evennia: Ah, ok
20-06-06 04:24:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Two characters sit in the same room and the super user gets those commands properly but the player character does not. Merging type, priority etc. is all handled on the exit typeclass cause that is where all the bits and bobs for the commandset and command sit.
20-06-06 04:25:05: [evennia] ircbot-Drastical: [email protected]#evennia: My only suggestion would be to start adding custom logging at a granular level, then step through it with the admin character and the regular character to see where the command sets diverge. Of course, if they diverge immediately, that won't be super helpful.
20-06-06 04:25:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I mean there is nothing here to log tbh.
20-06-06 04:25:31: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> It just does not work - there is no code to look at.
20-06-06 04:25:39: [evennia] ircbot-Drastical: [email protected]#evennia: It crashes?
20-06-06 04:25:42: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Its all on evennias side the command set merging
20-06-06 04:25:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Nah just merges differently, but there is nothing I can hook onto
20-06-06 04:26:07: [evennia] ircbot-Drastical: [email protected]#evennia: Sure, but you can log what the command set is at each command, right?
20-06-06 04:26:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Huh?
20-06-06 04:26:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> No, how?
20-06-06 04:26:27: [evennia] ircbot-Drastical: [email protected]#evennia: Or does the merge happen immediately when you log in?
20-06-06 04:26:48: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Merging of commandsets is handled completely by evennias handlers
20-06-06 04:27:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Each object has various commandsets and commands in there and merging happens on the fly always
20-06-06 04:27:32: [evennia] ircbot-Drastical: [email protected]#evennia: Let me test real quick.
20-06-06 04:28:01: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> All the exits do in evennia is dynamically recreate their commandset vs it being done on object creation only or by hand
20-06-06 04:29:17: [evennia] ircbot-Drastical: [email protected]#evennia: Also, you can add logging to the evennia code, if it comes down to it.
20-06-06 04:31:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I have no idea how the commandset stack works behind the scenes, would have no idea what to even log - thats one of the more complex systems unfortunately.
20-06-06 04:31:53: [evennia] ircbot-Drastical: [email protected]#evennia: Sure
20-06-06 04:32:46: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> All we do re. commandsets and commands is define merging type, priority etc. those are just properties - if two characters come in contact with same object, the properties for that object remain the same yet characters get different commands even though they are the same typeclass.
20-06-06 04:33:16: [evennia] ircbot-Drastical: [email protected]#evennia: So, I can log my own command set, for instance in my at_before_move. I would start by logging this for a normal character typeclass and admin typeclass (not sure if at_before_move is the right place, but that's the idea.) Then see when those logs diverge.
20-06-06 04:33:50: [evennia] ircbot-Drastical: [email protected]#evennia: If it needs to be more granular, unfortunately you'll probably have to dig into the commandset default code. I'm taking a look at that now.
20-06-06 04:34:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> You have to be in same room for the merging to happen
20-06-06 04:34:19: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So it would be just the two states one can examine when in and out
20-06-06 04:34:39: [evennia] ircbot-Drastical: [email protected]#evennia: Ok
20-06-06 04:35:07: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Way it works is that say a ball object has commandset with command kick right? Its the ball that gets to decide by way of it's call lock I believe that objects in the same room as it get the kick command
20-06-06 04:35:48: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So if there are 10 balls, and duplicates are set to True and merge to union on the ball then you would get a multimatch asking you which of the 10 kicks you wanted to perform kinda thing
20-06-06 04:36:21: [evennia] ircbot-Drastical: [email protected]#evennia: So it looks like the add, update and remove functions of the cmdsethandler class would be a good place to start. Log when each of them gets called, what the initial and return values are. Then you can start working backwards from there.
20-06-06 04:36:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> But again thats for the object itself, for the exit
20-06-06 04:36:57: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Thats not the merging unfortunately
20-06-06 04:39:28: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> All the objects have their commands and their commandsets, its the merging that breaks apart
20-06-06 04:42:31: [evennia] ircbot-Drastical: [email protected]#evennia: Within those functions, you can log the mergetype and see which function is merging differently or resulting in a different cmdset after merge.
20-06-06 04:43:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> add, update, remove is for adding and removing commandsets not mergin I believe
20-06-06 04:43:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> the exit commandset is never added to the player, thos commands just appear in the merged set
20-06-06 04:43:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> At least I can't see the exit command set but I can see just the commands that is
20-06-06 04:44:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> There is a different merging maybe that you are thinking about
20-06-06 04:44:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> As in on the player you can put many commandsets and those will merge together
20-06-06 04:44:47: [evennia] ircbot-Drastical: [email protected]#evennia: Sure
20-06-06 04:44:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> But here its a different object granting use of the commands on it to the player
20-06-06 04:45:05: [evennia] ircbot-Drastical: [email protected]#evennia: So the merging itself looks like it happens in evennia/evennia/commands/cmdset.py
20-06-06 04:45:06: [evennia] ircbot-Drastical: [email protected]#evennia: ?
20-06-06 04:45:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> This merging happens in whatever handles the merge stack in general
20-06-06 04:45:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> cmdset probably is just for commandsets on the object itself
20-06-06 04:46:05: [evennia] ircbot-Drastical: [email protected]#evennia: the cmdset.py has functions for _replace, _intersect, _union.
20-06-06 04:46:27: [evennia] ircbot-Drastical: [email protected]#evennia: (I am speculating here, I haven't dug this far into command sets before.)
20-06-06 04:46:30: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah again no idea because I am not calling any of those
20-06-06 04:46:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> You don't call any of those, something else does if those are the ones
20-06-06 04:46:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> But those could be for merging stuff on the object itself
20-06-06 04:47:48: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Not sure, no idea how the stack works tbh. - it has to do with locks too specifically call lock I believe
20-06-06 04:48:20: [evennia] ircbot-Drastical: [email protected]#evennia: Right. So if you add some logging to those and an exit is calling those behind the scenes, you will know you're looking in the correct place. It's a start at least.
20-06-06 04:48:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I apprecieate the effort but again exit is not calling anything I doubt it
20-06-06 04:48:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> exit just exists thats it
20-06-06 04:48:57: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The only way that it is special in is that it reload itself in some cases
20-06-06 04:49:04: [evennia] ircbot-Drastical: [email protected]#evennia: But some object has to be calling those to create the command sets.
20-06-06 04:49:20: [evennia] ircbot-Drastical: [email protected]#evennia: Doesn't really matter if it's an exit.
20-06-06 04:49:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Right but the command set is created properly
20-06-06 04:49:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> There is no merging happening there
20-06-06 04:49:54: [evennia] ircbot-Drastical: [email protected]#evennia: Ah. Then I misunderstand the problem.
20-06-06 04:50:03: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The merging happens when object A comes into room with Object B
20-06-06 04:50:58: [evennia] ircbot-Drastical: [email protected]#evennia: So Character and Admin have identical command sets, but when Character says "Up2" it ignores it and goes in "Up1" instead?
20-06-06 04:51:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> in effect yeah
20-06-06 04:51:15: [evennia] ircbot-Drastical: [email protected]#evennia: Ok
20-06-06 04:51:22: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So in that case object B does not recreate its cmdset, it still has the same one, that dynamic part of object B is just cause if someone would change the name of object B the command should change too
20-06-06 04:51:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> That part of the code can be completely removed and exit could just have a statically set commandset
20-06-06 04:51:50: [evennia] ircbot-Drastical: [email protected]#evennia: Is you code checkoutable? If I can reproduce the problem I could probably be of more help.
20-06-06 04:52:08: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> It does not reproduce on default evennia?
20-06-06 04:52:21: [evennia] ircbot-Drastical: [email protected]#evennia: I don't know.
20-06-06 04:52:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> It works for the superuser btw. it won't work for new users.
20-06-06 04:52:44: [evennia] ircbot-Drastical: [email protected]#evennia: Right.
20-06-06 04:52:53: [evennia] ircbot-Drastical: [email protected]#evennia: What are steps to reproduce for out of the box?
20-06-06 04:53:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Create 2 exits of same exact name, create new player account and character, superuser should be able to have two same named commands in their merged stack, player should not
20-06-06 04:54:05: [evennia] ircbot-Drastical: [email protected]#evennia: Two exits of the same name that go to two different rooms, right?
20-06-06 04:54:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Well re before: admin has two up commands, player has just one obviously - its not the multimatch that fails just the merging 😦
20-06-06 04:54:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah they go to different rooms albeit that probably does not make a difference
20-06-06 04:54:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> you should get a multimatch for the super users where it asks you to be precise which one you want
20-06-06 04:55:47: [evennia] ircbot-Drastical: [email protected]#evennia: So superuser has two commands and uses a separate command to decide which exit to use. How does the regular character choose?
20-06-06 04:56:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> the way multimatch works it adds 1-<samecommand> 2-<same command> etc.
20-06-06 04:56:28: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The command is the same
20-06-06 04:56:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> There is no separate command
20-06-06 04:56:39: [evennia] ircbot-Drastical: Dis[email protected]#evennia: <BP-Santo|H> Its just multimatch handles if there are multime things of same name
20-06-06 04:57:01: [evennia] ircbot-Drastical: [email protected]#evennia: But admin has two up commands?
20-06-06 04:57:05: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ye
20-06-06 04:57:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> if you do examine <character> you can see it in the final merge list
20-06-06 04:57:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> on the other character one is missing so multimatch correctly has nothing to deal with
20-06-06 04:57:41: [evennia] ircbot-Drastical: [email protected]#evennia: Ah. So the fact that there are two exits gives the superuser two commands. But not the character.
20-06-06 04:57:46: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ye
20-06-06 04:57:49: [evennia] ircbot-Drastical: [email protected]#evennia: I see.
20-06-06 04:57:55: [evennia] ircbot-Drastical: [email protected]#evennia: Ok, I will try to reproduce
20-06-06 04:58:07: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> cheers - this is very bizzare thing ;_;
20-06-06 04:58:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I thought it was multimatch cause that would be our side of the wall type of code problem but this is all deep in evennias core kinda thing where the dwarves dont dare dig
20-06-06 04:58:57: [evennia] ircbot-Drastical: [email protected]#evennia: Ha. Dwarves be damned.
20-06-06 04:59:12: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Might be related to the fact superuser is made at database migration and player character is made from the connection screen
20-06-06 04:59:33: [evennia] ircbot-Drastical: [email protected]#evennia: I do not see you in the people list. Will you be online tomorrow if this takes a while?
20-06-06 04:59:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Sure - I am not in there cause I am on discord 😄
20-06-06 04:59:56: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So the bot handles it
20-06-06 05:00:24: [evennia] ircbot-Drastical: [email protected]#evennia: I was wondering what that meant...
20-06-06 05:05:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ok time for that banana, its 7am here, need to fix my brain for some meetings soon... the morning was fast approaching and it be here!
20-06-06 05:10:18: [evennia] ircbot-Drastical: [email protected]#evennia: 11 PM here. Good luck with the meetings.
20-06-06 05:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: In case you check back, I see two "north" commands for both my admin and regular character users.
20-06-06 05:31:18: [evennia] ircbot-Drastical: [email protected]#evennia: (Sorry, not very helpful, I know.)
20-06-06 05:38:30: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> in the merge stack or in the room as objects?
20-06-06 05:45:21: [evennia] ircbot-Drastical: [email protected]#evennia: "Result of merged command sets" when I do an examine.
20-06-06 05:47:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Can you tell me whats the priority where you see: [ExitCmdSet] (Union, prio <priority>) ?
20-06-06 05:50:14: [evennia] ircbot-Drastical: [email protected]#evennia: I do not see ExitCmdSet in the list. This is my install, and I haven't messed with command sets much, but I will try a pure base install next.
20-06-06 05:50:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah normally it don't seem to show it the priority is same as something else
20-06-06 05:50:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So I had it at 101 like the channel one and it dint show in that list
20-06-06 05:50:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I changed it to 120 or any other and it started to show
20-06-06 05:51:15: [evennia] ircbot-Drastical: [email protected]#evennia: Ah, gotcha
20-06-06 06:00:42: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> create a new char and some more objects and yeah it keeps happening 😦
20-06-06 06:07:03: [evennia] ircbot-Drastical: [email protected]#evennia: Create another character (still my install) and it also has both exits in its commands.
20-06-06 06:08:25: [evennia] ircbot-Drastical: [email protected]#evennia: Have to do everything from the client because nginx is still not quite there (and my browsers apparently don't know how to properly clear a cache.) It's unpleasant...
20-06-06 06:09:01: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah mine can see two exits of different names but same alias but the moment I change the name of the exit to the same thing it just goes poof
20-06-06 06:09:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So its not related to how the object is created, moment name changes back to it being same, it merges wrong
20-06-06 06:09:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> otherwise I have say south and south_copy with both having the alias of s for a command
20-06-06 06:09:55: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> and multimatch kicking in for that alias
20-06-06 06:10:56: [evennia] ircbot-Drastical: [email protected]#evennia: So when you use the alias when it has a different name, it says there are two exits, be more specific?
20-06-06 06:13:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> yeah that works properly
20-06-06 06:13:27: [evennia] ircbot-Drastical: [email protected]#evennia: Huh, that's really odd.
20-06-06 06:13:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So that kinda double confirms multiple choice works properly for these player characters
20-06-06 06:13:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I tested that on other objects where it also worked fine
20-06-06 06:14:28: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Just the moment I change name of exit back to being identital, it changes the primary command to be identical too ofcourse and the merging of the same named commands being wrong its back to where it was 😦
20-06-06 06:14:48: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> As if it flips the boolean on allow_duplicates for player characters but leaves it to True for superuser
20-06-06 06:35:53: [evennia] ircbot-Drastical: [email protected]#evennia: Ok, signing off. Will try the base install tomorrow.
20-06-06 06:51:14: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Safe - I was testing it from various angles and yeah, mine is all default - ill have to spin a fresh instance and try with that I suppose too, will probably do in a couple of days
20-06-06 07:01:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ok I figured it out!
20-06-06 07:01:59: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> It is a bug afterall but a very veeeery bizare one
20-06-06 07:02:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> imma hit github >.<
20-06-06 07:14:23: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H BP-Santo commented on issue #2146|H ([BUG] Exit commandset command duplicates do not merge proper[20 more]|H) in evennia|H: I managed to figure out what was causing it! It was having s[1206 more]|H (https://github.com/evennia/evennia/issues/2146#issuecomment-640001072|H)
20-06-06 08:12:28: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H Zironic commented on issue #2053|H ([BUG] Corrupt log locks server) in evennia|H: No, I never figured out how to manually create an AMP packet[315 more]|H (https://github.com/evennia/evennia/issues/2053#issuecomment-640010595|H)
20-06-06 09:47:09: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch reviewed PR #2141|H (Upgraded EvMenu): I think we are slowly converging towards a middle-ground bet[318 more]|H https://github.com/evennia/evennia/pull/2141#pullrequestreview-425726359|H
20-06-06 09:47:10: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: This default value should be generalized and not done this d[975 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436254007|H)
20-06-06 09:47:11: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: It's unclear where this block belongs ... I presume it belon[317 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436253329|H)
20-06-06 09:47:12: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: This is now the name of the formatting function on the EvMen[317 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436252755|H)
20-06-06 09:47:13: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Also, what's with the unused `callback` argument everywhere?[...]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436254951|H)
20-06-06 09:47:14: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: For consistency, this should be `formatter` like everywhere[57 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436252979|H)
20-06-06 09:47:15: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Thinking aloud: I wonder if it may be an idea to log a depre[142 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436254299|H)
20-06-06 09:47:16: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: As said, I disagree about the use of distinct methods for th[372 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436254331|H)
20-06-06 09:47:17: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: This is not covered in the docstring. Was this meant to be `[11 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436254595|H)
20-06-06 11:31:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> god, so much thinking to do
20-06-06 12:13:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm beginning to reach some conclusions, though
20-06-06 12:34:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So those conclusions that I've reached so far, by the way
20-06-06 12:39:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I've been thinking hard on what an "ideal" architecture for a modern MU* server might be. The answer is "pretty complicated, dammit." Especially if one seeks to be generic/extensible. So I took some time to closely examine how Rhost MUSH works.... I even took some time to tinker around with some fairly low level C/C++ stuff and get a feel for how these programs work. So, have some new ideas...
20-06-06 12:41:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> not sure how -practical- those ideas are yet though....
20-06-06 12:46:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so the primary advantages of Python are rapid development, highly expressive and flexible language. The downsides are that it's shitty at parallelism due to the GIL, and it eats up a fantastic amount of RAM - both of which are more annoyances than dealbreakers, but CAN be mitigated to varying extents using certain strategies. However.... as Evennia discovered earlier on, hotbooting with Python doesn't work too well. reloading modules is a
20-06-06 12:46:33: [evennia] ircbot-Drastical: [email protected]#evennia: super messy process. This makes supporting "reload" tricky, and it lead to the split process approach of Portal<->Server.
20-06-06 12:47:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> (because it's not possible to fork and steal file descriptors the way that programs written in C/C++ do it.)
20-06-06 12:48:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Meanwhile, while I was rooting around in RhostMUSH...
20-06-06 12:51:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I discovered that using C/C++ is surprisingly "nicer" than I expected it would be. still a Bloody Mess in many ways, mind you. Package/library/dependency management is a PITA. Cross-platform is also a PITA. It is, however, quite possible to make some surprisingly extendable logic in C using things like 'arrays of structs where the members are function pointers', which is how a lot of the guts of the softcode interpreter that MUSHes rely
20-06-06 12:51:46: [evennia] ircbot-Drastical: [email protected]#evennia: on works. (That doesn't work too well in C++ though given the different rules on void function pointers.)
20-06-06 12:52:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> However, even when I tinker with C++ I ran into many, many limitations.
20-06-06 12:55:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> The BIGGEST limitation is that if your goal is extensibility/moddability/modular design, you've got an uphill battle ahead of you. it's.... POSSIBLE to achieve, but boy does it involve jumping through a crapload of hoops. It's messy, and, perhaps worse, it's pretty damned unsafe and crude if you want to use .so / .dll files with dlopen() etc. "plugin infrastructure" is definitely not so simple to achieve.
20-06-06 12:56:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> but between the two of them, I see a flicker of something interesting.
20-06-06 13:09:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm pondering a program that's something like this. The launcher starts up a C++ binary - one that's responsible for setting up all of the networking - and maybe some more stuff, like database libraries. (something embedded, schema-less, and super-flexible like UnQLite comes to mind). Then, this executable is linked to Python - it starts up an embedded Python interpreter that handles the game simulation/plugin architecture. When you wanna
20-06-06 13:09:21: [evennia] ircbot-Drastical: [email protected]#evennia: reload/update the Python code, the server achieves this by simply restarting just the Python parts - thus, the new code loads up without having to kill the process or disconnect anyone. All in a single process.
20-06-06 13:10:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> But I'm kinda imagining the end result to look like a hybrid of Evennia and the MUSH/MUX approach.... hm.
20-06-06 13:10:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> is full of wild ideas
20-06-06 13:54:59: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> The docs for evennia commands mention that a command set can have its own help.  I can't see how to do that, from the command set itself.  I've got lots of small commands and help files in this command set, and I'd like to centralise them, or at least, have more control.  Is the command set the place to put one big return help file, and if so, how?
20-06-06 14:02:10: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> Is it not possible to keep the help for a command in the same place as the code for it? I would imagine it'd be easier to maintain it if you don't have to go to a separate help file to make changes to it every time you change how the command works
20-06-06 14:04:14: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> It is, but I have (currently) got a lot of +chargen commands, for example.  One solution there is probably to not have so many +chargen commands, and use switches much more.  It came out of me developing the commands bit by bit, so it could be I'm just not being sensible.
20-06-06 14:04:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And that question makes me think I should probably deal with that properly.
20-06-06 14:09:08: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I've very new with the evennia codebase, so I don't know what a +chargen command is, but if you're starting to find it unmanageable it may well be a good time to do some code refactoring
20-06-06 14:12:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> It's a command that lives in the Chargen command set.  But yeah, I'm sitting down to do that now.
20-06-06 14:13:15: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> refactor (v) to get it right the n+1st time.
20-06-06 14:18:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Ah yes, I see.  That problem is because I've got staff commands and character commands which begin with the same thing.  Now I recall.
20-06-06 15:10:03: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: No. This is the ``display_options`` list generated in the ``[191 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436276023|H)
20-06-06 16:07:13: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I don't really see how it is less mental overhead for a deve[2062 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436280119|H)
20-06-06 16:14:39: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I could certainly add something to log that a deprecated fun[858 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436280605|H)
20-06-06 16:29:35: [evennia] ircbot-Drastical: [email protected]#evennia: @BP-Santo, I tried the duplicate exit scenario this morning with a base install. Neither the super user nor the regular character have two commands. They both have only one.
20-06-06 16:32:07: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Rick42: I made a bug report where I listed out my findings if curious and wanna check it out 🙂
20-06-06 16:32:22: [evennia] ircbot-Drastical: [email protected]#evennia: Sure, got a link?
20-06-06 16:32:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> https://github.com/evennia/evennia/issues/2146
20-06-06 16:33:01: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So all that other stuff I and we generally thought to be going on was a red herring
20-06-06 16:33:42: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I gotta run to my meeting but yeah I imagine its an easy fix I just dont understand that part of evennia at all, I never dug into it so imma leave it for now
20-06-06 16:35:03: [evennia] ircbot-Drastical: [email protected]#evennia: Did you implement a custom NoMatch class?
20-06-06 16:35:49: [evennia] ircbot-Drastical: [email protected]#evennia: Either way, nice find!
20-06-06 16:57:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I think I know what I'm gonna do
20-06-06 16:57:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> 😄
20-06-06 16:59:26: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I can move the default formats up to the top easily enough.[703 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436283810|H)
20-06-06 17:02:45: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I didn't want to refer to it purely as ``formatter`` because[307 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436284058|H)
20-06-06 17:08:05: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: My concern with using kwargs like that is that this is alrea[459 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r436284484|H)
20-06-06 17:12:24: [evennia] ircbot-Drastical: [email protected]#evennia: Bah, getting this doc generator system working with every structure from the Evennia wiki is getting to be quite an undertaking.
20-06-06 17:12:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Griatch!
20-06-06 17:12:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> tacklenoogie
20-06-06 17:12:45: [evennia] ircbot-Drastical: [email protected]#evennia: Hi Volund
20-06-06 17:24:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I have.... ideas. Again
20-06-06 17:24:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Still researching options
20-06-06 17:38:56: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 2 commits to evennia|H/static-file-docs|H (https://github.com/evennia/evennia/compare/a6cc46d15c95...1c63669b7a68|H):
20-06-06 17:38:57: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Experimenting with variations in recommonmark
20-06-06 17:38:58: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Make entire wiki compile; still with many errors
20-06-06 17:53:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So I'm still investigating a few things Griatch but you wanna hear my thoughts? 😄
20-06-06 17:53:32: [evennia] ircbot-Drastical: [email protected]#evennia: Sure
20-06-06 18:01:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So I've been hammering away and poking at Rhost (which is written in C) and trying things out in C++. Learned a bunch about ... all kinds of stuff. even managed to implement an epoll-based telnet echo server in C++ that is somewhat-extensible... but I came across several -huge- limitations to making things in C++, such as classes not being first class citizens so you can't assign them to a variable. O_o
20-06-06 18:01:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> But all this adventure has been making me take a much closer look at C++ and Python too...
20-06-06 18:02:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I now see that the main reason you "Can't" just hot reload without disconnecting has nothing to do with Python - it's got to do with it being VEEEEERY difficult to reconstruct the networking stack twisted puts together for its connections 'manually'
20-06-06 18:03:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> (reloading new code is a different matter with different workarounds but)
20-06-06 18:04:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> well
20-06-06 18:06:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm starting to wonder about the viability of something like "trying to port Rhost to Python". something along those lines. using lower level code. POSSIBLY, depending on how I manage to address certain parts of the matter, using C++-and-Python.... I'm not sure yet.
20-06-06 18:06:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I need to run a few experiments with the "selectors" module, and also with asyncio and os.fork()/exec() stuff
20-06-06 18:06:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> but oh man do I have ideas
20-06-06 18:07:21: [evennia] ircbot-Drastical: [email protected]#evennia: So you are aiming for an entirely new server then
20-06-06 18:07:53: [evennia] ircbot-Drastical: [email protected]#evennia: I seem to recall one of the MUSH servers (was it Rhost?) already added support for Python scripting?
20-06-06 18:08:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Rhost did not. the closest would be NakedMUD
20-06-06 18:08:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> which is abandonware
20-06-06 18:08:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Rhost does... sort of... support Python
20-06-06 18:08:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> SOOOOORT of.
20-06-06 18:08:40: [evennia] ircbot-Drastical: [email protected]#evennia: Maybe it was Python plugins. Something Python at least. And I was not referring to NakedMUD no.
20-06-06 18:08:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> it has a softcode function called execscript() which is able to open a subprocess and return values from it. that CAN be a python script, if the shell it's running in has python available.
20-06-06 18:08:58: [evennia] ircbot-Drastical: [email protected]#evennia: Ah. That may be it.
20-06-06 18:20:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> anyways... "aiming for". Griatch when have I ever been AIMING FOR anything? if I've ever been aiming, I sure have been missing a lot
20-06-06 18:20:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> 😛
20-06-06 18:20:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> anyhoo
20-06-06 18:25:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm wondering about how feasible it is to reconstruct the networking stacks put together by twisted or asyncio. I know I could easily code a way to do it manually if I made my own networking lib using pure python but then I'd have to also probably do a complete main loop myself. :/
20-06-06 18:26:25: [evennia] ircbot-Drastical: [email protected]#evennia: Apart from an interesting experiment, may I ask why? What problem are you trying to solve?
20-06-06 18:32:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm not 100% sure yet. Part of it is that I want to learn more about how this stuff works. Part of it is that I want to explore a different architecture/approach for putting a MU* server together than Evennia's but I'm finding forking/modding Evennia to encounter an irreducible complexity of tight coupling issue. My ideas for a database layout and how the save data works etc is difficult to hack in using Athanor and it seems ugly. And I
20-06-06 18:32:49: [evennia] ircbot-Drastical: [email protected]#evennia: want to get a better sense of scale for how the project consumes RAM and CPU.
20-06-06 18:33:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> How've things been over here by the way? I kinda flew the coop for a bit for stress relief. Was getting way too worked up and needed a change of pace.
20-06-06 18:36:48: [evennia] ircbot-Drastical: [email protected]#evennia: Not much visible change from my end; still messing with the static doc generation. Ended up having to fork some of the sphinx plugins I need to have them do what I need them to.
20-06-06 18:40:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I should check out the new doc stuff. 🙂
20-06-06 18:49:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> hrrm
20-06-06 19:07:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Griatch: I am now skilled enough to actually tear into Twisted and Asyncio and more or less follow what's happening. 🙂
20-06-06 19:08:41: [evennia] ircbot-Drastical: [email protected]#evennia: Good, then you can spend your energy debugging one of the AMP-related errors ;)
20-06-06 19:10:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> whats going on?
20-06-06 19:11:14: [evennia] ircbot-Drastical: [email protected]#evennia: That's what needs to be debugged. Nothing new, if you follow the Evennia issue tracker.
20-06-06 19:15:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ouch. ListenTCP does -not- allow you to do what Asyncio does... although I'm still not sure if Asyncio allows it to the full extent...
20-06-06 19:15:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> https://github.com/twisted/twisted/blob/6ac66416c0238f403a8dc1d42924fb3ba2a2a686/src/twisted/internet/posixbase.py#L493
20-06-06 19:17:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and this is why a traditional fork-style hot reload won't work; it's not possible to 'save' your file descriptors and then hook them up to the new Twisted reactor because the event loop has no hooks for that.
20-06-06 19:18:04: [evennia] ircbot-Drastical: Disco[email protected]#evennia: <Volund|H> that said, I don't know what would happen if I tried to do that sort of hot-reload thing using asyncio and/or TLS
20-06-06 19:18:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> a normal socket should just be handed over just fine, but...
20-06-06 19:20:20: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H:
20-06-06 19:20:21: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: API-refactoring|H (API refactoring) (https://github.com/evennia/evennia/wiki/API-refactoring|H)
20-06-06 19:20:22: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Apache-Config|H (Apache Config) (https://github.com/evennia/evennia/wiki/Apache-Config|H)
20-06-06 19:20:23: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [[] more] ...
20-06-06 19:20:24: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Web-Character-Generation|H (Web Character Generation) (https://github.com/evennia/evennia/wiki/Web-Character-Generation|H)
20-06-06 19:20:25: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Webclient-brainstorm|H (Webclient brainstorm) (https://github.com/evennia/evennia/wiki/Webclient-brainstorm|H)
20-06-06 19:25:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Oh man I am getting the -ideas-
20-06-06 19:25:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> eyes asyncio and supersqlite
20-06-06 20:59:01: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Things keep distracting me lately, for some stupid reason pycharm thinks a command inheriting from the basic evennia command has no self.caller 😦
20-06-06 20:59:15: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Other places its happy but here it complains... this is bothered me a ton
20-06-06 20:59:46: [evennia] ircbot-Drastical: [email protected]#evennia: Use VIM and be rid of such distractions :D
20-06-06 21:00:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Me no like vim :<
20-06-06 21:01:21: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Interesting thing, riddle me this batmens: if in this child class that is not behaving I throw in a self.caller = self.caller it stops complaining
20-06-06 21:01:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Like wut, wut be. Why is it being like this D:
20-06-06 21:02:29: [evennia] ircbot-Drastical: [email protected]#evennia: pycharm lexer getting confused. Why that is, is one of the mysteries of this world.
20-06-06 21:04:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> very sad, much bothered, wow.
20-06-06 21:07:00: [evennia] ircbot-Drastical: [email protected]#evennia: I much enjoy this little py3 niceness: `val1, *val2 = teststr.split("foo", 1)` - it will work both if the split produces 1 or 2 returns, with `*val2` absorbing either the second value or an empty tuple.
20-06-06 21:09:19: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Oh yeah I recall hearing about that in effective python I think? forgot about it :d
20-06-06 21:09:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I started packing and upacking positional args though and a few other things on account of doing sum studying
20-06-06 21:10:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Funny thing about this lexer is that self.obj it's bueno with but self.caller naw D:
20-06-06 21:15:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch, what do you think about a non script object that is purely a datbase datastore? I know we can create scripts for that but semantically it seems a bit derpy.
20-06-06 21:15:53: [evennia] ircbot-Drastical: [email protected]#evennia: That is what the Script is.
20-06-06 21:16:05: [evennia] ircbot-Drastical: [email protected]#evennia: It's just that it has some extra features too.
20-06-06 21:16:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> It gets listed in scripts and has some hooks for starting and stopping though that could create trouble
20-06-06 21:17:43: [evennia] ircbot-Drastical: [email protected]#evennia: The Script will see an overhaul for the next version, so that the start/stop is more explicit and will be less prone to issues like that. This is because Scripts are, as you say, used for data storage to a bigger extent than the instrumentation around them originally accounted for.
20-06-06 21:19:36: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Any advice what to do for now to make something purely an undeletable store for data? Just overload all the methods?
20-06-06 21:23:43: [evennia] ircbot-Drastical: [email protected]#evennia: You could create a child of Script which doesn't listen to its stop/start methods. I've not tested this myself though, not sure if it would have other consequences.
20-06-06 21:27:33: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> overhaul very much welcomed when it comes c:
20-06-06 21:41:25: [evennia] ircbot-Drastical: [email protected]#evennia: <friar|H> Hmm...I wonder what the fastest way to build an AresMUSH-style "make/read poses from a webpage" would be in Evennia.
20-06-06 21:45:43: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Never played ares mush but maybe using json loader etc.?
20-06-06 22:01:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> yeah the more and more that I think about it
20-06-06 22:01:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> the more I see the value in this craziness
20-06-06 22:39:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> gawd
20-06-06 22:39:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> I tried refactoring this combat system to simplify
20-06-06 22:39:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> almost every time I open the code its just me staring and barely making any progress
20-06-06 23:31:34: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H:
20-06-06 23:31:35: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Adding-Object-Typeclass-Tutorial|H (Adding Object Typeclass Tutorial) (https://github.com/evennia/evennia/wiki/Adding-Object-Typeclass-Tutorial|H)
20-06-06 23:31:36: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Building-a-mech-tutorial|H (Building a mech tutorial) (https://github.com/evennia/evennia/wiki/Building-a-mech-tutorial|H)
20-06-06 23:31:37: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [[] more] ...
20-06-06 23:31:38: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Tutorial-Searching-For-Objects|H (Tutorial Searching For Objects) (https://github.com/evennia/evennia/wiki/Tutorial-Searching-For-Objects|H)
20-06-06 23:31:39: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Typeclasses|H (https://github.com/evennia/evennia/wiki/Typeclasses|H)
20-06-07 00:27:23: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H Griatch updated evennia|H/wiki|H:
20-06-07 00:27:24: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Choosing-An-SQL-Server|H (Choosing An SQL Server) (https://github.com/evennia/evennia/wiki/Choosing-An-SQL-Server|H)
20-06-07 00:27:25: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: EvMenu|H (https://github.com/evennia/evennia/wiki/EvMenu|H)
20-06-07 00:27:26: [evennia] ircbot-Drastical: [email protected]#evennia:  [edited]: Python-basic-tutorial-part-two|H (Python basic tutorial part two) (https://github.com/evennia/evennia/wiki/Python-basic-tutorial-part-two|H)
20-06-07 00:35:14: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/static-file-docs|H: [Griatch]: Make wiki compile fully into static site
20-06-07 01:34:36: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I just did a lil benchmark and creating 35 objects takes 1.7 seconds but deleting them takes 3 :0
20-06-07 01:35:30: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Its more or less linear time on the creation, I wonder what will show up once I have a giant build file to test on
20-06-07 01:36:41: [evennia] ircbot-Drastical: [email protected]#evennia: https://www.youtube.com/watch?v=s7_Od9CmTu0
20-06-07 01:36:44: [evennia] ircbot-Drastical: [email protected]#evennia: Big O notation.
20-06-07 01:36:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> tehe
20-06-07 01:37:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> This is for rooms and exits so there is a lot going on but was surprised deletion was so heavy in comparison
20-06-07 01:37:44: [evennia] ircbot-Drastical: [email protected]#evennia: Yeah, seems like it would be faster if anything.
20-06-07 01:38:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Might need to reimplement the delete method for the purpose of the builder, delete right now runs a lot of for loops
20-06-07 01:39:00: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> since I am tracking all objects anyway, that not needed, going to add a delete_ligt c:
20-06-07 01:39:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> *light
20-06-07 01:39:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> You guys need to all abandon ye olde irc and come over to discord so I can just edit my messages
20-06-07 01:39:31: [evennia] ircbot-Drastical: [email protected]#evennia: I know I'm hitting n^3 in a couple of places. I should look at rewriting, but I'm not in the mood right now (as though I will be later.)
20-06-07 01:39:46: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I like optimising 😄
20-06-07 01:40:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I want to have procedural building so will need to figure a lot of stuff out at a later date
20-06-07 01:43:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> imma steal the big o opening
20-06-07 01:44:04: [evennia] ircbot-Drastical: [email protected]#evennia: Do it.
20-06-07 03:34:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> this plan of mine might actually work
20-06-07 03:38:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so I am experimenting with a few things
20-06-07 06:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Kingston posted 'Re: Running in Docker' https://groups.google.com/d/msg/evennia/oLWfqSPctuY/sqof5wIcAgAJ|H
20-06-07 09:21:45: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> Has anyone ever done something like a MOBA as a MU*?
20-06-07 09:22:57: [evennia] ircbot-Drastical: [email protected]#evennia: Like God Wars?
20-06-07 09:23:47: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> what's that?
20-06-07 10:16:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> One of the most popular paid muds
20-06-07 10:17:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> The answer is yes. The problem is I don't think it's a type of gameplay that excels in text
20-06-07 10:18:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Why adopt a style of gameplay we're weak on, when we should be exploiting our strengths: extravagant "graphics" and self expression
20-06-07 10:21:20: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that's very true, just an amusing idea
20-06-07 10:57:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> The idea of having raid races could work
20-06-07 10:57:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> You and your buddies clear a dungeon before the other team
20-06-07 11:04:49: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> Thinking about different ways of resolving combat. turn-based has a lot of appeal for me, slowing things down and having time to think about options, though maybe not as immersive?
20-06-07 11:38:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> really depends on how the rest of your system works imho
20-06-07 11:39:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> so wait, God Wars is like a moba?
20-06-07 13:25:30: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> another way to go about it would be to have like a default action for your character, so that if you're attacked you'll automatically defend yourself, and you can then enter commands to change how you act at the next 'tick' of combat
20-06-07 15:10:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I awaken!
20-06-07 18:08:45: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> When using CommandTest (which inherits from EvenniaTest) I seem to lose non-persistent (i.e. not saved to the db) information between individual tests. Now I can work around this by having one single test execute multiple commands but at the end of it all that only shows as a 'single test' so I'm not crazy about that solution. Is there a way to tell these classes not to dump the non-persistent data between tests?
20-06-07 18:09:55: [evennia] ircbot-Drastical: [email protected]#evennia: The point of a "unit test" is to make tests separate units. Tests that depend on each other is an anti-pattern.
20-06-07 18:11:04: [evennia] ircbot-Drastical: [email protected]#evennia: To put a finer point on it, you must be able to run each test individually without the others. If you are testing inter-dependency it sounds correct that you are doing it within one test.
20-06-07 18:13:30: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I understand. The issue is that I want to do a more controlled test of my menus so that I can enter specific data on occasion to test things like the ability to locate an attribute that is not full typed out, recognize that I've entered something twice, etc.. Among other things I lose my location in the menu when I move from one test to the next. I've also got some non-persistent data that gets rebuilt whenever the server is rebooted
20-06-07 18:13:30: [evennia] ircbot-Drastical: [email protected]#evennia: that takes 5-10 seconds and having to do that between ever single test is not optimal.  Anyway, as I said, if there's no other solution I can continue with the work around.
20-06-07 18:14:54: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> I just wanted to be sure there wasn't something hidden that I was missing.
20-06-07 18:15:35: [evennia] ircbot-Drastical: [email protected]#evennia: Is this a test of a specific menu or of menu functionality in general?
20-06-07 18:23:28: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> is there no way to set the expected state as part of the unit test?
20-06-07 18:23:49: [evennia] ircbot-Drastical: [email protected]#evennia: Of course. You can mock whatever state you want at the beginning of the test.
20-06-07 18:28:59: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> That seems more sensible than trying to maintain state between separate unit tests
20-06-07 18:46:15: [evennia] ircbot-Drastical: [email protected]#evennia: Hey, couldn't find a FAQ. Anybody got a few minutes for some quick questions?
20-06-07 18:47:02: [evennia] ircbot-Drastical: [email protected]#evennia: Ask away
20-06-07 18:48:35: [evennia] ircbot-Drastical: [email protected]#evennia: We've got a group coming from a MUSH/MUX background. Is it possible to directly import room structure and descriptions from an existing system or will we have to move things manually?
20-06-07 18:49:14: [evennia] ircbot-Drastical: [email protected]#evennia: You cannot import room structures automatically; you need to either write a converter or move things over manually.
20-06-07 18:49:36: [evennia] ircbot-Drastical: [email protected]#evennia: Ok. I didn't get a good idea how code is put into the game. Can players add code modules to the game themselves, or is that only done by staff with access to the server directories?
20-06-07 18:51:15: [evennia] ircbot-Drastical: [email protected]#evennia: Python code is only available to developers, generally managed via normal developer tools such as version control. Building can be done in-game, but the level of 'scripting' you want regular (non-privileged) players to do is really up to what build-commands you want to make available.
20-06-07 18:52:34: [evennia] ircbot-Drastical: [email protected]#evennia: Evennia is coded in regular Python, by the dev telling the server where to fetch the code to use for a given thing. This makes it possible to customize and override pretty much everything without ever touching the stuff you download from us.
20-06-07 18:53:11: [evennia] ircbot-Drastical: [email protected]#evennia: So if you want players to be able to, say, add a room and descriptions, there'd be a module you would add to enable command(s)  that would give them that capability?
20-06-07 18:54:01: [evennia] ircbot-Drastical: [email protected]#evennia: Adding a room an descriptions is something you could do out of the box if you are just given 'builder' privileges.
20-06-07 18:54:39: [evennia] ircbot-Drastical: [email protected]#evennia: But yes, in principle what that does is give them access to commands that allows them to create/describe etc.
20-06-07 18:55:55: [evennia] ircbot-Drastical: [email protected]#evennia: But if we want players to be able to create an object that has its own code attached to it, how does that work?
20-06-07 18:58:32: [evennia] ircbot-Drastical: [email protected]#evennia: In general, Evennia does deliberately not support softcode concept. It separates Developers from Builders and Players; The idea being that development is better done in real coding tools using professional workflows rather than one-by-line over a telnet connection. Our thoughts around this is described some more here: https://github.com/evennia/evennia/wiki/Soft-Code
20-06-07 18:59:12: [evennia] ircbot-Drastical: [email protected]#evennia: Generally, if the game is such that regular Players should be allowed limited scripting, this is something one would supply game-specific commands to do.
20-06-07 19:00:05: [evennia] ircbot-Drastical: [email protected]#evennia: (there IS the in-game-python contrib that allows users to script objects in Python, but that's not for untrusted players)
20-06-07 19:00:59: [evennia] ircbot-Drastical: [email protected]#evennia: Okay. That answers most of my commands. Thanks!
20-06-07 19:01:43: [evennia] ircbot-Drastical: [email protected]#evennia: Np. We do have a lot of devs here coming from the MUSH world.
20-06-07 19:04:01: [evennia] ircbot-Drastical: [email protected]#evennia: @Travis88: What MUSH were you looking to convert?
20-06-07 19:06:54: [evennia] ircbot-Drastical: [email protected]#evennia: It's in development right now, so it's not up anywhere yet
20-06-07 19:07:24: [evennia] ircbot-Drastical: [email protected]#evennia: Ah. What engine are you using currently?
20-06-07 19:30:31: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> To answer the question from a while back, this is a specific menu I'm testing, and I could set the state before each test, but each time I do that takes about 5-10 seconds so I was looking for a way to avoid that (there's stuff I can to avoid the complete build that occurs at boot which would be faster but then we are back to not testing in an evironment as close to live, plus menus will lose information between tests unless I set it
20-06-07 19:30:32: [evennia] ircbot-Drastical: [email protected]#evennia: to a mode that I don't want it to be in with the live code).
20-06-07 19:32:51: [evennia] ircbot-Drastical: [email protected]#evennia: Maybe you can mock the expected state (using the mock module) without needing to build everything every time? 5-10 seconds sounds pretty slow for a setup.
20-06-07 19:34:03: [evennia] ircbot-Drastical: [email protected]#evennia: Griatch: we're using TinyMUX
20-06-07 19:34:07: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> It's building a dictionary for partial matching of names for over 1000 items. It's really not a horrible cost to add to a restart but it does become a little bit of an issue if I have to rebuild a lot.
20-06-07 19:34:35: [evennia] ircbot-Drastical: [email protected]#evennia: Is the dictionary different for every test?
20-06-07 19:34:48: [evennia] ircbot-Drastical: [email protected]#evennia: And do you really need all of it for the test?
20-06-07 19:35:03: [evennia] ircbot-Drastical: [email protected]#evennia: Is it not enough to just test against a subset of that dict?
20-06-07 19:35:06: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> That's what I was saying I could modify for testing.
20-06-07 19:35:16: [evennia] ircbot-Drastical: [email protected]#evennia: So ... mocking.
20-06-07 19:36:39: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Instead of the complete dictionary just using a specific subset. That doesn't fix preserving the menu state between tests though. I could make the menu persistent, but it isn't suppose to be, so I keep moving further and further from testing code 'as is'.
20-06-07 19:37:27: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Like I said, I mostly wanted to see if there was something I was missing, not asking for a new feature or anything. I've got ideas how to work around the problems.
20-06-07 19:38:06: [evennia] ircbot-Drastical: [email protected]#evennia: The point of mocking is that you reproduce the state and replace the parts you need to test dynamically; it's not about moving away from testing. Presume that the persistent-menu code works. That's not what you should test (that'd belong in a different test).
20-06-07 19:38:16: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Honestly, if I could use CommandTest on a live DB that would be ideal, but I don't think that's possible either.
20-06-07 19:38:31: [evennia] ircbot-Drastical: [email protected]#evennia: No, and you shouldn't anyway :)
20-06-07 19:38:49: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Well, a 'test live db' 🙂
20-06-07 19:39:13: [evennia] ircbot-Drastical: [email protected]#evennia: You can use fixtures to pre-populate your test database if it needs certain data to be in there.
20-06-07 19:44:41: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Honestly, I keep toying with the idea of offloading the name matching to an Elasticsearch server, but since this is suppose to be code for other people I don't want to add a complication like requiring people to set up an ES server as well.
20-06-07 20:23:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Looking for a bit of GIT help.
20-06-07 20:24:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> I use a gui called "Fork" and it's not reporting unstaged changes. ... ... Because I forgot to hit "save". Nevermind!
20-06-07 20:25:11: [evennia] ircbot-Drastical: [email protected]#evennia: You are welcome ;)
20-06-07 20:32:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> You're such a zen code-master, Griatch.
20-06-07 20:33:34: [evennia] ircbot-Drastical: [email protected]#evennia: The best instruction is when the questioner finds their answer before even finishing the question :)
20-06-07 20:33:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> I think that's more on the questioner, but sure, take credit. 😉
20-06-07 20:34:18: [evennia] ircbot-Drastical: [email protected]#evennia: I'm super-serious, too :)
20-06-07 20:35:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Knowing what question to ask is extremely important, but in my case it's because I'm absent-minded.
20-06-07 20:35:42: [evennia] ircbot-Drastical: [email protected]#evennia: GIT GUI's is often not helping as much as they confuse, In my experience.
20-06-07 20:37:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> I was panicking as to why the change wasn't showing up in Fork's "unstaged" pane. Because I hadn't saved it, so it couldn't see it.
20-06-07 20:37:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> I use TextEdit on the Mac for my coding, and just didn't look to see the "I've been changed" icon.
20-06-07 20:37:40: [evennia] ircbot-Drastical: [email protected]#evennia: What are you working on?
20-06-07 20:38:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Fixing a bunch of WoD Mushcode bugs.
20-06-07 20:38:40: [evennia] ircbot-Drastical: [email protected]#evennia: Oh, using GIT for your softcode code now?
20-06-07 20:39:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Have been for quite some time. https://github.com/thenomain/GMCCG
20-06-07 20:40:59: [evennia] ircbot-Drastical: [email protected]#evennia: Cool, I just remembered you had questions about GIT, so assumed it was a more recent thing.
20-06-07 20:41:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Well I typed "git" in all caps for some reason. If git and GIT are different things, that's unix-land for you.
20-06-07 20:41:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Heh. The entire WoD project takes up 24 megabytes, including dot-files. That is depressingly small for such a complex system.
20-06-07 20:42:23: [evennia] ircbot-Drastical: [email protected]#evennia: I think GIT and git are used interchangeably when referring to it, `git` is the command though
20-06-07 20:43:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Git out of town.
20-06-07 21:19:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Hey Griatch. My crazy idea is picking up steam. :pystrong:
20-06-07 21:23:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> The souped up 'super'portal for linking multiple games. I just realized last night how to address a massive design problem
20-06-07 21:27:54: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I wanted to do something similar re super portal
20-06-07 21:28:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> As in have two separate shards running with just a translation layer for when players transition between the two games and then move channels to be handled by the portal only (no idea how it happens right now though) so chat can happen between all the connected games
20-06-07 21:31:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> My current design is
20-06-07 21:31:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Left it as a tommorow problem though but I am deffinetly interested in something like that, so there can be multiple servers but one portal eventually
20-06-07 21:33:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Python 3.8, its using asyncio, uvloop, sqlite3 via aiosqlite and tortose orm. It supports evennias multi procol homogenizing trick. The database stores mostly just user accounts and it has limited ability to execute commands... mostly chat, user management, game management and setting protocol options
20-06-07 21:35:37: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ye that would be cool, leave the server part unmolested how it is just move accounts, channels, sessions to that. With its own database and just being able to move objects between the databases in some fashion, my idea was just to convert to json and back again for a simple thing though.
20-06-07 21:36:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Multiple games connect to it using... im not yet sure.. some message style thats robust rpcy like AMP but more portable
20-06-07 21:36:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Each game must authenticate to an account
20-06-07 21:36:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Then
20-06-07 21:37:51: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> For my game themathically it would be enough if a player could trigger the transition, be frozen for a bit, their account and sessions moves over to the other server, puppets a mirror object and their attributes just get updated on the mirror object... the operation would be reversed going the other way.
20-06-07 21:38:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So that was really what I was sorta thinking about but something bigger and fancier would be cool for sure, whenever it happens that is.
20-06-07 21:38:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> U could have multiple ways of sending data to clients but i am imagining using xml for the "text" mode. So the 'portal' can then format it using ansi whatever
20-06-07 21:38:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> This way the servers dont have to care
20-06-07 21:39:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Sounds pretty involved, I mean if it works and gets there before 2077 could be good ;p
20-06-07 21:39:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Pft
20-06-07 21:41:19: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> For my thing I might have for lack of a better approach multiple portal>server setups and just put together something to transition players between the two, so it would be actually separate sessions and accounts. It would allow someone moving their character between games only, no other objects.
20-06-07 21:42:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Its not elegant but that was the rough concept in case I don't figure out how to do it in an elegant manner and I run into a problem that will require doing this.
20-06-07 21:46:05: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Right now I benchmarked some things and running a create operation for 35 objects took 1.7 seconds but a  delete operation on those rooms/exits took 3 seconds so with players triggering temporary areas built automatically like that I would have to have em prebuilt and do some clever instancing. Would be nice to just have all of that exist in a separate server instance and not affect the main game.
20-06-07 21:46:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Huh....
20-06-07 21:52:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Not quite the use i plan on
20-06-07 22:03:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Well this kinda thing is why I would want multiple servers really - having multiple completely separates games would be the same use in practice just with what I want to do, there would be an extra step of in the abstract moving objects between the databases which does not have to be part of the system at all.
20-06-07 22:04:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> In my case its just the attributes on the player objects which can be just turned into json and then back again between two apis.
20-06-07 23:07:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> in order for this to work you would need some way to bundle up what is and isn't a character. you might also need some way to identify a thing in a database-agnostic way... such that the concept of a thing's existence is detached from the objects that comprise the game simulation.
20-06-07 23:08:37: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The way I would do it would simply consist of a player puppeting a different character on a different server and updating values between those two characters. It would only happen in rooms that are used for these transitions.
20-06-07 23:14:50: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I already need to put together a way to serialise I suppose for lack of a better term the player character (and also account to some extent) when necessary so that players can retain their character progress in case the whole thing needs to be wiped and redone for some reason.
20-06-07 23:16:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> When moving from alpha>beta for instance, even if losing items and things that should not move between major versions (due to rebalances etc.) I think what most people care about is just not losing progress in general so going to be putting in a system that generally backups character to json or some other structure so it can be easily part of the regular server snapshots, handled on the filesystems side.
20-06-07 23:18:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Is there an easy way to retrieve all accounts currently logged in?
20-06-07 23:18:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Have a look at the who command how it does it backstage 🙂
20-06-07 23:18:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Good idea
20-06-07 23:23:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> I'm working on simple game time events, like the sun rising and such. I figure its easier to just echo in the rooms where there's a player listening
20-06-07 23:24:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> Then other systems will be able to bind onto these game events as well, to avoid polling
20-06-07 23:27:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Kektus: you can retrieve such information by accessing the ServerSessionHandler. from evennia import SESSION_HANDLER, I think
20-06-07 23:27:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> methods on that can retrieve things like 'all Accounts logged in'
20-06-07 23:27:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Kektus|H> thanks!
20-06-08 00:17:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> hi. i am having issues with installing  (ERROR: Command errored out with exit status 1: ( long access path) ( checked the trouble shoot, python is 64 bit version)
20-06-08 00:22:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> gonna need more details. platform?
20-06-08 00:23:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> win 10
20-06-08 00:23:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> i tried with differnt wersion wnt fro 20down to 17
20-06-08 00:25:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> uhhhhh
20-06-08 00:26:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> what specifically is giving you that error? Python installation?
20-06-08 00:26:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> ywisted
20-06-08 00:26:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> going with the instalation ghuide on website
20-06-08 00:28:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> ERROR: Failed building wheel for twisted
20-06-08 01:00:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> uhhhhhh
20-06-08 02:06:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> ok after reinstalling everything it worked T_T
20-06-08 03:50:42: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] spencer McGhin posted 'Re: Ticker Handler - Unexpected behavior when updating existing rooms' https://groups.google.com/d/msg/evennia/KxNZKB9VtUM/VxmyJLhhAgAJ|H
20-06-08 06:40:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Griatch Art posted 'Re: Ticker Handler - Unexpected behavior when updating existing rooms' https://groups.google.com/d/msg/evennia/KxNZKB9VtUM/GMU1Eq5qAgAJ|H
20-06-08 07:00:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Griatch Art posted 'Re: Message Returned to NPC - How to view message returned to tutorial npc?' https://groups.google.com/d/msg/evennia/geW8klIcHDY/BUfe_j5sAgAJ|H
20-06-08 10:49:37: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H Jace84 forked ainneve|H https://github.com/Jace84/ainneve|H
20-06-08 11:27:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> wooooo. Griatch, I'm making progress. 'bout to head to work, but...
20-06-08 11:27:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Today, after work, I hope to refine my launch process for what I am now calling Project Honahlee
20-06-08 11:30:52: [evennia] ircbot-Drastical: [email protected]#evennia: A non-portal-needing reload?
20-06-08 11:31:10: [evennia] ircbot-Drastical: [email protected]#evennia: Or what was the gist of it?
20-06-08 11:38:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> it's that 'super portal' concept I yammered at you about. inspired by Evennia's. The general idea I have is that it's a server program that opens up ports for different protocols, and treats all of them as game clients. It has a database of user accounts and has limited ability to execute commands at both the connection and client level, offering features such as Account-based chat and maybe the BBS. But it's not a game itself - instead,
20-06-08 11:38:59: [evennia] ircbot-Drastical: [email protected]#evennia: various games can 'register' a connection to it - which requjires a (probably privileged) Account to authenticate to - on an RPC port similar to Evennia's AMP setup (but probably something less Python-specific.)  Once there's a registered, connected game, users can 'join' their connection to it, and now any commands that aren't portal-commands (which will probably be prefixed) are routed to the connected game. The connected game receives a bit of stub
20-06-08 11:39:00: [evennia] ircbot-Drastical: [email protected]#evennia: information on the user's Account for database purposes, and their IP address, etc. Various tools will be available for game admins to restrict access based on those factors, blahblah...  The games then communicate over the RPC'y protocol (which I haven't decided upon yet.) And, probably, instead of having each one implement their own scheme for how text formatting works, I'll come up with some way of describing text layouts, colors, etc, via
20-06-08 11:39:00: [evennia] ircbot-Drastical: [email protected]#evennia: HTML/XML'y markup - since basically every programming language has a full suite of tools for passing that around... which the portal would then render to the relevant client(s).
20-06-08 11:41:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> currently, my prototype is using: Python3.8, asyncio with the uvloop reactor, sqlite3 via aiosqlite, and tortoise-orm (which is an async simple ORM that mimics Django's database API almost perfectly.)
20-06-08 11:42:16: [evennia] ircbot-Drastical: [email protected]#evennia: The generalized text formatting is interesting; the issue would not be to implement that but to define a strict but flexible-enough 'standard' for it.
20-06-08 11:42:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> yeah. I'm not sure if it's possible. But, only one way to find out
20-06-08 11:43:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> And I've already got a fairly solid design for handling plugins so you can easily add more protocols and stuff like that.
20-06-08 11:43:12: [evennia] ircbot-Drastical: [email protected]#evennia: Yeah, a standard for the text-formatting is something I'd be interested in. Not sure the super-portal concept is all that relevant for the Evennia case though.
20-06-08 11:43:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Heh. not yet it isn't. 😛
20-06-08 11:44:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> my basic idea for 'why is this a good idea' is...
20-06-08 11:47:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> The networking is one of the most challenging parts of putting together a multiplayer game server. ESPECIALLY if you're working at a low level, which many MU*'s do. This means that each one needs to them come up with its own scheme for all of the bloody text formatting, protocol handling, etc. And then there's soooo much re-inventing the wheel... in a dozen languages... all to tackle the same darned thing. BUT if your game uses
20-06-08 11:47:01: [evennia] ircbot-Drastical: [email protected]#evennia: "Honahlee", then it doesn't -need- to care about telnet... or much networking at all for that matter, beyond the RPC client - and if I play my cards right, I'll pick a solid library that has broad support across many languages....
20-06-08 11:48:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> This would allow for games to 'easily' be put together using whatever language and database you fancy that works for your concept - as long as it can speak the RPC language and work with the account information that it's fed for user activity...
20-06-08 11:48:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> And this would easily let -me- explore lots of different cool things. 🙂
20-06-08 11:49:02: [evennia] ircbot-Drastical: [email protected]#evennia: You are doing more than networking though, you are introducing an auth scheme at the portal level too (which means you need to handle login screens and Commands for e.g. a telnet connection).
20-06-08 11:49:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> yep.
20-06-08 11:49:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> And it's also parsing commands and determining what to do with it - whether to execute it on the portal or pass it along.
20-06-08 11:49:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> (though that should, as stated, probably be prefix-based)
20-06-08 11:49:41: [evennia] ircbot-Drastical: [email protected]#evennia: So no longer game agnostic.
20-06-08 11:50:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> not 100% game agnostic, no, but pretty close. My current analogy is something like Battle.net. You've got the one user account and some shared features, but each game can be wildly different.
20-06-08 11:52:26: [evennia] ircbot-Drastical: [email protected]#evennia: The Battle.net analogy is not very good I think. Battle.net is analogous to SSO to individual games. The Battle.net server is not processing every input of every user and sending them on to different games.
20-06-08 11:52:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> true
20-06-08 11:53:26: [evennia] ircbot-Drastical: [email protected]#evennia: I stand by the fact that adding support for SSO would be a much more efficient way to achieve what you want.
20-06-08 11:54:57: [evennia] ircbot-Drastical: [email protected]#evennia: a display-language definition is still useful between Server-Portal, regardless of the auth and other stuff.
20-06-08 12:00:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Why are you so critical of this idea...?
20-06-08 12:06:07: [evennia] ircbot-Drastical: [email protected]#evennia: You are introducing a lot of extra dependencies for your experiment, you are adding a second cmdhandler mechanism instead of having a clean network-game separation between Portal-Server. And multi-game authentication with a central authority is IMO best done with SSO. Not to mention that the idea of MUD-crossovers have been talked about for 30 years without it every taking off or being actually used or
20-06-08 12:06:13: [evennia] ircbot-Drastical: [email protected]#evennia: ...
20-06-08 12:06:15: [evennia] ircbot-Drastical: [email protected]#evennia: ... offering much benefit.
20-06-08 12:09:26: [evennia] ircbot-Drastical: [email protected]#evennia: Not even commercial entities like Iron Realms (which controls and owns several in-parallel running MUDs) do it the way you propose as far as I know - not sure if they even use a shared login across their games, but if they do, it'd be more like Battle.net central SSO rather than a single data-input pipeline for all their games.
20-06-08 12:51:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> sorry work struck
20-06-08 12:51:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> reading now
20-06-08 12:58:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Well I don't disagree that this is both unusual and has a lack of functioning precedent. mudtape, mudnet, etc, all have appeared and died throughout the years. Largely this was due to them being in the hands of individuals without the source code released, or any way to decentralize it or allow other people to start up their own 'networks' without coding a 'mudnet' from scratch...
20-06-08 12:59:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So yes... it's never been done this way before, and it does put eggs in one basket/add a dependency. But... are the cons -really- outweighing the pros?
20-06-08 13:00:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> there was also not enough support, and lack of a way for admins to properly CONTROL such tools
20-06-08 13:00:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> leading to their abuse in various ways.
20-06-08 13:01:39: [evennia] ircbot-Drastical: [email protected]#evennia: But seriously, assuming one added support for Open-SSO/Google-SSO/whatever-SSO to Evennia (via django-social or similar), would it then not be easier to just have that in a central place and then N number of  evennia Server+Portals running in your network, all with the same SSO configuration?
20-06-08 13:03:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> for Evennia, yes, that would be a fine addition.
20-06-08 13:04:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Probably should be on the roadmap to 2.0
20-06-08 13:05:15: [evennia] ircbot-Drastical: [email protected]#evennia: So what do you perceive as being the advantage to your take then? When you remove the need for central auth, what's the point of handling accounts on the Portal level?
20-06-08 13:06:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Well
20-06-08 13:17:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Preciousring|H> Hello all, i'm wondering if somebody could help me make a choice. So a player create a character via web character generation, i want to add stats before he enters in the game. Should i use the at_init object's method or Django signals with post_save (after the player submit the form).
20-06-08 13:19:02: [evennia] ircbot-Drastical: [email protected]#evennia: I'd suggest you save the form properly, then log them in. Don't use at_init; that's for handling initialization when the object is loaded into cache.
20-06-08 13:19:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> belatedly
20-06-08 13:19:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> sorry got swalloed by work again
20-06-08 13:20:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So I've been looking around in various places Griatch and I've realized that 99% of the games that -aren't- MU*s and DON'T use telnet instead use something like gRPC, protobuf, etc, for their client-server communications.
20-06-08 13:20:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> there are tons upon tons of libraries BUILT upon such things....
20-06-08 13:20:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Preciousring|H> Thanks @Griatch for your answer. I'll try that.
20-06-08 13:21:37: [evennia] ircbot-Drastical: [email protected]#evennia: @Volund: If you control the client, sure. Or websockets, which we already use.
20-06-08 13:22:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Right. But it's difficult to control the client in the MU* community due to all the wacky legacy bullcrap you're certainly familiar with by now.
20-06-08 13:22:50: [evennia] ircbot-Drastical: [email protected]#evennia: Sure. I think a webclient is as close to controlling the client one can get in this community.
20-06-08 13:23:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Unless you're Aardwolf but... yeah.
20-06-08 13:23:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> anyho
20-06-08 13:23:48: [evennia] ircbot-Drastical: [email protected]#evennia: We are talking about generic clients here :)
20-06-08 13:27:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> This might well end up being something that doesn't work. Or something that only I use and support - but to me, that's OK, as I am learning from it and may still achieve my goals. But I am envisioning a scenario where all of the games I support are hooked together into one SSO community. By having this 'portal' glue it all together, all of the IRC, IMC2, Discord, whatever, can be integrated into the portal and its channel system - now,
20-06-08 13:27:42: [evennia] ircbot-Drastical: [email protected]#evennia: you no longer need to consider such things for individual games.  Let's say... you don't want to use Evennia - you wanna code something in GoLang or C++ and use NoSQL or whatever for your database. Now, you don't have to re-implement telnet and a crazy pile of Account controls... you just hook it up, grab an XML library, and off you go.
20-06-08 13:29:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> It increases the separation of concerns dramatically, and I think it also leverages the strength of Python spectacularly.
20-06-08 13:31:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Python is very, very good at rapidly developed, super maintainable, highly extendable/moddable, collaborative efforts. Although it struggles with multiprocessing and parallelism, the various async engines like twisted, asyncio and trio deal with concurrency extraordinarily well. This means it is pretty good at networking.
20-06-08 13:32:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> It does have some weaknesses though, such as gobbling up an extraordinary amount of RAM and CPU compared to compiled, static languages like C++. There's a reason that most big multiplayer servers are... not written in Python. EVE Online, using stackless, is one intriguing exception, but that game is notorious for the slightly laggy interface and occasional server weirdness. (still, the sheer volume of what they handle is a testament to
20-06-08 13:32:59: [evennia] ircbot-Drastical: [email protected]#evennia: what is possible.)
20-06-08 13:34:10: [evennia] ircbot-Drastical: [email protected]#evennia: Ok. If you want something to play with for your own amusement, go for it. But I hope you understand why I'm critical of the approach, from the perspective of Evennia.
20-06-08 13:35:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Yeah
20-06-08 13:36:05: [evennia] ircbot-Drastical: [email protected]#evennia: (not sure if EVE's lagginess can be blamed on stackless Python, really ... eventually any server will crumble under the kind of real-time load you have in EVE Online during a big battle etc).
20-06-08 13:36:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> it's sometimes laggy as hell even if you're just hanging in a station trying to browse your inventory.
20-06-08 13:36:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> but the big battles are CRUNCH yes
20-06-08 13:37:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> btw... I wonder how asyncio+uvloop stacks up against twisted. am very curious.
20-06-08 13:38:11: [evennia] ircbot-Drastical: [email protected]#evennia: Interesting, I never experienced such lag outside of Jita ... but it was many years since I played EVE Online now, so maybe that changed :)
20-06-08 13:38:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> https://magic.io/blog/uvloop-blazing-fast-python-networking/
20-06-08 13:38:59: [evennia] ircbot-Drastical: [email protected]#evennia: @Volund: We could maybe check with @glyph if he knows of any speed comparisons.
20-06-08 13:42:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> what I can say for a certainty is that I was able to put together a telnet protocol in like 5 minutes.
20-06-08 13:43:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> https://github.com/volundmush/honahlee/blob/master/honahlee/networking/telnet.py it's just a framework that only implements echo'ing and MCCP2 for the moment but
20-06-08 13:43:20: [evennia] ircbot-Drastical: [email protected]#evennia: That's the same with Twisted, the trick lies in all the custom MUD extensions and special stuff that has been bolted onto Telnet over the years.
20-06-08 13:43:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> the full byte processing state machine is here.
20-06-08 13:45:08: [evennia] ircbot-Drastical: [email protected]#evennia: Looks straightforward enough
20-06-08 14:02:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> 🙂
20-06-08 14:09:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so yeah. in here, there's...
20-06-08 14:09:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> https://github.com/volundmush/honahlee/blob/master/honahlee/networking/base.py#L50
20-06-08 14:15:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so the idea is
20-06-08 14:15:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> you register a protocol with the Network Manager - it's Dictionary<string, class>
20-06-08 14:16:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and then
20-06-08 14:17:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> you use await net_man.create_server(name, address, port, protocol, tls) so you could register a "telnet" protocol and then create a "telnet" server that uses the "telnet" protocol and a "telnet_tls" server that also uses the "telnet" protocol but has TLS enabled.
20-06-08 14:18:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and then you could later do await net_man.stop_server("telnet") to stop accepting connections, I guess, in theory.
20-06-08 14:19:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> asyncio's cool
20-06-08 14:42:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> all hail 'async/await'
20-06-08 14:44:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: do you know if dbserialise has issues with defaultdict?
20-06-08 14:46:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I have a defaultdict(list) but get this error from dbserialise (same thing don't happen when testing same syntax out of evennia, without the .db handler)
20-06-08 14:46:12: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> (...)db_store.db.operation_history['some_key_that_dont_exist'].append({'1': 1, '2': 2}) File "/muddev/evennia/evennia/utils/dbserialize.py", line 224, in getitem return self._data.getitem(key) TypeError: list indices must be integers or slices, not str
20-06-08 14:46:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Are you attempting to store a DefaultDict in an Attribute?
20-06-08 14:46:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ye
20-06-08 14:47:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and what is its Default ?
20-06-08 14:47:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> self.db.operation_history = defaultdict(list)
20-06-08 14:47:15: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Thats whats ont he script object
20-06-08 14:47:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> huh.
20-06-08 14:48:03: [evennia] ircbot-Drastical: [email protected]#evennia: Don't think dbserializer supports DefaultDict.
20-06-08 14:48:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> you could store a dict and 'cast' it to defaultdict on load, maybe... as I have said repeatedly, I am -not- a fan of storing anything complicated in Attributes.
20-06-08 14:48:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> just stick to primitives and model references.
20-06-08 14:48:27: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I can do some longer form code but defaultdict was looking nice for this D:
20-06-08 14:48:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> why are you storing behavior in the attribute? store data. Keep your logic in the code and your data in the Attributes.
20-06-08 14:49:01: [evennia] ircbot-Drastical: [email protected]#evennia: Basically, you can store a DefaultDict, probably, but not if you store db-objects inside it.
20-06-08 14:49:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> load the attribute's contents and re-create a defaultdict
20-06-08 14:49:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> not storing behaviour
20-06-08 14:49:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> hmm, db objects as in full pickable objects?
20-06-08 14:49:59: [evennia] ircbot-Drastical: [email protected]#evennia: No, database objects.
20-06-08 14:50:01: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Its just strings in there, its a dict of lists and each lists has dicts that store strings
20-06-08 14:50:12: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> *list
20-06-08 14:50:20: [evennia] ircbot-Drastical: [email protected]#evennia: Then maybe DefaultDict itself is not pickle-able?
20-06-08 14:50:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I dunno, was wondering in general if it has to do with not grabbing first from db and then writing to db but doing it all on one line like that
20-06-08 14:51:36: [evennia] ircbot-Drastical: [email protected]#evennia: The dbserializer has not specific provision for DefaultDict so it's possible it just fails to return it in-line.
20-06-08 14:52:36: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> imma try not in line cause curious :0
20-06-08 14:52:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> brb
20-06-08 14:53:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> also no chooch
20-06-08 14:53:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> imma just innit the list by hand then
20-06-08 14:58:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So today my plan is thus
20-06-08 14:58:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm gonna work on the launch process and profiles.
20-06-08 15:00:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> need to figure out how to launch the program as a background process/daemon/etc, make the launcher able to start/stop it, create new profiles...
20-06-08 15:02:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: Something is off, if you do self.db.some_dict = {} is that supposed to be a _SaverList object?
20-06-08 15:02:11: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Should it not be saverdict?
20-06-08 15:02:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and the logger
20-06-08 15:02:44: [evennia] ircbot-Drastical: [email protected]#evennia: That should indeed be a _SaverDict.
20-06-08 15:03:00: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> yeah I am getting this:      if not db_store.db.operation_history.get(path_name): AttributeError: '_SaverList' object has no attribute 'get'
20-06-08 15:03:10: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> path_name is just a string
20-06-08 15:03:17: [evennia] ircbot-Drastical: [email protected]#evennia: Curious.
20-06-08 15:03:24: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ok wait wait, Imma recreate the script
20-06-08 15:03:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> need to redo the database, I think its a straggler from the defaultdict
20-06-08 15:03:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> But that shows the if its still a defaultdict, it turns into saverlist 😄
20-06-08 15:04:02: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I think thats where the .get method wierdness is from
20-06-08 15:04:09: [evennia] ircbot-Drastical: [email protected]#evennia: Aha
20-06-08 15:04:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> it might be trying to convert the 'list' class reference in DefaultDict into a - yeah
20-06-08 15:04:27: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Interesting, imma rebuild and see
20-06-08 15:04:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Python's argparse module is awesome
20-06-08 15:06:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> studies the evennia launcher
20-06-08 15:06:43: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah now it all works, the saverlist was a result of the defaultdict
20-06-08 15:12:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> huh
20-06-08 15:12:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> py Popen(portal_cmd, env=getenv(), bufsize=-1)
20-06-08 15:12:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> curious.
20-06-08 15:14:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> so apparently, the secret to launching a background process is to simply have the process you begin open a new process and then die itself
20-06-08 15:15:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> thus returning control to the shell
20-06-08 15:16:45: [evennia] ircbot-Drastical: [email protected]#evennia: For creating a daemon as is the case of the latest versions of Portal/Server, yes.
20-06-08 15:17:56: [evennia] ircbot-Drastical: [email protected]#evennia: The launcher will stay alive until the Portal reports that it's up and has started the Server in turn, so it's not dying immediately.
20-06-08 15:21:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> yeah I getcha.
20-06-08 15:29:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm thinking of having it store profiles in a predictable place, like ~/honahlee/<profilename>
20-06-08 15:38:44: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> man I am LOVING this track
20-06-08 15:38:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> https://jeffball.bandcamp.com/track/defiance
20-06-08 15:39:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> this sounds VERY Castlevania.
20-06-08 15:39:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ... which is unsurprising given that the entire game seems to be an Indie Igavania.
20-06-08 16:36:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> hm. well. Guess I'll have to re-organize this to have a proper launcher then tonight. Shouldn't be hard.
20-06-08 16:36:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Will get the profile framework grooving...
20-06-08 16:37:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and the settings shenanigans
20-06-08 16:40:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm quite impressed by tortoise so far. They've managed to mimic Django's Model-setup and query API very nicely. Not sure how well actually database access works yet but...
20-06-08 16:48:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Evennia's approach is a good template overall.
20-06-08 19:51:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> hmm
20-06-08 22:15:34: [evennia] ircbot-Drastical: [email protected]#evennia: Griatch: hi! re: speed comparison
20-06-08 22:16:07: [evennia] ircbot-Drastical: [email protected]#evennia: Griatch: the thing that uvloop is very fast at isn't really that interesting unless the rest of your application is so low-overhead that you just care about unencrypted bulk data transfer
20-06-08 23:40:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Kingston posted 'Skip using get_numbered_name for "Unique" NPCs' https://groups.google.com/d/msg/evennia/Di0Nsnkm1VQ/fTfFdoOiAgAJ|H
20-06-09 00:21:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> The evennia command is essentially a replacement for django right? So instead of django start, we use evennia start? If that is the case how could I add a django app to the evennia project, for example I want to add a tool in the INSTALLED_APPS. I know how to do this with Django but not Evennia. Thanks in advance.
20-06-09 00:42:36: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> In order for Django to find our new web app, we'll need to add it to the INSTALLED_APPS setting. Evennia's default installed apps are already set, so in server/conf/settings.py, we'll just extend them:  INSTALLED_APPS += ('web.character',)
20-06-09 00:42:51: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> https://github.com/evennia/evennia/wiki/Web-Character-View-Tutorial
20-06-09 07:59:35: [evennia] ircbot-Drastical: [email protected]#evennia: glyph: Thanks, this seems to quite often be the case in speed-comparisons not using real-world test cases.
20-06-09 08:01:42: [evennia] ircbot-Drastical: [email protected]#evennia: @Deakan: As The Sands already said, you add your django app to INSTALLED_APPS in your settings as usual. The `evennia` program is not a 1:1 replacement for the django management command though - `evennia start` is not doing the same thing as `django start` for example. But it does have pass-through to django commands, so you can do stuff like `evennia migrate` and have that be forwarded to Django's
20-06-09 08:01:48: [evennia] ircbot-Drastical: [email protected]#evennia: migrate ...
20-06-09 08:01:50: [evennia] ircbot-Drastical: [email protected]#evennia: ... command.
20-06-09 08:02:41: [evennia] ircbot-Drastical: [email protected]#evennia: Use `evennia --help` to see further details.
20-06-09 08:08:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Thank you.
20-06-09 09:10:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Outside of the documentation is there an example for GMCP? I am having a bit of trouble wrapping my head around it. Trying to send an int for health via GMCP. Can't quite seem to get it to work.
20-06-09 09:12:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Oh, think I got it. 🙂
20-06-09 09:14:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> MonitorHandler was what I was looking for if anyone else comes across this and needs the solution.
20-06-09 09:14:41: [evennia] ircbot-Drastical: [email protected]#evennia: Good things worked out
20-06-09 12:04:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> wargh
20-06-09 12:04:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> man I still am not yet over the emotional rollercoaster of a good game I recently played.... it's distracting my code efforts. 😦
20-06-09 12:11:17: [evennia] ircbot-Drastical: [email protected]#evennia: What game was that?
20-06-09 12:39:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Timespinner
20-06-09 12:39:52: [evennia] ircbot-Drastical: [email protected]#evennia: Hm. Never heard of
20-06-09 12:41:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> The story involves a time traveling heroine who's out to save her clan from an evil empire. It's a very retro-styled Metroidvania in the gameplay/aesthetic fashion of the more modern Igavanias like Bloodstained, Castlevania: Dawn of Sorrow, etc. (in fact, Castlevania: Dawn of Sorrow or Order of Ecclesia seems to be what this thing is most closely inspired by.) Without being spoilery, let's just say that all of the endings are very
20-06-09 12:41:38: [evennia] ircbot-Drastical: [email protected]#evennia: bittersweet because one of the consequences of using the "Timespinner" to alter time is you typically end up retconning yourself out of existence.
20-06-09 12:43:11: [evennia] ircbot-Drastical: [email protected]#evennia: Sounds interesting.
20-06-09 12:44:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and it also feels like it borrows heavily from Chrono Trigger by being kitchen sink sci-fi fantasy. it's got spaceships, computers, robots, and castles and magic etc.
20-06-09 12:44:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> (depending on what part of the timeline you're in.)
20-06-09 12:44:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> and the MUSIC
20-06-09 12:44:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> oh man
20-06-09 12:44:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> good stuff
20-06-09 12:45:22: [evennia] ircbot-Drastical: [email protected]#evennia: Ok, I've added it my Steam wishlist for when it drops below $10 next :)
20-06-09 12:47:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> now if I could just get some proper sleep so I'd have more than a smidgen of code energy. 🙂 might prove to be a quiet day... gonna see if I can work on my launcher
20-06-09 12:48:15: [evennia] ircbot-Drastical: [email protected]#evennia: Don't go to sleep at work, now!
20-06-09 13:13:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> heh
20-06-09 13:41:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> man I love Python. As much as I hate its failings... I gotta say that actually -coding- in it is a joy. EVERYTHING JUST WORKS. BAM BAM BAM
20-06-09 13:44:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Howell "Leroy" Jenkins|H> Python numba wan
20-06-09 13:46:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> if the GIL could just be abolished somehow...
20-06-09 13:47:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> or if IronPython or Jython could catch up to 3.7+...
20-06-09 13:47:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> THIS is also interesting but...
20-06-09 13:47:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> https://rustpython.github.io/
20-06-09 13:47:50: [evennia] ircbot-Drastical: [email protected]#evennia: It's coming :)
20-06-09 13:55:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> also I finally understand what all of that hubbub about io_uring was now.
20-06-09 13:55:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ..... sounds pretty cool. but since it's completion-based, it's almost useless for my purposes, as streams are only 'complete' when they close.
20-06-09 19:36:56: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Hmm.. considering dbref is also the primary key in the db, is it feasible to change a dbref of an object?
20-06-09 19:38:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> example: something is referenced by dbref (for good reasons) and that something gets deleted by mistake and recreated and the new thing gets the dbref of the old thing - can we do that withought breaking everything?
20-06-09 20:09:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> This is why I tend to use objid nowadays, which is dbref + creation timestamp
20-06-09 20:10:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> I don’t know if Evennia has an objid reference. I imagine it should.
20-06-09 20:11:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> If the new object with the same code has the same dbref, I would consider that a bloody miracle.
20-06-09 20:15:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Same code/same attributes and data, whatevah. I think this is a Mushcode problem, tho, since most databases will not reuse old keys ever.
20-06-09 21:19:12: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> is it possible to have a text editor like nano in evennia?
20-06-09 21:44:07: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H g33kcub forked evennia-1|H https://github.com/g33kcub/evennia-1|H
20-06-09 21:58:42: [evennia] ircbot-Drastical: [email protected]#evennia: The answer is simply that you should never handle dbrefs manually. Under the hood, Evennia uses a "objid" which consists of the pk, the creation time (millisecond precision) and object-natural-key (that is, the type of object). This is what is stored and managed in the database.
20-06-09 22:00:26: [evennia] ircbot-Drastical: [email protected]#evennia: @xhawk87: You have a vim-like editor already in Evennia. Nano is not suitable for a per-line input. If you are talking webclient though, yes I assume you could.
20-06-09 22:04:03: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch: This is for a behind the scenes system too
20-06-09 22:04:05: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Not using it manually
20-06-09 22:04:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> What I would want to do is change just the dbref if thats is feasible and wont break evennia itself?
20-06-09 22:05:29: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> In this system the part I am designing is intended to unmess up a messed up situation
20-06-09 22:06:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The situation already is bad at that point however it can be recovered, easiest would be to recreate a missing object with same dbref - everything else can be different (timestamps etc.) only the dbref would need to reuse an existing and missing one
20-06-09 22:06:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> existing as in already created in this case then deleted
20-06-09 22:09:14: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> @Griatch Thanks. I'm not entirely sure what the capabilities of traditional MUD clients are, and whether I should stick to supporting them or forget that and make it web-client only for greater flexibility
20-06-09 22:11:29: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I can reimplement dbrefs but the whole thing works fine with dbrefs right now, it achieves certain aims because of its usage of dbrefs specifically. I would need to reimplement dbrefs exactly as they are as a separate attribute which seems a bit of a waste of time and energy if I could just change it otherwise.
20-06-09 22:12:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @xhawk87 If you do your building from code rather than ingame then you can use whatever editor you want - thats one of the big reasons I am putting together more comprehensive tools for building from code.
20-06-09 22:13:03: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> You can make a plugin for one of the code editors/ide's too, to do some additional linting your buildfiles or what have you
20-06-09 22:13:35: [evennia] ircbot-Drastical: [email protected]#evennia: It's technically possible to re-use the dbref if you really want to. All references to the object (such as in Attributes) will be gone though, since the internal key will no longer match.
20-06-09 22:13:50: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeye, thats for an object already deleted
20-06-09 22:14:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> This is for a validator module for my building system, so it can detect missing objects somewhere in the tree of build operations that happened and recreate them 🙂
20-06-09 22:14:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So all I would do is just overwrite object.dbref ?
20-06-09 22:15:15: [evennia] ircbot-Drastical: [email protected]#evennia: No, I think you'd need to assign to object.id and then do object.save() specifically.
20-06-09 22:15:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> ok so object.id = dbref int (without the #) then object.save() ?
20-06-09 22:15:42: [evennia] ircbot-Drastical: [email protected]#evennia: (dbref is just "#" + obj.id)
20-06-09 22:16:00: [evennia] ircbot-Drastical: [email protected]#evennia: id is an integer, yes.
20-06-09 22:16:06: [evennia] ircbot-Drastical: [email protected]#evennia: .pk is an alias
20-06-09 22:16:31: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> coolio - the fixing system would just recreate the missing object, overwrite its object.id and call object.save() and it be good?
20-06-09 22:16:42: [evennia] ircbot-Drastical: [email protected]#evennia: Maybe.
20-06-09 22:16:57: [evennia] ircbot-Drastical: [email protected]#evennia: It's not something you really do, so you are on your own.
20-06-09 22:17:29: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I could reimplement dbrefs as a separate value that I use too
20-06-09 22:18:21: [evennia] ircbot-Drastical: [email protected]#evennia: How can you end up with 'holes' in your build tree anyway?
20-06-09 22:18:31: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> If someone deletes an object by mistake
20-06-09 22:19:04: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So as I am putting down the basics now I am already catching exceptions, raising them etc. along the whole process and thinking about obvious things going bad.
20-06-09 22:19:07: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> that's interesting. What I'm trying to do is essentially make building a part of the game. have players gather resources, and construct new rooms and objects themselves based on templates. the use-case I'm thinking of is like writing on paper or on a blackboard etc, so players will need an easy means of editing text
20-06-09 22:19:12: [evennia] ircbot-Drastical: [email protected]#evennia: But why would the specific dbref matter?
20-06-09 22:19:34: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Cause build history is stored with data for dbrefs for objects that where built 🙂
20-06-09 22:19:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Among other things that is used later on for rollback operations and such
20-06-09 22:20:03: [evennia] ircbot-Drastical: [email protected]#evennia: Right. I'd suggest that's not a good design.
20-06-09 22:20:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I could store actual objects instead of dbref but not sure how that would go over
20-06-09 22:21:17: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> the id's are unique and also uncoupled from the code, I could reimplement my own ids based on dbrefs though
20-06-09 22:21:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> These rollbacks are going to be rare in production, only if things go wrong
20-06-09 22:22:43: [evennia] ircbot-Drastical: [email protected]#evennia: Well, you couldn't rebuild if you stored the actual objects (== or rather the unique db-storage form); since they'd be deleted at that point. Well, if you know what you are doing, go for it. I have voiced my concerns, that's all I can do :)
20-06-09 22:23:03: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I have separate build history that can be used for various things and then build data with timestamps and dbrefs and variable names that I can then be repopulated as part of enter magic method into self.various_containers
20-06-09 22:23:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So in my buildfile I don't use separate variables, I use a dictionary with keys that are the variable names instead 🙂
20-06-09 22:23:43: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> So if buildfile fails at any moment, what was up to that point is already in self.container_this_or_that and can be deleted etc.
20-06-09 22:23:52: [evennia] ircbot-Drastical: [email protected]#evennia: Is this for building/rebuilding a grid or something more complex?
20-06-09 22:24:00: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Just general building of things 🙂
20-06-09 22:24:08: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> If there is an exception it undoes what it did
20-06-09 22:24:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> The second feature I just finished but untested is that you can rollback what was built and to store a build history for later reference (so data is deleted from a helper structure for that build but history retains that it happened and was then rolled back)
20-06-09 22:25:20: [evennia] ircbot-Drastical: [email protected]#evennia: So why not something like batch-cmd? If something gets lost you can jump forth to just the part that's missing and re-do that. Even if you want something more powerful, I don't really see why you couldn't do something like that without needing to know dbrefs ...
20-06-09 22:25:55: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I need to grab reference to object easily for the rollbacks
20-06-09 22:26:19: [evennia] ircbot-Drastical: [email protected]#evennia: The tutorial world doesn't even use tags for this; it just uses unique aliases to be able to link everything back up.
20-06-09 22:27:22: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah I thought about tags but this part is sort of agnostic of the objects themselves - it works fine for now, just thinking about possible problems down the line. I will be refactoring and adjusting how this thing works untill its properly extendable
20-06-09 22:27:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I started with redoing batch code and that worked but then went for this cause I want to build a lot on top and need to go back and forth to make it just right
20-06-09 22:27:59: [evennia] ircbot-Drastical: [email protected]#evennia: The rooms are all aliased as tut#01, tut#02 ... (there aren't that many rooms in the tutorial), and that's what the exits use to link up.
20-06-09 22:28:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Oh dbrefs are not used for the actual build 😄
20-06-09 22:28:39: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> this is just for rollbacks for now and to printout a nice thing about what happened later on if one needs to know
20-06-09 22:28:57: [evennia] ircbot-Drastical: [email protected]#evennia: But even if a room was deleted in the middle of the grid, just rerunning that part of the build script would be enough to link it back up to the aliases.
20-06-09 22:30:09: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Yeah how it will fix a thing I don't know yet, it might do exactly that - only thing dbref would be used for is to first prep up a list of actual object pointers from dbrefs
20-06-09 22:30:34: [evennia] ircbot-Drastical: [email protected]#evennia: Gah, I need to wrap up my work on the static-doc builder, but the thing is resisting me. :/ Alas I need to head to bed. Goodnight!
20-06-09 22:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Safe 🙂
20-06-09 22:30:52: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ill show you once I get this nicer if youll be interested Griatch
20-06-09 22:30:59: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Just on the down low cause I am like that ;0
20-06-09 22:31:06: [evennia] ircbot-Drastical: [email protected]#evennia: Sure
20-06-09 22:31:09: [evennia] ircbot-Drastical: [email protected]#evennia: Good night!
20-06-09 22:31:14: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> nightey night!
20-06-09 22:42:59: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> @xhawk87 There is also an interactive python shell available, so you got the vim thing for crazy people ( c: ) and then you got the interactive shell. Could do a lot with that 😄
20-06-09 22:44:07: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> someone needs to put together an ingame emacs style thing so we could argue vim vs emacs in game c:
20-06-09 22:55:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> HALLOOOOOOOOOOOOOOOOOOOOOOOOOR
20-06-09 22:58:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> henlo
20-06-10 01:23:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> slowly making progress
20-06-10 01:40:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] spencer McGhin posted 'Re: Message Returned to NPC - How to view message returned to tutorial npc?' https://groups.google.com/d/msg/evennia/geW8klIcHDY/H5QpVHX3AgAJ|H
20-06-10 02:09:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> if I get some good rest, maybe I'll actually be able to achieve something soon. I'm currently poke poke poking
20-06-10 02:33:50: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> So I'm kind of stumped on part of EvenniaTest's behavior. I create an EvenniaTest object, create a test, run a (import) to initialize some data at the beginning of the test, and the test passes. I create a second test and the second test fails because the data created in the first test is nuked, so I put in the exact same couple of lines that I put in the first test and the data still doesn't seem to exist.
20-06-10 03:11:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I gotta zzzzzz but
20-06-10 03:12:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> unfortunately I've never run the tutorial stuff so I have no idea what you're referring to. 😦
20-06-10 03:15:48: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Not the tutorial stuff. Unittesting.
20-06-10 03:21:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> oh
20-06-10 03:21:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I have no idea in that case.... you'll have to show the code and maybe we cna figure it out
20-06-10 03:21:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I zzzzzz though
20-06-10 08:03:04: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> How do you escape apostrophes in Evennia now? Like in a room description?
20-06-10 08:09:53: [evennia] ircbot-Drastical: [email protected]#evennia: When creating the description in-game you mean? Doesn't the plain ' or " work? I'd think they would get escaped.
20-06-10 08:10:16: [evennia] ircbot-Drastical: [email protected]#evennia: Otherwise I suppose \' and \" should work.
20-06-10 08:10:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Not working for me, shows this:             Invalid characters in outgoing data, one or more characters cannot             be encoded into the range that is acceptable for the character             encoding that is currently set {"ASCII"} for the game server.             It may not understand what is sent to it.             Note: this warning will only be issued once, even if this happens again, until             the encoding is changed.
20-06-10 08:10:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> and the string in the dexription is: fountain's water
20-06-10 08:11:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Which I think non-native English speakers call that a back tick
20-06-10 08:11:51: [evennia] ircbot-Drastical: [email protected]#evennia: Are you sure the apostrophe is the apostrophe character ' and not some fancy special character that your editor adds?
20-06-10 08:12:16: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Yes it is a plain ol apostrophe
20-06-10 08:12:35: [evennia] ircbot-Drastical: [email protected]#evennia: Also, why is your server running with an ASCII encoding ... ?
20-06-10 08:13:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> I don't know? Updated to the recent Evennia and just noticed that warning for the first time.
20-06-10 08:13:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> And it was my editor, sorry for that.
20-06-10 08:13:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> But how can I switch to UTF-8?
20-06-10 08:13:48: [evennia] ircbot-Drastical: [email protected]#evennia: Evennia defaults to UTF-8.
20-06-10 08:14:10: [evennia] ircbot-Drastical: [email protected]#evennia: Unless you change encoding in settings.
20-06-10 08:14:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Apparently not my installation, have not changed anything in regards to that.
20-06-10 08:15:04: [evennia] ircbot-Drastical: [email protected]#evennia: That's curious. I'd almost suggest you were running python2 but Evennia would not even start with that nowadays :)
20-06-10 08:15:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> I bet I know the issue...
20-06-10 08:15:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> I did switch to Postgres today
20-06-10 08:16:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Most likely need to update the client encoding on that
20-06-10 08:18:55: [evennia] ircbot-Drastical: [email protected]#evennia: That may be.
20-06-10 08:20:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> I switched the encoding and rebooted the server, is there a good way to test and see what the encoding is now?
20-06-10 08:21:51: [evennia] ircbot-Drastical: [email protected]#evennia: Not really sure what the cause of this particular discrepancy is in the first place. Not sure where you look. Evennia itself assumes UTF-8.
20-06-10 08:22:56: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> The only thing I could think of that I have changed aside from updating Evennia currently is the change to postgresql, so that must have been the culprit. 🙂 If I find out otherwise I will let you all know.
20-06-10 11:08:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> RAWR!
20-06-10 14:37:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Deakan|H> Anyway to highlight an entire line from end to end of the terminal despite how long the text is? ANSI or Xterm256? I can highlight the start to end of the string but not end to end of the terminal.
20-06-10 15:05:15: [evennia] ircbot-Drastical: [email protected]#evennia: You need to get the client window width (this will be different for every client). You can get this in your Command via `self.client_width()`. You then need to dynamically split your string into colored chunks of this width.
20-06-10 18:44:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Melanite|H> I'm having an issue with Evennia, specifically trying to reload the server or change passwords (and likely other things, but those are the two I've checked): It spits out this: PermissionError: [Errno 13] Permission denied: '/home'
20-06-10 18:51:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Melanite|H> I'm guessing it's some ridiculously simple solution, but... I'm at a loss
20-06-10 18:55:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Melanite|H> Ah, it's for any command I try to run using 'evennia' as a prefix...
20-06-10 19:11:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Melanite|H> (Ignore me, I fixed the issue)
20-06-10 22:32:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> hi. can i ask extreme newb questions here?
20-06-10 22:36:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> ( background: we are lookng to start a new mud and looking for good engine for it, evennia seems good for me so i am doing some test run. i do have programing background but there is 10-15 years of rust on my skills ( hadnt coded anything except fallout/skyrim modscripts) so yea need to learn most things from scratch : The dumb new b question is: where to put the utils modules? ( the dont seem to be installed with base game by following
20-06-10 22:36:03: [evennia] ircbot-Drastical: [email protected]#evennia: the quide. ( i have local server runnign and playing a bit with guidess and tutorials. i run ionto one that require EvForm. found it on git, now where do i put it?
20-06-11 00:52:35: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> ok i am an idiont issue solved T_T
20-06-11 01:35:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ooooharfh?
20-06-11 01:35:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> tired, trying to follow
20-06-11 02:37:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Hattiehats|H> import pulled a sneaky on them, no worry
20-06-11 03:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Zude Onim posted 'Re: [Evennia] Skip using get_numbered_name for "Unique" NPCs' https://groups.google.com/d/msg/evennia/Di0Nsnkm1VQ/abwtXJgNBgAJ|H
20-06-11 03:58:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Alright, so I have this idea for combat. Where "turns" are really just oppurtunities to make decisions. So a battle starts, both players pick an action (a punch or a kick or a block etc), your perception determines when you'll identify what your opponent is doing and give you an oppurtunity to change your option, Their perception will give them the option to respond etc etc. I'm imagining it ended up like an text based Toribash
20-06-11 03:58:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> The problem is combat would take an inordinate amount of time
20-06-11 03:59:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> So instead of the battles happenign in real time, the idea is that when a "battle" is happening, the particpants outwardly look like their mediating or focusing
20-06-11 04:00:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Whilst the participants are working out combat. Then when it concludes, it plays out in real time
20-06-11 04:00:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Like this: https://www.youtube.com/watch?v=rylEfnxeUZo
20-06-11 09:16:11: [evennia] ircbot-Drastical: [email protected]#evennia: @Lamhirh: Welcome to Evennia; newbie questions are ok :) I don't know what conclusion you drew on using utilities like EvMenu, but the answer is that you don't "put" the utils anywhere, you import them into your own code and use them there.
20-06-11 10:45:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> rawr
20-06-11 11:19:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Lamhirh|H> Griatch: typo in import can resuly in EvForm not found. +the structure oif evenia folde - my game folder made me think it was nt there  - as i said iam an idiot:P
20-06-11 12:00:28: [evennia] ircbot-Drastical: [email protected]#evennia: Nah, an easy mistake to make.
20-06-11 12:53:05: [evennia] ircbot-Drastical: [email protected]#evennia: jkjjj
20-06-11 12:53:25: [evennia] ircbot-Drastical: [email protected]#evennia: Bah, vim input in IRC :)
20-06-11 14:58:34: [evennia] ircbot-Drastical: [email protected]#evennia: Mine usually has an o in front from me trying to change tmux panes, ojkjkjkjk
20-06-11 15:04:24: [evennia] ircbot-Drastical: [email protected]#evennia: I just Ctrl-A as the header-key for tmux change
20-06-11 15:14:37: [evennia] ircbot-Drastical: [email protected]#evennia: Screen habits die hard
20-06-11 18:53:22: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I need to fix my header key on one of my servers.  Everywhere else I have it changed to ctrl-a, and ctrl-b just does not work for me.
20-06-11 22:17:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> hmmmhmhmhmhmhmhmhm
20-06-12 06:33:34: [evennia] ircbot-Drastical: [email protected]#evennia awakes. One of those weeks.
20-06-12 06:33:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> henlo
20-06-12 06:34:31: [evennia] ircbot-Drastical: [email protected]#evennia: Yo
20-06-12 06:38:51: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Griatch been wondering about that for a while, do we want to consolidate the community on our own forum, irc server etc. at some point?
20-06-12 06:39:07: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> As in not google sites, not goole groups etc.
20-06-12 06:41:30: [evennia] ircbot-Drastical: [email protected]#evennia: I haven't made a decision on the google site, but one possibility would be to host it on github along with the static docsite when that is ready. Github are beta-testing community forum-like forums now too, so that's something I'll be looking into as well.
20-06-12 06:42:28: [evennia] ircbot-Drastical: [email protected]#evennia: I doubt we'll be hosting our own irc servers.
20-06-12 06:42:50: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ye, was just wondering if its all sorta waiting on the side or is supposed to be like it is for various reasons 🙂
20-06-12 06:43:17: [evennia] ircbot-Drastical: [email protected]#evennia: It has served us well for many years. But alas google groups is not maintained very well and is quite limited.
20-06-12 06:43:47: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Current evennia site is also django right?
20-06-12 06:44:02: [evennia] ircbot-Drastical: [email protected]#evennia: No, evennia.com is a google site
20-06-12 06:44:54: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Ohh ok hmm... github sounds good cause it would be maintained for a long time probably
20-06-12 06:46:47: [evennia] ircbot-Drastical: [email protected]#evennia: Haven't decided on that, as said.
20-06-12 16:53:06: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H Zironic commented on issue #2053|H ([BUG] Corrupt log locks server) in evennia|H: This code will consistently reproduce the bug if added to am[1082 more]|H (https://github.com/evennia/evennia/issues/2053#issuecomment-643381302|H)
20-06-12 17:00:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> Manually creating a failing AMP box was both easier and harder then I expected it to be. It's so damn weird that the twisted serializer throws a fit unless you UTF encode the box.
20-06-12 17:08:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> I still have no clue what generates the bad boxes on Arx, my best theory would be a race condition of some sort but now you should have an easy way to mess around with the bug without messing around inside Twisted.
20-06-12 17:15:17: [evennia] ircbot-Drastical: [email protected]#evennia: Ooh, cool, thanks!
20-06-12 17:28:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> there exists an annoying bug that makes trying to debug the server hard sometimes. Which is randomly the server log is written in chinese instead of english
20-06-12 17:29:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> I assume it's an encoding error of somekind
20-06-12 17:29:32: [evennia] ircbot-Drastical: [email protected]#evennia: Heh, that's not something I've ever seen. Do you have Chinese fonts set up?
20-06-12 17:29:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> Yeah, I get this lol
20-06-12 17:29:49: [evennia] ircbot-Drastical: [email protected]#evennia: 〲〭ⴶ㈱ㄠ㨹㤲㌺⬰㈰䰠慯楤杮挠尺牡屸癥湥楮屡癥湥楮屡敳癲牥獜牥敶⹲祰⸮ਮ〲〭ⴶ㈱ㄠ㨹㤲㌺⬱㈰䰠慯敤⹤㈊ⴰ㘰ㄭ′㤱㈺㨹ㄳ〫′睴獩摴ㄠ⸹〱〮⠠㩣慜硲敜敶癮獜牣灩獴灜瑹潨⹮硥⁥⸳⸸⤱猠慴瑲湩⁧灵ਮ〲〭ⴶ㈱ㄠ㨹㤲㌺⬱㈰爠慥瑣牯挠慬獳›睴獩整⹤湩整湲瑥献汥捥牴慥瑣牯匮汥捥剴慥瑣牯ਮ〲〭ⴶ㈱ㄠ㨹㤲㌺⬱㈰圠扥敳癲牥
20-06-12 17:29:50: [evennia] ircbot-Drastical: [email protected]#evennia: 猠慴瑲湩⁧湯㐠〰ਵ〲〭ⴶ㈱ㄠ㨹㤲㌺⬱㈰嬠㨺⁝潎敮祔数›潎敮㈊ⴰ㘰ㄭ′㤱㈺㨹ㄳ〫′䕛嵅椠据浯湩⁧慰瑲慩慤慴›Ѐ慟歳Ā1弈潣浭湡d䄒浤湩潐瑲污匲牥敶r㈊ⴰ㘰ㄭ′㤱㈺㨹ㄳ〫′䕛嵅瀠捡敫彤慤慴焀썸殚쉠슝쎚Ž쌁ઞ〲〭ⴶ㈱ㄠ㨹㤲㌺⬱㈰嬠䕅⁝뗂㑓㡺돃㈊ⴰ㘰ㄭ′㤱㈺㨹ㄳ〫′䕛嵅删诂䬒쌲쎳슳쎦ゴ伲꧃⸑ⵎ䬪숭⾊ⵊ䤮⨬观迃跃䥏
20-06-12 17:29:50: [evennia] ircbot-Drastical: [email protected]#evennia: 鷂鋃菃쉑农쉚슒徒后蓃쉝媜ੜ〲〭ⴶ㈱ㄠ㨹㤲㌺⬱㈰嬠䕅⁝쉔슞墒鋂숸皥쉊悏繁䥑乢䐼䥹湦꫃眔蟃ꯃ쌻쎞슝슋쎜喯髃䔶|H쌆⶘ 弇湡睳牥Ā1਀〲〭ⴶ㈱ㄠ㨹㤲㌺⬱㈰䔠敶湮慩匠牥敶⁲畳捣獥晳汵祬猠慴瑲摥ਮ
20-06-12 17:30:06: [evennia] ircbot-Drastical: [email protected]#evennia: Do you read Chinese?
20-06-12 17:30:12: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> no
20-06-12 17:30:19: [evennia] ircbot-Drastical: [email protected]#evennia: Then it's not really that useful, no :)
20-06-12 17:30:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> It's not actually chinese I think, it's just unicode nonsense
20-06-12 17:31:06: [evennia] ircbot-Drastical: [email protected]#evennia: Probably.
20-06-12 17:31:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> There we go, third reboot and it logs in english again
20-06-12 17:31:37: [evennia] ircbot-Drastical: [email protected]#evennia: What do you do to get that phenomenon? I've never seen the log getting corrupted like that.
20-06-12 17:32:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> I delete the log so it's less spammy. So bug may be caused by some kind of arcane interaction between python and the windows file handles
20-06-12 17:32:39: [evennia] ircbot-Drastical: [email protected]#evennia: Ah, one can always blame Windows. It's comforting.
20-06-12 17:40:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> So the tricky part about reconnecting seems to be that the server is currently written to assume that a connection means a fresh start and run_init_hooks does a bunch of heavy work.
20-06-12 17:48:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> Fixed it I think
20-06-12 17:48:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> elif operation == amp.PSYNC:  # portal_session_sync             # force a resync of sessions from the portal side. This happens on             # first server-connect.             if self.factory.reconnecting == True:                 self.factory.reconnecting = False             else:                                 server_restart_mode = kwargs.get("server_restart_mode", "shutdown")
20-06-12 17:48:53: [evennia] ircbot-Drastical: [email protected]#evennia: self.factory.server.run_init_hooks(server_restart_mode)                 server_sessionhandler.portal_sessions_sync(kwargs.get("sessiondata"))                 server_sessionhandler.portal_start_time = kwargs.get("portal_start_time")
20-06-12 17:49:02: [evennia] ircbot-Drastical: [email protected]#evennia: pastebin please
20-06-12 17:51:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> https://pastebin.com/gPMcj7yW
20-06-12 17:51:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> That code works for me. Each time a bad Ampbox is sent the game locks up for 2-3 seconds and then continues like normal.
20-06-12 17:53:00: [evennia] ircbot-Drastical: [email protected]#evennia: Interesting. I can't check it right now though. Would you mind putting that in the issue as well?
20-06-12 17:53:39: [evennia] ircbot-Drastical: [email protected]#evennia: Or maybe something for a PR
20-06-12 17:54:05: [evennia] ircbot-Drastical: [email protected]#evennia: But the question is why that bad Ampbox shows up in the first place
20-06-12 17:55:23: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H Zironic commented on issue #2053|H ([BUG] Corrupt log locks server) in evennia|H: This is proposed code that will handle the broken boxes when[378 more]|H (https://github.com/evennia/evennia/issues/2053#issuecomment-643408966|H)
20-06-12 17:57:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> The server is single threaded right? All commands are processed sequentially?
20-06-12 17:57:53: [evennia] ircbot-Drastical: [email protected]#evennia: Yes. Asynchronously, but single-thread.
20-06-12 18:01:47: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> I think my only plausible theory was that an error of type 'keyerror' happens somewhere inside of portal.
20-06-12 18:02:09: [evennia] ircbot-Drastical: [email protected]#evennia: It's masked by this, you mean?
20-06-12 18:02:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> yes
20-06-12 18:03:04: [evennia] ircbot-Drastical: [email protected]#evennia: Quite possible
20-06-12 18:03:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> The way Twisted is written, the function that processes the _answer is run before the data buffer is updated. So if an error of type 'keyerror' happened in that specific function, it could theoretically trigger the whole thing.
20-06-12 18:03:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> I'm not sure where to manually raise a keyerror to test that theory
20-06-12 18:04:43: [evennia] ircbot-Drastical: [email protected]#evennia: Yeah, it's a bit of a maze.
20-06-12 18:05:18: [evennia] ircbot-Drastical: [email protected]#evennia: Easiest is probably to manipulate twisted code itself inside the virtualenv
20-06-12 18:05:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> Or actually.... Wouldn't that be portal_receive_server2portal
20-06-12 18:06:23: [evennia] ircbot-Drastical: [email protected]#evennia: Not sure off the top of my head, can't bring up the code right now, alas
20-06-12 18:17:00: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> Hmm, raising an error there doesn't cause any problems. It's handled by the @amp.catch_traceback
20-06-12 19:04:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> I can't figure out which part of the Portal code actually handles _answers.
20-06-12 19:15:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> Actually found the place, but raising a keyerror there doesn't do anything. The place _answers end up is in portalsessionhandler data_out
20-06-12 19:35:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> I'm starting to lean towards the idea that the KeyError can only happen inside Twisted which implies that the buffer and connection were corrupted. Maybe a server vs portal race condition or something.
20-06-12 20:38:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> The full code path is  Evennia Amp dataRecieved->Twisted dataRecieved->dataRecieved->stringReceived->proto_key->ampBoxReceived->_answerReceived* -> Evennia portal_receive_server2portal -> PortalSessionHandler.data_out   *KeyError happens here **KeyError can't happen here
20-06-12 21:14:12: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Yes, it's a more complex return structure. It's still more c[48 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r439644925|H)
20-06-12 21:17:14: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: "node" is yet another custom key to remember. Better to use[106 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r439645978|H)
20-06-12 21:21:21: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: With `EvMenu.*_formattername(**default_kwargs)` I just refer[170 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r439647323|H)
20-06-12 21:21:56: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: Fair enough. We can deprecate later. It's just that the docu[34 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r439647508|H)
20-06-12 21:40:14: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H Griatch created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I can possibly accept your argument on the basis of  an easi[916 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r439653235|H)
20-06-12 21:40:52: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 5 commits to evennia|H/master|H (https://github.com/evennia/evennia/compare/8f3ed8c9d57e...9151517d5e42|H):
20-06-12 21:40:53: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Add initial static-doc to master for proper versioning
20-06-12 21:40:54: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Set branch whitelist
20-06-12 21:40:55: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [1 more] ...
20-06-12 21:40:56: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Remove testing virtualenv
20-06-12 21:40:57: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Include toc in index
20-06-12 21:41:13: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 63 commits to evennia|H/develop|H (https://github.com/evennia/evennia/compare/a698b1bf712c...c4cc046087d3|H):
20-06-12 21:41:14: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Add docs/ dir
20-06-12 21:41:15: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Update conf
20-06-12 21:41:16: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [59 more] ...
20-06-12 21:41:17: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Resolve merge conflicts
20-06-12 21:41:18: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Another round of merge conflict fix
20-06-12 21:57:44: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/develop|H: [Griatch]: Add develop branch doc intro
20-06-13 00:10:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> ungaaaaaaaaaaaaaaaaaa
20-06-13 00:10:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> whats the haps
20-06-13 00:51:05: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: I see what you're saying there now. Essentially the entire d[222 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r439692776|H)
20-06-13 00:52:05: [evennia] ircbot-Drastical: [email protected]#evennia: [PR review]|H esampson created review comment on PR #2141|H (Upgraded EvMenu) for evennia|H: So basically it is calling by a variable name (as discussed[63 more]|H (https://github.com/evennia/evennia/pull/2141#discussion_r439692882|H)
20-06-13 01:08:36: [evennia] ircbot-Drastical: [email protected]#evennia: Just set up evennia, tried to Google this, but no luck...when I'm in the initial Limbo room it says "Command '@batchcommand tutorial_world.build' is not available. Type "help" for help." I'm on Lubuntu in the terminal
20-06-13 01:10:39: [evennia] ircbot-Drastical: [email protected]#evennia: <Lach|H> I have a return_appearance on my room class which scans all exits (n,ne,e, etc) for up to 3 steps away (a lot of scanning) and builds a minimap. My issue is that when there's lots of scanning, like in an 'outside' area, it takes a couple of seconds to return the minimap. Does my computer CPU affect the speed that this would process? Currently running evennia on a ten-year old laptop.
20-06-13 01:35:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Betaclip: are you the super user?
20-06-13 01:36:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Zude: Yes. A faster system may not have the delay
20-06-13 01:36:54: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Question though. Are your areas subject to change?
20-06-13 01:37:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> If not.You could bake it in
20-06-13 01:37:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> And have a static minimap returned for each area
20-06-13 01:39:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I've always found the worm method to be a little brute forcey
20-06-13 01:44:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Lach|H> @Cloud_Keeper Thank you for your reply. Yes, in addition to returning a little ascii map piece (::: or :,: , etc) I also have the 'scanner' determine if there are mobs or characters there, and highlight the map piece accordingly. I also have farm/biodome areas where plants grow, changing the ascii graphic for that area.. so yes, it is a dynamic map. I have thought of and implemented the option to just display a static map, as a bit of a
20-06-13 01:44:24: [evennia] ircbot-Drastical: [email protected]#evennia: work-around, but I'd rather use the dynamic map, of course. It's good to know that a better CPU will probably make a difference. I will eventually be testing it out on a better machine.
20-06-13 06:26:40: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> I would imagine evennia is relatively accessible for blind users, the only thing is if you use any kind of pictorial symbols in ASCII it's not going to make sense. Anyone have any thoughts on how to convey map information clearly via text-to-speech?
20-06-13 06:49:45: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> You could work it out so that it creates a paragraph of text. Depends how you're doing your maps
20-06-13 06:49:55: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> "To the blank is blank"
20-06-13 07:07:53: [evennia] ircbot-Drastical: [email protected]#evennia: Will Evennia work if both python 3 and 2 are installed- how do you get it to reference python3?
20-06-13 08:24:27: [evennia] ircbot-Drastical: [email protected]#evennia: castlelore: Easiest is to use a virtualenv which you specify should use the python3 binary. The GettingStarted instructions explains how.
20-06-13 10:37:31: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 3 commits to evennia|H/master|H (https://github.com/evennia/evennia/compare/9151517d5e42...358f6a81d4d7|H):
20-06-13 10:37:32: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Changes to deploy mechanism
20-06-13 10:37:33: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Merge dev version of doc-deploy
20-06-13 10:37:34: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Update doc-deploy file
20-06-13 10:37:42: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 18 commits to evennia|H/develop|H (https://github.com/evennia/evennia/compare/0b5e6e531412...658b400afad6|H):
20-06-13 10:37:43: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: [fix] Disable deploy temporarily
20-06-13 10:37:44: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Fix to makefile
20-06-13 10:37:45: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [14 more] ...
20-06-13 10:37:46: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Update doc-deploy file
20-06-13 10:37:47: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Merge branch 'master' into develop
20-06-13 10:44:33: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 15 commits to evennia|H/gh-pages|H (https://github.com/evennia/evennia/compare/848777cac315...55958479f3a6|H):
20-06-13 10:44:34: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Add docs/ dir
20-06-13 10:44:35: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Updated HTML docs
20-06-13 10:44:36: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [11 more] ...
20-06-13 10:44:37: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Updated HTML docs
20-06-13 10:44:38: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Updated HTML docs
20-06-13 14:12:26: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Edit tagline
20-06-13 14:22:24: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Minor tweaks
20-06-13 14:24:28: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Fixes to style
20-06-13 14:46:47: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 2 commits to evennia|H/gh-pages|H (https://github.com/evennia/evennia/compare/551365bf7f05...1510eafa71ad|H):
20-06-13 14:46:48: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: More updates to index
20-06-13 14:46:49: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Add facicon and logo
20-06-13 14:51:52: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Move favicon
20-06-13 18:20:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] T. Lou posted 'Steampunk Dreams' https://groups.google.com/d/msg/evennia/9kTuRvps6M4/oln22VjbBgAJ|H
20-06-13 19:26:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> whew. making a bit more progress. 😄
20-06-13 20:09:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Almost got the launcher's basic features working. about to write the big Popen shenanigans
20-06-13 20:59:46: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Updated HTML docs
20-06-13 21:08:41: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Test to add .nojekyll bypass
20-06-13 21:13:02: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Updated HTML docs
20-06-13 21:26:01: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 4 commits to evennia|H/develop|H (https://github.com/evennia/evennia/compare/658b400afad6...5ca08041a303|H):
20-06-13 21:26:02: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Correct deploy message
20-06-13 21:26:03: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Test with different static/template format
20-06-13 21:26:04: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Move back the _static/_templates dirs
20-06-13 21:26:05: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Add favicon file
20-06-13 21:29:04: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/master|H: [Griatch]: Update favicon also for master
20-06-13 21:31:36: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Updated HTML docs
20-06-13 21:35:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> hey Griatch!
20-06-13 21:45:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> huzzah. I can now honahlee [--profile <profile>] <operation> where <operation> is something like start, stop, create, list, delete
20-06-14 12:55:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> If I, LongnameMcLongnamessdottir, want to set an alias with @alias me=Shortname, so people can page me, is there a way to do this which is already written?
20-06-14 13:40:34: [evennia] ircbot-Drastical: [email protected]#evennia: The alias command is a builder-level command, so not something you as a regular user can apply to yourself; people can apply nicks to your name - that is, they could remap the long name to a shorter one for their own benefit. But for the alias to work you'd need to add an actual alias to yourself which is not something you can do out of the box as a regular user. If you want people to do this, you will
20-06-14 13:40:40: [evennia] ircbot-Drastical: [email protected]#evennia: need to ...
20-06-14 13:40:43: [evennia] ircbot-Drastical: [email protected]#evennia: ... add a new command available to regular users that allows to set an alias (probably only one?) for others to use.
20-06-14 13:41:42: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> nods  Yeah, that seemed to be the way.
20-06-14 13:41:43: [evennia] ircbot-Drastical: [email protected]#evennia: You need something limited that only allows to change the alias on yourself and probably limit it so you are not overriding any other aliases assigned by the system
20-06-14 13:42:20: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And yes, I get that, I think.  I need to write it so it checks the whole possible alias namespace - Account, Character/Puppet, applied aliases.
20-06-14 13:43:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I think I want to use the tags system like aliases already do, and just slot something in that deals with players typing 'me' as the object, separately, and does a check before setting the alias.
20-06-14 13:43:45: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And then I can search aliases as well as names when paging.
20-06-14 13:44:29: [evennia] ircbot-Drastical: [email protected]#evennia: Aliases are treated equivalent to keys, so if you have an alias, you should automatically be able to find an object by the alias in the same way as finding them by their main key.
20-06-14 13:45:13: [evennia] ircbot-Drastical: [email protected]#evennia: Unless page is doing some key-specific lookup I don't recall :)
20-06-14 13:45:52: [evennia] ircbot-Drastical: [email protected]#evennia: Note also that allowing users to set their own aliases can potentially be abused. Someone could set themselves with an alias of an admin, for example.
20-06-14 13:47:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I'm used to a model where aliases are unique.
20-06-14 13:47:38: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> So setting yourself with the alias of an admin isn't in my threat model.
20-06-14 13:47:58: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> page isn't finding aliases for people not in the room, as is.
20-06-14 13:48:06: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Although I haven't yet got to looking at it.
20-06-14 13:48:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> It's also definitely not finding the IC name and we're likely to go by IC names a lot, so we do want to have that ability.
20-06-14 13:53:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> No two objects will ever have the same alias?
20-06-14 13:54:00: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> No two characters.
20-06-14 13:54:18: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Which is a part I have to write, but that's what I'm looking at now.
20-06-14 13:54:19: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Oh I see. That's where the separate system to the alias model comes into it
20-06-14 13:55:01: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I am aliased bob and someone else also wants to be called bob, bob2 is out of luck.
20-06-14 13:56:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Yes, at first glance I thought you were amending the alias system so that there were no duplicates - The alias system that applies to everyone. That would be disastrous!
20-06-14 13:56:22: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Yeaaaah.... no.
20-06-14 13:58:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> I had half a mind to not say anything and just see what the result was 😛
20-06-14 13:59:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Hijinks, amusement, and shouting at clouds.
20-06-14 13:59:49: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Not, in your case, you.
20-06-14 14:00:01: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> But I was here a while back as Alice, shouting at clouds a lot.
20-06-14 14:01:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Why do you think I keep them, if not for people to yell at them! What brought on a change of alias yourself?
20-06-14 14:03:23: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I see what you did there.
20-06-14 14:03:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Two different entrance methods.  For 'here' I mean IRC.
20-06-14 14:03:41: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And for 'here' I also mean Discord.
20-06-14 14:03:48: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> So I could have easily aliased those wrong...
20-06-14 14:09:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Of course, why didn't I make that clear distinction!
20-06-14 14:11:12: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Riiiight, I know!
20-06-14 14:11:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> waves fist at sky
20-06-14 17:39:27: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Oooh.  Another cloud!  Aliases probably need an 'alias' category...
20-06-14 17:39:32: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> :rawwwwwR!
20-06-14 17:39:57: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And that way we can stop them being used for other things by accidental overload.
20-06-14 17:40:16: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> This is my personal alias drive.  Not general aliases.
20-06-14 17:40:22: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> looks deeper into code
20-06-14 17:40:31: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Code looks back into cloud-shouter
20-06-14 17:41:25: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> OK.... Aliases... not general tag namespace?  OK.  I think I read that.
20-06-14 17:41:53: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Cool.  Already easy for me.  I like this place.  But the clouds have stopped running away.
20-06-14 17:48:51: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> And I can now look up people's character sheets using a shortcut to their names.
20-06-14 18:19:41: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 2 commits to evennia|H/develop|H (https://github.com/evennia/evennia/compare/5ca08041a303...7aa0ed8b8c41|H):
20-06-14 18:19:42: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Cleaned up doc config file
20-06-14 18:19:43: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Update readme
20-06-14 18:20:52: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/master|H: [Griatch]: Back-port some config/readme from develop
20-06-14 19:45:45: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/develop|H: [Griatch]: Add doc-contribution page, toctree-creation mechanism
20-06-14 19:48:17: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Updated HTML docs
20-06-14 20:50:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Goldscuttle|H> Anyone feel like helping me troubleshoot getting evennia to run in PyCharm? 😄
20-06-14 20:53:15: [evennia] ircbot-Drastical: [email protected]#evennia: Is https://github.com/evennia/evennia/wiki/Setting-up-PyCharm not helping?
20-06-14 20:53:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Goldscuttle|H> No, I followed the steps without issue but it keeps saying it needs pypiwin32 which is already installed
20-06-14 20:54:17: [evennia] ircbot-Drastical: [email protected]#evennia: <Goldscuttle|H> Works fine outside PyCharm
20-06-14 20:55:06: [evennia] ircbot-Drastical: [email protected]#evennia: Hm, can't help much myself, neither a Windows- nor a regular PyCharm user. Maybe someone else has experienced this?
20-06-14 22:20:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Marcus Bell posted 'Setting up PyCharm' https://groups.google.com/d/msg/evennia/PdwwuNpdeXM/ULJqa9I2BwAJ|H
20-06-14 22:24:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Goldscuttle|H> Lol, there it is, thought it disappeared. That's why I came here, heh
20-06-14 22:40:42: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Tehom posted 'Re: [Evennia] Setting up PyCharm' https://groups.google.com/d/msg/evennia/PdwwuNpdeXM/_BAxD-43BwAJ|H
20-06-14 22:50:42: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Marcus Bell posted 'Re: [Evennia] Setting up PyCharm' https://groups.google.com/d/msg/evennia/PdwwuNpdeXM/fg9aDbpzBgAJ|H
20-06-15 00:00:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Tehom posted 'Re: Steampunk Dreams' https://groups.google.com/d/msg/evennia/9kTuRvps6M4/17bnfY13BgAJ|H
20-06-15 00:10:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Marcus Bell posted 'Re: [Evennia] Setting up PyCharm' https://groups.google.com/d/msg/evennia/PdwwuNpdeXM/QyPS5C14BgAJ|H
20-06-15 00:13:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Goldscuttle|H> Got that sorted. I had to create my virtualenv manually & overlooked the '.' so it was creating another subfolder.
20-06-15 01:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] T. Lou posted 'Re: Steampunk Dreams' https://groups.google.com/d/msg/evennia/9kTuRvps6M4/3cgImkB8BgAJ|H
20-06-15 06:27:42: [evennia] ircbot-Drastical: [email protected]#evennia: Hello :)
20-06-15 06:29:05: [evennia] ircbot-Drastical: [email protected]#evennia: im new to evennia, and im following the instructions on the wiki on how to install it and get it running, everything was going smoothly until.....
20-06-15 06:29:31: [evennia] ircbot-Drastical: [email protected]#evennia: (evenv) C:\muddev>pip install -e evennia
20-06-15 06:30:12: [evennia] ircbot-Drastical: [email protected]#evennia: the part where everything went red was building wheel for twisted (setup.py) ... error
20-06-15 06:32:36: [evennia] ircbot-Drastical: [email protected]#evennia: ahhh nevermind, found info on the troubleshooter about the twisted wheel, and 64 bit python..
20-06-15 10:47:12: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Finally had a chance to go back and test my new builder system rollback feature and it seems to work fine 🙂
20-06-15 10:47:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> had to fix some goofs but seems to behave as expected, now to test all the weird situations I tried to guard against
20-06-15 11:54:00: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Rollback abort in case of missing objects and forced rollback to correct for missing objects work now too 😄
20-06-15 14:49:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I'm still grooving. Still experimentin'
20-06-15 19:50:17: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 6 commits to evennia|H/develop|H (https://github.com/evennia/evennia/compare/eeac092439f0...30db37b5b7f7|H):
20-06-15 19:50:18: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Customize CSS
20-06-15 19:50:19: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Fixing CSS issue
20-06-15 19:50:20: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [2 more] ...
20-06-15 19:50:22: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Fix vertical height in css
20-06-15 19:50:22: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Make proper warning pane
20-06-15 19:52:44: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 1 commit to evennia|H/gh-pages|H: [Griatch]: Updated HTML docs
20-06-15 20:04:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> No more complete links to all the pushes and forks, alive alive-oh?
20-06-15 20:06:45: [evennia] ircbot-Drastical: [email protected]#evennia: ?
20-06-15 21:47:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> I'm used to seeing [push]: <url> <GIANT DISCORD PREVIEW> over and over again.
20-06-15 21:47:28: [evennia] ircbot-Drastical: [email protected]#evennia: <Hattiehats|H> Probably for the best :p
20-06-15 21:47:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> Yeah, I can always check the git logs if I want details.
20-06-15 21:51:52: [evennia] ircbot-Drastical: [email protected]#evennia: Hello. I'm new and thought I should make sure people still exist. Hello.
20-06-15 21:54:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Thenomain|H> In spite of the pandemic and a number of people milling out being diminished, we still exist.
20-06-15 22:17:56: [evennia] ircbot-Drastical: [email protected]#evennia: Wait, there's a discord server?
20-06-15 22:34:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Hattiehats|H> There is!
20-06-15 22:34:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Hattiehats|H> https://discord.gg/B9MPcY
20-06-15 22:34:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Hattiehats|H> (Sorry everyone)
20-06-15 23:59:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> You should be! How dare you invite jaseoffire to our exclusive club
20-06-16 09:51:42: [evennia] ircbot-Drastical: [email protected]#evennia: Btw, if you want a semi-well updated list of recently updated MUD codebases to refer to, this is the best one I've found: https://docs.google.com/spreadsheets/d/1Rarz4HKqYIbsjm0FZshka5jR7nyFSrgZZ3bWOWw4WOM/edit#gid=0
20-06-16 10:45:44: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> Evennia obviously bestest c:
20-06-16 11:24:46: [evennia] ircbot-Drastical: [email protected]#evennia: <Cloud_Keeper|H> Love it 5ever
20-06-16 11:50:57: [evennia] ircbot-Drastical: [email protected]#evennia: Is it editable?
20-06-16 12:34:05: [evennia] ircbot-Drastical: [email protected]#evennia: I think anyone can edit it. But someone must maintain it because I saw someone wiped it at one point (that's why we can't have nice things) and now it's back again
20-06-16 14:34:13: [evennia] ircbot-Drastical: [email protected]#evennia: <MudMan|H> MXP links stop being clickable for anyone else?
20-06-16 18:24:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> It I have a 1:1 relationship of accounts:characters, and I have a character object, what's the best way to find the associated account object?  They cannot be guaranteed to have the same name.
20-06-16 18:24:54: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> I'm happy to create a db.owner_ref if need be, but is this a problem with an obvious answer?
20-06-16 18:26:39: [evennia] ircbot-Drastical: [email protected]#evennia: character.account
20-06-16 18:27:35: [evennia] ircbot-Drastical: [email protected]#evennia: <BleysRex|H> Thank you.
20-06-16 20:47:29: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 11 commits to evennia|H/develop|H (https://github.com/evennia/evennia/compare/30db37b5b7f7...84a70f628683|H):
20-06-16 20:47:29: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Some more refactoring
20-06-16 20:47:30: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Further fix to CSS
20-06-16 20:47:31: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [7 more] ...
20-06-16 20:47:32: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Fix font family
20-06-16 20:47:33: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Shrink code font size a little
20-06-16 20:49:56: [evennia] ircbot-Drastical: [email protected]#evennia: [push]|H Griatch pushed 6 commits to evennia|H/gh-pages|H (https://github.com/evennia/evennia/compare/36003a8d8793...6dc7a6ef72ea|H):
20-06-16 20:49:57: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Change styling to better match docs
20-06-16 20:49:58: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: More updates
20-06-16 20:49:59: [evennia] ircbot-Drastical: [email protected]#evennia:  ... [2 more] ...
20-06-16 20:50:00: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Some HTML tweaks
20-06-16 20:50:01: [evennia] ircbot-Drastical: [email protected]#evennia:  [Griatch]: Updated HTML docs
20-06-16 21:03:43: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> How safe is it to use the develop branch?
20-06-16 21:04:06: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> I mean, I'm not in production at all.  Just working on my systems, and looking for a good way to tie them all together.
20-06-16 21:05:56: [evennia] ircbot-Drastical: [email protected]#evennia: You can start the server in Develop branch and it's quite usable. But changes are not documented yet and things may break on future commits.
20-06-16 21:06:39: [evennia] ircbot-Drastical: [email protected]#evennia: I usually invite people to try out and find errors in develop branch once it comes closer to release. We are not there yet for a good while.
20-06-16 22:12:09: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H richard-william-fox updated evennia|H/wiki|H: [edited]: Messagepath|H (https://github.com/evennia/evennia/wiki/Messagepath|H)
20-06-16 22:13:28: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H richard-william-fox updated evennia|H/wiki|H: [edited]: Messagepath|H (https://github.com/evennia/evennia/wiki/Messagepath|H)
20-06-16 22:17:22: [evennia] ircbot-Drastical: [email protected]#evennia: Griatch, I've updated the MessagePath documentation with an example (I mentioned doing this a few weeks ago.) Please let me know if this isn't the proper place for this. The only info I'm still unsure on is passing kwargs from python to javascript. No matter how I format the data in the python, it always shows up in args on the javascript side.
20-06-16 22:19:14: [evennia] ircbot-Drastical: [email protected]#evennia: Or if this is already covered somewhere else that I never managed to find.
20-06-17 00:11:03: [evennia] ircbot-Drastical: [email protected]#evennia: Hey all, I have a user who is testing out the work I've done so far. For some reason he is disconnected whenever he reloads the webclient, but I am not. I've tried with an admin user and regular character, but I do not get disconnected. He is using a character typeclass and gets disconnected on most (but not all refreshes.) Wondering if anyone has
20-06-17 00:11:03: [evennia] ircbot-Drastical: [email protected]#evennia: seen behavior like this.
20-06-17 01:34:13: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H richard-william-fox updated evennia|H/wiki|H: [edited]: Messagepath|H (https://github.com/evennia/evennia/wiki/Messagepath|H)
20-06-17 02:00:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I am steadily figuring out C++ Boost Asio
20-06-17 02:02:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> if I can grok it.. and I think I can... many good things can come of it. 😄
20-06-17 10:52:08: [evennia] ircbot-Drastical: [email protected]#evennia: Rick42: Thanks for the messagepath example! That is currently the right way to contribute to docs. What you send to the webclient is a tuple `(outputfuncname, (args), {kwargs})`. If you give a partial tuple, the system will reformat it to that form before sending it on. Maybe your input gets re-formatted in a way you don't expect? If you send the full tuple (by `msg(outputfuncname=((args), {kwargs})`, do
20-06-17 10:52:14: [evennia] ircbot-Drastical: [email protected]#evennia: you ...
20-06-17 10:52:16: [evennia] ircbot-Drastical: [email protected]#evennia: ... have the same issue
20-06-17 15:13:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> heya
20-06-17 15:14:02: [evennia] ircbot-Drastical: [email protected]#evennia: Yo
20-06-17 15:15:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> 😄 I am learning so much Griatch
20-06-17 15:15:22: [evennia] ircbot-Drastical: [email protected]#evennia: Good to hear
20-06-17 15:33:41: [evennia] ircbot-Drastical: [email protected]#evennia: <Kovitikus|H> I'm learning so little that some may even consider it to be nothing at all.
20-06-17 15:33:52: [evennia] ircbot-Drastical: [email protected]#evennia: <Kovitikus|H> Thanks World of Warcraft!
20-06-17 15:52:26: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> I bought an air rifle and took an hour and a half to mount this awfull scope that was included, after trying to adjusting it I now feel a 100% more american.
20-06-17 16:11:43: [evennia] ircbot-Drastical: [email protected]#evennia: You didn't sleep wrapped in the American flag, with a gun and holster for comfort as a baby? I'm so disillusioned now.
20-06-17 16:39:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> LOL
20-06-17 16:39:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> There are probably some yahoos who do that.
20-06-17 16:40:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> anyways sooooo Griatch I'm currently churning away at C++ efforts because.... I'm crazy as you know and never sit still.
20-06-17 16:40:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Getting IDEAS
20-06-17 16:42:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> It's taken me a bit but I have gotten comfortable enough with reading the documentation and tutorials for various projects that I can now grok them, and am in the midst of putting together a networking setup built atop of C++ Boost Asio and Boost Beast
20-06-17 16:42:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> (Asio is the closest thing C++ has to Twisted, and Beast is a library full of HTTP+WebSockets shenanigans that builds on it.)
20-06-17 16:42:49: [evennia] ircbot-Drastical: [email protected]#evennia: Ok :)
20-06-17 16:45:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> And then once I have networking working and database will come the fun part
20-06-17 16:45:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> #include <Python.h>
20-06-17 16:45:32: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> 😄
20-06-17 16:46:03: [evennia] ircbot-Drastical: [email protected]#evennia: Sounds like something like NakedMud then?
20-06-17 16:46:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Way more advanced, but yes. Similar concept.
20-06-17 16:46:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Dunno how well it'll work but it's worth trying.
20-06-17 16:46:49: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> My thought is
20-06-17 16:46:59: [evennia] ircbot-Drastical: [email protected]#evennia: What is it you want to achieve? Just learning how to code C++?
20-06-17 16:48:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Part of it is, yes, I want to learn C++, particularly asynchronous networking. I also want to learn embedded scripting language interactions like using Python and/or Lua. ALSO there's using some high-performance database that's like... unQLite for an example, after seeing what Rhost MUSH is pulling off. And I also realized something interesting.
20-06-17 16:49:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> As far as I understand it, IF the program is put together properly, then it should be possible to completely unload-and-reload the Python interpreter without killing the process, allowing a @reload operation as long as you're only changing Python code.
20-06-17 16:49:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Lots of thigns to try out here.
20-06-17 16:56:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> not entirely sure what the end result's gonna look like yet. and, hopefully, I want to break this into different libraries of re-usable parts. like, the networking framework for instance. I think I can create my own version of like, libwangle but built on Boost Asio+Beast and specialized for web games. If I avoid tightly coupling it to the game code then they can be two separate libraries.
20-06-17 17:03:24: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> I kinda tried to screw around with Rust's Tokio library first for a networking base but Tokio is fifteen headaches at once. Although it's nice and clean and has cool features, Rust's a very difficult language to work with and I need more experience with using its basic features before I can do something as weird as Tokio.
20-06-17 20:53:44: [evennia] ircbot-Drastical: [email protected]#evennia: <astraea|H> Is there a guide out there somewhere for how to allow users to login to Evennia via SSO / Oauth2 ?
20-06-17 20:54:51: [evennia] ircbot-Drastical: [email protected]#evennia: No, we don't have support for SSO at this time; there is intention to add it through django social-auth at one point but ... time. :)
20-06-17 20:55:25: [evennia] ircbot-Drastical: [email protected]#evennia: <astraea|H> Ah, ok. Yes, time is a limited commodity!
20-06-17 20:56:11: [evennia] ircbot-Drastical: [email protected]#evennia: It's good to hear people are showing interest in it though. I don't think there is a formal ticket for it yet, feel free to create one if want.
20-06-17 20:56:41: [evennia] ircbot-Drastical: [email protected]#evennia: <astraea|H> OK, will do!
20-06-18 10:48:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Kovitikus|H> Astraea -> Asteria -> Hecate
20-06-18 10:51:09: [evennia] ircbot-Drastical: [email protected]#evennia: Yo
20-06-18 10:51:47: [evennia] ircbot-Drastical: [email protected]#evennia is having a headache today :( But has been making a lot of progress with the upcoming doc system lately. :D
20-06-18 11:01:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Kovitikus|H> Nice, thanks for the hard work, so us lazy people can feel good. 😄
20-06-18 17:31:34: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> 😄 heya Griatch
20-06-18 17:31:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> headaches bad.
20-06-18 18:14:40: [evennia] ircbot-Drastical: [email protected]#evennia: <BP-Santo|H> yeah existence is pain 😦
20-06-19 02:47:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> So I'm making progress steadily on my networking stack. Not sure if it will work yet. Still designing things!
20-06-19 02:47:23: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> but I think I have something very interesting working out here.
20-06-19 03:46:43: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H TehomCD commented on issue #2053|H ([BUG] Corrupt log locks server) in evennia|H: Unfortunately, an error was raised on the AMP bridge attempt[10993 more]|H (https://github.com/evennia/evennia/issues/2053#issuecomment-646419203|H)
20-06-19 17:13:17: [evennia] ircbot-Drastical: [email protected]#evennia: [wiki]|H strikaco updated evennia|H/wiki|H: [edited]: Adding-Command-Tutorial|H (Adding Command Tutorial) (https://github.com/evennia/evennia/wiki/Adding-Command-Tutorial|H)
20-06-19 22:30:43: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] DigNZ posted 'Multple objects of same name a type' https://groups.google.com/d/msg/evennia/phMBjsS9KPw/aCt7wwKdCAAJ|H
20-06-19 22:30:44: [evennia] ircbot-Drastical: [email protected]#evennia: [forum|H] Zude Onim posted 'Re: [Evennia] Multple objects of same name a type' https://groups.google.com/d/msg/evennia/phMBjsS9KPw/VSUPesCfCAAJ|H
20-06-19 22:54:15: [evennia] ircbot-Drastical: [email protected]#evennia: [issue comment]|H Zironic commented on issue #2053|H ([BUG] Corrupt log locks server) in evennia|H: It seems to me based on the error that the transport you are[539 more]|H (https://github.com/evennia/evennia/issues/2053#issuecomment-646888237|H)
20-06-20 07:56:43: [evennia] ircbot-Drastical: [email protected]#evennia: [Public] Griatch disconnected from the Evennia demo.
20-06-20 07:57:04: [evennia] ircbot-Drastical: [email protected]#evennia: There, the evdemo was down for a bit due to server issues
20-06-21 13:35:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Phayte|H> Bridge should be back up I think.
20-06-21 13:44:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Phayte|H> And happy father's day to all the dads out there.
20-06-21 14:54:38: [evennia] ircbot-Drastical: [email protected]#evennia: <Zironic|H> zomg, a Griatch on discord instead of IRC 😮
20-06-21 15:03:02: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> Would self.db.id always be the object id of the character if called within the character typeclasses? Hard to tell if it's pulling it from the objectdb table or typeclass table.
20-06-21 15:20:10: [evennia] ircbot-Drastical: [email protected]#evennia: Discord link works again :)
20-06-21 15:20:20: [evennia] ircbot-Drastical: [email protected]#evennia: Thanks @Phayte
20-06-21 15:20:46: [evennia] ircbot-Drastical: [email protected]#evennia: There is no such thing as self.db.id
20-06-21 15:21:33: [evennia] ircbot-Drastical: [email protected]#evennia: self.db.id would be an Attribute named 'id'. You are thinking of self.id, which is the database primary key if `self` is a database-tied entity.
20-06-21 15:22:06: [evennia] ircbot-Drastical: [email protected]#evennia: And yes, if you call `self.id` on a Character typeclass, it would be the current primary key of that Character.
20-06-21 15:22:44: [evennia] ircbot-Drastical: [email protected]#evennia: It will always pull from the ObjectDB table for an in-game object. There is no 'typeclass table'.
20-06-21 15:23:29: [evennia] ircbot-Drastical: [email protected]#evennia: Typeclass is just an abstraction that links Python and the Django+Database.
20-06-21 15:58:59: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> @Griatch I was talking about typeclass_attributes where the attribute values (which look to be hashed) are saved for the Character.
20-06-21 15:59:43: [evennia] ircbot-Drastical: [email protected]#evennia: <Griatch|H> Attributes, right
20-06-21 15:59:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> self.db.id seemed to work fine though. It's producing a value. In my case, value of 1, which I assume is my objectDB.id
20-06-21 16:00:20: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> Just wasn't sure if that's the typeclass_attributes id or objectdb id
20-06-21 16:01:09: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> the typeclass primary key for 1 is still pointing to some type of playable character record, can't see the value
20-06-21 16:02:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> I'll just remove the db 😄
20-06-21 16:02:47: [evennia] ircbot-Drastical: [email protected]#evennia: Let me check what obj.db.id does, it should just be an Attribute
20-06-21 16:03:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> for reference: object=ObjectDB.objects.get_id(self.id)
20-06-21 16:03:19: [evennia] ircbot-Drastical: [email protected]#evennia: Yes, self.db.id is None. Maybe you set it to something earlier?
20-06-21 16:03:51: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> It could be the model table default
20-06-21 16:03:59: [evennia] ircbot-Drastical: [email protected]#evennia: No
20-06-21 16:04:21: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> object = models.OneToOneField(ObjectDB, default=1, on_delete=models.CASCADE, primary_key=True)
20-06-21 16:04:26: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> no, I mean my default 😄
20-06-21 16:04:44: [evennia] ircbot-Drastical: [email protected]#evennia: Ohm it's a custom model
20-06-21 16:05:11: [evennia] ircbot-Drastical: [email protected]#evennia: I still don't see why it would affect the Attribute like that
20-06-21 16:05:41: [evennia] ircbot-Drastical: [email protected]#evennia: object.db.id should be None unless you assigned an Attribute `id` with a value 1 to it earlier.
20-06-21 16:06:06: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> Yeah, I am storing races, professions, etc in a custom model to ensure referral integrity on my other systems that rely on the ObjectDB. So, on at_object_creation() I am creating a base record for those tables to populate with the ObjectDB.id
20-06-21 16:06:36: [evennia] ircbot-Drastical: [email protected]#evennia: Fair enough
20-06-21 16:06:53: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> I think what is happening if it's None, is just reverting to the default
20-06-21 16:07:14: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> Just figured it would give me an error or warning, interesting
20-06-21 16:07:27: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> i'll change it from self.db.id to self.id that should work
20-06-21 16:07:29: [evennia] ircbot-Drastical: [email protected]#evennia: obj.db.id should have nothing to do with the valie of obj.id though
20-06-21 16:07:45: [evennia] ircbot-Drastical: [email protected]#evennia: It's not even stored in the same table
20-06-21 16:08:26: [evennia] ircbot-Drastical: [email protected]#evennia: But yes, obj.id is the way to go
20-06-21 16:10:11: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> Thanks. Sorry for confusion on models. Just trying to normalize the dataset some and not jam it all into the Character Typeclass. Looks like some many-to-many relationship going on there with the attributes table and object table
20-06-21 16:11:00: [evennia] ircbot-Drastical: [email protected]#evennia: Yup
20-06-21 18:28:31: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Hello. So, this is more of something I am not entirely sure how to begin tackling, so if anyone has any ideas, I would like a starting point. I would like to implement media wiki as the wiki for the website. I have begun reading through the install instructions, but I am not sure how to interface things with evennia.
20-06-21 21:30:46: [evennia] ircbot-Drastical: [email protected]#evennia: @Jaseoffice: It's not a mediawiki per se, but we do have documentation on adding a wiki: https://github.com/evennia/evennia/wiki/Add-a-wiki-on-your-website. Not sure about mediawiki, from what I understand it's not trivial to set up.
20-06-21 21:58:09: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Can a prototype have multiple parents?
20-06-21 21:58:48: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> sure, if multiple people worked on it :9
20-06-21 22:00:13: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Thinking about using prototypes for NPCs with a faction system.  So I could create an NPC that has multiple parents, to establish the faction reputations.
20-06-21 22:04:13: [evennia] ircbot-Drastical: [email protected]#evennia: <xhawk87|H> It looks like you can have multiple inheritance in python, if that's what you're referring to: https://www.python-course.eu/python3_multiple_inheritance.php  Though whether that's a good idea or not, as far as code complexity, is another question
20-06-21 22:38:32: [evennia] ircbot-Drastical: [email protected]#evennia: <DarkSir23|H> Oh, I know I can do multiple inheritance, but prototypes are kind of their own animal.
20-06-21 23:20:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> What would be the best option for tackling something like OLC systems in other MUD's with Evennia? Don't really want to reinvent the parsers. Maybe EVMenu? Doesn't that have like steps?
20-06-22 00:39:30: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Yeah, it does not look easy to set up. Let alone how to wire the darned thing to play nice with jango.
20-06-22 01:41:33: [evennia] ircbot-Drastical: [email protected]#evennia: [fork]|H HenrySparks forked evennia|H https://github.com/HenrySparks/evennia|H
20-06-22 01:55:13: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> oh heck yesssssssssss
20-06-22 01:55:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> good things may come of this.
20-06-22 01:56:07: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> First massive Heck Yeah: I finally figured out how to write code in Rust without constantly tripping over myself, and got the Tokio async engine operating. It's hardly 'singing' but it is defintiely 'operating' and it can only get more refined from here.
20-06-22 01:56:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Volund|H> Second, I managed to get RustPython to compile and am testing its interpreter. it's still just Python 3.5 but that should be plenty enough for game stuff
20-06-22 03:04:52: [evennia] ircbot-Drastical: [email protected]#evennia: hi, I'm looking at installing the Evennia codebase for a MUSH project I am thinking about, and I am stuck.
20-06-22 03:08:03: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Whatcha need help with?
20-06-22 03:08:15: [evennia] ircbot-Drastical: [email protected]#evennia: i'm stuck at the virtualenv step.
20-06-22 03:08:48: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Yeah, that part can be hectic. What operating system are you working on?
20-06-22 03:09:14: [evennia] ircbot-Drastical: [email protected]#evennia: i downloaded the virtualenv wrapper, and I'm trying to figure out how to get it to run. when i type python -m virtualenv i get this: 'virtualenv' is not recognized as an internal or external command,
20-06-22 03:09:16: [evennia] ircbot-Drastical: [email protected]#evennia: and windows 10
20-06-22 03:09:32: [evennia] ircbot-Drastical: [email protected]#evennia: 18363.900 and using python 3.7.7
20-06-22 03:11:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> No Windows linux subsystem? WSL or likewise?
20-06-22 03:11:43: [evennia] ircbot-Drastical: [email protected]#evennia: let me look
20-06-22 03:14:27: [evennia] ircbot-Drastical: [email protected]#evennia: one sec gonna install it
20-06-22 03:18:29: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> You will then use the linux instruction set. Linux is far more friendly to this sort of thing.
20-06-22 03:19:15: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> Have you considered running it on VirtualBox?
20-06-22 03:19:24: [evennia] ircbot-Drastical: [email protected]#evennia: wait, i'd have to install a version of linux then, no?
20-06-22 03:19:57: [evennia] ircbot-Drastical: [email protected]#evennia: i have not considered that
20-06-22 03:20:06: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> It would be ideal, but not neccessarily.
20-06-22 03:20:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> You could do that with a virtual box, or you can just use wsl which is supposed to replicate linux functionality.
20-06-22 03:21:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> I prefer cygwin, but the quickstart recommends WSL, so. shrug
20-06-22 03:22:25: [evennia] ircbot-Drastical: [email protected]#evennia: <SwiftPeter|H> It would likely run faster on Linux, and you could test the netowk connections since you would have to actually log on to it to operate it.
20-06-22 03:22:27: [evennia] ircbot-Drastical: [email protected]#evennia: ok, wsl looks like it's ago.
20-06-22 03:22:37: [evennia] ircbot-Drastical: [email protected]#evennia: i am going to try via the linux setup
20-06-22 03:26:17: [evennia] ircbot-Drastical: [email protected]#evennia: that seemed to do it, I think.
20-06-22 03:26:50: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Very good.
20-06-22 03:28:09: [evennia] ircbot-Drastical: [email protected]#evennia: though now i'm hitting: system cannot find the path specified.
20-06-22 03:30:05: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Okay, what step causes the error?
20-06-22 03:31:52: [evennia] ircbot-Drastical: [email protected]#evennia: so I am in C:\MUSH\Dev\Evennia, and I can see the evenv folder. i type: .\evenv\scripts\activate and I hit that error.
20-06-22 03:31:59: [evennia] ircbot-Drastical: [email protected]#evennia: as far as I can tell there is no activate.bat
20-06-22 03:33:33: [evennia] ircbot-Drastical: [email protected]#evennia: there is another evennia folder in here as well, with accounts and commands and comms directories.
20-06-22 03:34:33: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Hmm. First, try running that command from muddev instead of evenia.
20-06-22 03:35:08: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> If that doesn't do it, cd down the tree and see where things break.
20-06-22 03:36:22: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Also, you are typing source before that path, correct?
20-06-22 03:36:44: [evennia] ircbot-Drastical: [email protected]#evennia: oh i need the whole C:\\\\?
20-06-22 03:37:49: [evennia] ircbot-Drastical: [email protected]#evennia: figured . was a python shortcut lol
20-06-22 03:38:51: [evennia] ircbot-Drastical: [email protected]#evennia: there's no scripts folder in evenv
20-06-22 03:39:15: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> No. You shouldn't. I mean as in the source keyword. as in source /evenv/bin/activate. Also, it's bin, not scripts. Sorry, that's on me for not noticing.
20-06-22 03:40:42: [evennia] ircbot-Drastical: [email protected]#evennia: <The Sands|H> Your other option outside of cygwin would be to use a Docker container.
20-06-22 03:41:13: [evennia] ircbot-Drastical: [email protected]#evennia: yeah...so when i look into evenv there's no subfolders whatsoever.
20-06-22 03:42:16: [evennia] ircbot-Drastical: [email protected]#evennia: wait, got it.,
20-06-22 03:42:18: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Hmm. Just to be sure it isn't doing something else, humor me and run that command. Source evenv/bin/activate
20-06-22 03:42:19: [evennia] ircbot-Drastical: [email protected]#evennia: i missed a stop
20-06-22 03:42:58: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Ah. Okay.
20-06-22 03:44:25: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> For windows. It's just virtualenv evenv and then once that's created, you then type evenv\Scripts\activate to activate it
20-06-22 03:45:42: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> Even when running from wsl?
20-06-22 03:46:12: [evennia] ircbot-Drastical: [email protected]#evennia: fingers crossed it seems to be running...
20-06-22 03:46:40: [evennia] ircbot-Drastical: [email protected]#evennia: <Jaseoffire`|H> That's good.
20-06-22 03:47:01: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> I don't know about wsl. I do all Python development on Windows 10 fine
20-06-22 03:47:10: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> No need to download cygwin
20-06-22 03:47:36: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> I would use Anaconda though. That's what I use. Anaconda 3 for Windows
20-06-22 03:48:37: [evennia] ircbot-Drastical: [email protected]#evennia: <Famine|H> It essentially just installs Python 3 for Windows with all the top Python mod