Commit graph

13 commits

Author SHA1 Message Date
Greg Taylor
181133d917 Add tracking of IMC2 channels and the new 'imcchanlist' command. 2009-04-30 03:56:52 +00:00
Greg Taylor
50e70327fe Be a good little IMC2 denizen and send is-alive packets when a keepalive-request comes our way. 2009-04-30 03:26:53 +00:00
Greg Taylor
76f14b4779 Clean up send_cmessage() a bit. Changed noheader keyword arg to show_header and defaulted it to True. This should read a little better. Also updated some of the various function calls. More importantly, check to see if the channel argument is a string or unicode object and find the correct channel object as needed, which was the previous behavior. However, if it's not a string or unicode object, assume it's a CommChannel object and avoid querying for it again. This may be a performance win in some cases down the road. 2009-04-30 03:13:46 +00:00
Greg Taylor
547a5dd139 * Fixed channel history to show in the correct order now.
* Two channels are now created by initial_setup.py for informative emits: MUDConnections and MUDInfo.
* MUDConnections now shows a connection/login/logout log.
* MUDInfo shows general informative messages about the server state. For now IMC emits here when things happen (connection, disconnection, etc.).
Eventually we'll want to restrict these to staff only, but it's not high priority atm.
2009-04-29 00:50:44 +00:00
Greg Taylor
ffa03309fc Local object command tables are now in. See game/gamesrc/parents/examples/red_button.py for example. Note that local command matches will override global matches. Command handler short circuits on the first command match. This will typically be the object with the lowest ID. 2009-04-25 06:11:42 +00:00
Greg Taylor
d8f6074f10 Enable to KeelAliveREquest on IMC2 connection. 2009-04-21 13:36:11 +00:00
Greg Taylor
2d6ef25081 Handle autosetup and tell packets correctly. 2009-04-20 22:34:16 +00:00
Greg Taylor
5372bb5a05 The IMC2 client now sends and receives. For most, this should be all that is needed. There are a bunch more support commands that will need to be implemented, as well as a few other things, but this is very usable now. 2009-04-17 05:20:55 +00:00
Greg Taylor
42f11b208b Remote IMC2 channels can now be listened to via IMC2 bindings. For this to work, create an IMC2ChannelMapping object with the channel you'd like to serve as the gateway to the remote IMC2 channel. Enter the IMC2 channel's name as the imc2_channel_name field and make sure the object is enabled. Any incoming ice-msg-b packets directed at your chosen channel will now be emitted to the appropriate channel as if it were local, with one difference: the user name is sender@origin. Sending messages is hopefully soon to follow. 2009-04-17 03:34:46 +00:00
Greg Taylor
31a78f9fb6 * Added the 'imclist' command to show other games connected to IMC.
* Added the automatic cleaning/pruning code to weed out entries that are probably disconnected.
* Added 'imcwhois <player>' command. Still needs some sanitizing on the outgoing string.
* Added the beginnings of a -reply packet handler through reply_listener.py.
* Fleshed out a few more packets in packets.py.
Next up: Make the ANSI system a little more modular. Create a class for ANSI tables so developers can pick and choose different tables on their own, but keep the same API. This will be used so we don't have to copy/paste src/ansi.py to src/imc2/ansi.py and duplicate stuff.
2009-04-13 06:36:51 +00:00
Greg Taylor
4963dd6098 IMC2Packet class is looking pretty stout now. We should be ready to start sub-classing it to the various IMC2 packet types. 2009-04-11 21:52:56 +00:00
Greg Taylor
191f49ff4c Adding a periodic IMC2 keepalive event. Other IMC2-connected games are now aware of our presence via the keepalive. Woot. 2009-04-11 06:59:25 +00:00
Greg Taylor
a7e89c1e54 Adding the beginnings of IMC2 support. We are now able to connect and authenticate with an IMC2 network, theoretically without blocking our server thread. We can't actually do anything useful just yet, but stay tuned. 2009-04-11 05:55:26 +00:00