shinymud / ShinyMUD

A text-based, multiplayer, online adventure game.
shiny.incendiarysoftware.com
Other
41 stars 10 forks source link

Ctrl+C during sign in (telnet client) crashes server #7

Open delightedCrow opened 12 years ago

delightedCrow commented 12 years ago

Hitting Ctrl+C during init mode (using the telnet client) crashes the server. UPDATE: Python unicode doesn't seem to like special characters, Ctrl + C in particular. I couldn't find a smooth way to detect these inputs other than trying to convert them to unicode and waiting to see if it fails.

_2011-08-28 01:55:59.565150_ Traceback (most recent call last): File "/home/shiny/shinymud/src/shinymud/lib/shiny_server.py", line 35, in world.start_turning() File "/home/shiny/shinymud/src/shinymud/lib/world.py", line 95, in start_turning self.player_list[key].do_tick() File "/home/shiny/shinymud/src/shinymud/models/player.py", line 154, in do_tick self.mode.state() File "/home/shiny/shinymud/src/shinymud/modes/init_mode.py", line 71, in get_input self.next_state(arg) File "/home/shiny/shinymud/src/shinymud/modes/init_mode.py", line 110, in verify_playername row = self.world.db.select('password,dbid FROM player WHERE name=?', [self.playername]) File "/home/shiny/shinymud/src/shinymud/lib/db.py", line 70, in select params = [unicode(p) for p in params] UnicodeDecodeError?: 'ascii' codec can't decode byte 0xfd in position 0: ordinal not in range(128)