Commit Graph

232 Commits

Author SHA1 Message Date
Ben
8d6e726f97 Move plugins, commands and listeners into their own "manager" objects
Works just like before, only the logic is stored in the objects themselves instead of being scattered around houdini.py
2019-05-29 22:58:10 +01:00
Ben
3c09434012 All column names are now lowercase 2019-05-29 22:51:38 +01:00
Ben
094ee97f4d Return 0 for penguin string attribute if attribute is None 2019-05-29 22:46:05 +01:00
Ben
c5d2b6e03b Language bitmask enum
Going to be used in future for server configuration
2019-05-29 22:45:22 +01:00
Ben
ac246fda18 Shutdown more gracefully for KeyboardInterrupt 2019-05-29 22:44:13 +01:00
Spydar007
88d1defac3
Fix log names world server 2019-05-25 17:23:55 +01:00
Ben
fa8abed189 Import basic login handlers into world handlers 2019-05-16 16:36:55 +01:00
Ben
65dd2c05ee Set default log level for Blizzard to DEBUG 2019-05-16 16:35:28 +01:00
Ben
99e7a63957 New permissions database model 2019-05-16 16:34:41 +01:00
Ben
75c05604d9 Rename all modules to comply with PEP8
Lowercase with underscores
2019-05-16 16:34:16 +01:00
Ben
5a77c09ac7 Only allow login packets to be sent once per-connection 2019-05-04 22:49:46 +01:00
Ben
ffd70949fc Update config.py 2019-05-04 22:49:23 +01:00
Ben
3d137c1c1e Update requirements.txt 2019-04-27 00:13:06 +01:00
Ben
e50e38b78d Fix password field type length 2019-04-27 00:12:55 +01:00
Ben
fcff0cd405 Initial login handlers 2019-04-27 00:12:42 +01:00
Ben
8412f325ff Replace double quotes with quotes 2019-04-27 00:12:05 +01:00
Ben
8ac56dfbfd send_line accepts str instead of bytes 2019-04-27 00:11:52 +01:00
Ben
f26a225c4d Fix python3 compatibility iteritems() with items() 2019-04-27 00:11:32 +01:00
Ben
c393044949 Allow send_error methods to take multiple arguments 2019-04-27 00:11:09 +01:00
Ben
cf1c41ecd8 Placeholder packages for game handlers 2019-04-25 17:30:59 +01:00
Ben
d0e67ba14c Load crumbs on server boot 2019-04-25 17:13:18 +01:00
Ben
70150b6b4e Model methods for setting up and using tables & waddles 2019-04-25 17:12:54 +01:00
Ben
62b9531711 New crumbs collections classes for easy crumbs & inventory management 2019-04-25 17:12:29 +01:00
Ben
b0f9e2125c Update converted to utilise async crumbs collections properly 2019-04-25 17:11:28 +01:00
Ben
049daa8d11 Get nickname from penguin class instance instead of data model 2019-04-25 17:11:07 +01:00
Ben
1ae04577f3 Too many blank lines 2019-04-22 01:25:33 +01:00
Ben
a7e0b83d71 Commands configuration options 2019-04-22 01:19:14 +01:00
Ben
cec88fa0a7 ConflictResolution enum for commands config 2019-04-22 01:18:35 +01:00
Ben
550704132b Setup default penguin string builders on server boot 2019-04-22 01:17:56 +01:00
Ben
691040c9e0 Fix spelling error in method name 2019-04-22 01:17:01 +01:00
Ben
b43a342407 Load commands on server boot 2019-04-22 01:16:41 +01:00
Ben
377a8094a2 Require that plugins set a self.server attribute 2019-04-22 01:15:24 +01:00
Ben
a19fe8748c New commands module 2019-04-22 01:14:48 +01:00
Ben
dd6732bfe2 Create generalised base-class for argument deserliazation 2019-04-22 01:14:28 +01:00
Ben
ce4603d496 Remove test handler from login module 2019-04-11 01:32:10 +01:00
Ben
24f3be3aa5 Remove sample commands plugin 2019-04-11 01:31:33 +01:00
Ben
ac28544351 Fix line-breaks in Crypto.py 2019-04-11 01:14:01 +01:00
Ben
e3ded3e5ce General improvements to handlers module 2019-04-11 01:07:28 +01:00
Ben
df8f6a917b Custom exceptions now raised for cooldown and authentication 2019-04-11 01:06:45 +01:00
Ben
0f09cabe00 Rename 'instance' handler attribute to 'plugin' 2019-04-11 01:06:03 +01:00
Ben
39398bd6b1 Support for plugin loading & unloading 2019-04-11 01:04:46 +01:00
Ben
dddeeeed99 Remove unneeded await statements 2019-04-11 01:04:28 +01:00
Ben
5b8b574198 Experimental crumb loading 2019-04-11 01:03:08 +01:00
Ben
30f1f1fb7f remove_handlers_by_module moved into Houdini.Handlers module 2019-04-11 01:02:30 +01:00
Ben
5a01be8c68 Overhaul converter system
- Keyword argument support
- New Greedy, Union and Optional converters
- Optionally passing extra data as raw list
2019-04-11 01:00:14 +01:00
Ben
d292407dc7 Give penguin class a __repr__ method 2019-04-11 00:56:27 +01:00
Ben
3e576ba602 Add new functionality to room instances 2019-04-11 00:55:48 +01:00
Ben
1684e66035 Commands module placeholder 2019-04-11 00:55:16 +01:00
Ben
cfec75bbbe Use single quotes in Spheniscidae class 2019-04-11 00:54:40 +01:00
Ben
60a808beb6 Plugin abstract class interface 2019-04-11 00:54:07 +01:00