annotate orpg/networking/mplay_server_gui.py @ 229:1645a78a33a4 alpha

Traipse Alpha 'OpenRPG' {100612-02} Traipse is a distribution of OpenRPG that is designed to be easy to setup and go. Traipse also makes it easy for developers to work on code without fear of sacrifice. 'Ornery-Orc' continues the trend of 'Grumpy' and adds fixes to the code. 'Ornery-Orc's main goal is to offer more advanced features and enhance the productivity of the user. Update Summary (Preparing to close updates) New Features: New to Map, can re-order Grid, Miniatures, and Whiteboard layer draw order Fixes: Fix to InterParse that was causing an Infernal Loop with Namespace Internal Fix to XML data, removed old Minidom and switched to Element Tree Fix to Server that was causing eternal attempt to find a Server ID, in Register Rooms thread Fix to metaservers.xml file not being created
author sirebral
date Sat, 12 Jun 2010 04:46:16 -0500
parents 24769389a7ba
children cc7629ab526d
rev   line source
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
1 #!/usr/bin/env python
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
2 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
3 # OpenRPG Server Graphical Interface
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
4 # GNU General Public License
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
5 #
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
6
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
7 __appname__=' OpenRPG GUI Server v0.7 '
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
8 __version__='$Revision: 1.26 $'[11:-2]
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
9 __cvsinfo__="$Id: mplay_server_gui.py,v Traipse 'Ornery-Orc' prof.ebral Exp $"[5:-2]
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
10 __doc__="""OpenRPG Server Graphical Interface"""
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
11
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
12 import os, sys, time, types, webbrowser
122
36919b8a3ef9 Traipse Alpha 'OpenRPG' {091031-00}
sirebral
parents: 119
diff changeset
13
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
14 from orpg.dirpath import dir_struct
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
15 from orpg.tools.validate import validate
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
16 from orpg.orpg_wx import *
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
17 from threading import Thread
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
18
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
19 from meta_server_lib import post_server_data, remove_server
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
20 from mplay_server import mplay_server, server
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
21
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
22 from xml.dom import minidom
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
23 from orpg.orpgCore import component
218
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
24 from orpg.tools.orpg_log import debug, DebugConsole
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
25 from orpg.tools.orpg_settings import settings
122
36919b8a3ef9 Traipse Alpha 'OpenRPG' {091031-00}
sirebral
parents: 119
diff changeset
26
36919b8a3ef9 Traipse Alpha 'OpenRPG' {091031-00}
sirebral
parents: 119
diff changeset
27 from xml.etree.ElementTree import ElementTree, Element, iselement
36919b8a3ef9 Traipse Alpha 'OpenRPG' {091031-00}
sirebral
parents: 119
diff changeset
28 from xml.etree.ElementTree import fromstring, tostring, parse
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
29
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
30 # Constants ######################################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
31 SERVER_RUNNING = 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
32 SERVER_STOPPED = 0
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
33 MENU_MODIFY_BANLIST = wx.NewId()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
34 MENU_PLAYER_CREATE_ROOM = wx.NewId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
35
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
36 # Our new event type that gets posted from one
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
37 # thread to another
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
38 wxEVT_LOG_MESSAGE = wx.NewEventType()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
39 wxEVT_FUNCTION_MESSAGE = wx.NewEventType()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
40
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
41 # Our event connector -- wxEVT_LOG_MESSAGE
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
42 EVT_LOG_MESSAGE = wx.PyEventBinder(wxEVT_LOG_MESSAGE, 1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
43
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
44 # Our event connector -- wxEVT_FUNCTION_MESSAGE
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
45 EVT_FUNCTION_MESSAGE = wx.PyEventBinder(wxEVT_FUNCTION_MESSAGE, 1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
46
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
47 # Utils ##########################################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
48 def format_bytes(b):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
49 f = ['b', 'Kb', 'Mb', 'Gb']
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
50 i = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
51 while i < 3:
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
52 if b < 1024: return str(b) + f[i]
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
53 else: b = b/1024
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
54 i += 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
55 return str(b) + f[3]
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
56
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
57 # wxEVT_LOG_MESSAGE
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
58 # MessageLogEvent ###############################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
59 class MessageLogEvent(wx.PyEvent):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
60 def __init__( self, message ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
61 wx.PyEvent.__init__( self )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
62 self.SetEventType(wxEVT_LOG_MESSAGE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
63 self.message = message
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
64
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
65 # wxEVT_TUPLE_MESSAGE
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
66 # MessageLogEvent ###############################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
67 class MessageFunctionEvent(wx.PyEvent):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
68 def __init__( self, func, message ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
69 wx.PyEvent.__init__( self )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
70 self.SetEventType(wxEVT_FUNCTION_MESSAGE)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
71 self.func = func
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
72 self.message = message
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
73
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
74 # ServerConfig Object ############################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
75 class ServerConfig:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
76 """ This class contains configuration
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
77 setting used to control the server."""
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
78
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
79 def __init__(self, owner ):
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
80 """ Loads default configuration settings."""
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
81 validate.config_file("server_ini.xml", "default_server_ini.xml")
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
82 config_xml = parse(dir_struct['user'] + 'server_ini.xml').getroot()
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
83 port = config_xml.find('service').get('port')
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
84 OPENRPG_PORT = 6774 if port == '' else int(port)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
85 self.owner = owner
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
86
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
87 def load_xml(self, xml):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
88 """ Load configuration from XML data.
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
89 xml (xml) -- xml string to parse """
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
90 pass
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
91
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
92 def save_xml(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
93 """ Returns XML file representing
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
94 the active configuration. """
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
95 pass
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
96
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
97 # Server Monitor #################################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
98
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
99 class ServerMonitor(Thread):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
100 """ Monitor thread for GameServer. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
101 def __init__(self, cb, conf, name, pwd):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
102 """ Setup the server. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
103 Thread.__init__(self)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
104 self.cb = cb
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
105 self.conf = conf
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
106 self.serverName = name
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
107 self.bootPwd = pwd
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
108
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
109 def log(self, mesg):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
110 if type(mesg) == types.TupleType:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
111 func, msg = mesg
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
112 event = MessageFunctionEvent( func, msg )
27
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
113 else: event = MessageLogEvent( mesg )
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
114 wx.PostEvent( self.conf.owner, event )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
115 del event
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
116
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
117 def run(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
118 """ Start the server. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
119 self.server = mplay_server(self.log, self.serverName )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
120 self.server.initServer(bootPassword=self.bootPwd, reg="No")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
121 self.alive = 1
27
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
122 while self.alive: time.sleep(3)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
123
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
124 def stop(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
125 """ Stop the server. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
126 self.server.kill_server()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
127 self.alive = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
128
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
129 # GUI Server #####################################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
130 # Parent = notebook
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
131 # Main = GUI
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
132 class Groups(wx.ListCtrl):
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
133 def __init__(self, parent, main):
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
134 wx.ListCtrl.__init__(self, parent, -1, wx.DefaultPosition,
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
135 wx.DefaultSize, wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES)
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
136
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
137 """Not completed. Creates room, delets rooms. Does not track players. Nor does gsclient, ftm."""
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
138 validate.config_file("server_ini.xml", "default_server_ini.xml" )
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
139 config_xml = parse(dir_struct["user"] + 'server_ini.xml').getroot()
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
140 lobbyname = config_xml.get('lobbyname')
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
141
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
142 self.main = main
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
143 self.roomList = { 0 : lobbyname }
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
144 self.InsertColumn(0, 'Group ID')
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
145 self.InsertColumn(1, 'Game')
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
146 self.InsertColumn(2, 'Players')
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
147 self.InsertColumn(3, 'Passworded')
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
148 self.AddGroup((self.roomList[0], '0', '0', 'No'))
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
149
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
150 def AddGroup(self, data):
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
151 (room, room_id, players, passworded) = data
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
152 i = self.InsertStringItem(0, str(room_id))
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
153 self.SetStringItem(i, 1, room)
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
154 self.SetStringItem(i, 2, str(players))
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
155 self.SetStringItem(i, 3, passworded)
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
156
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
157 def DeleteGroup(self, data):
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
158 i = self.FindItem(-1, str(data))
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
159 self.DeleteItem(i)
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
160
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
161 def UpdateGroup(self, data):
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
162 (room, room_id, players) = data
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
163 i = self.FindItem( -1, str(room_id))
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
164 self.SetStringItem( i, 1, room )
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
165 self.SetStringItem(i, 2, str(players))
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
166 ### Need to add room for Password Updates ###
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
167
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
168 class Connections(wx.ListCtrl):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
169 def __init__( self, parent, main ):
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
170 wx.ListCtrl.__init__( self, parent, -1, wx.DefaultPosition,
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
171 wx.DefaultSize, wx.LC_REPORT|wx.SUNKEN_BORDER|wx.EXPAND|wx.LC_HRULES )
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
172
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
173 validate.config_file("server_ini.xml", "default_server_ini.xml" )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
174 config_xml = parse(dir_struct["user"] + 'server_ini.xml').getroot()
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
175 lobbyname = config_xml.get('lobbyname')
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
176
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
177 self.main = main
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
178 self.roomList = { 0 : lobbyname }
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
179 self._imageList = wx.ImageList( 16, 16, False )
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
180 img = wx.Image(dir_struct["icon"]+"player.gif", wx.BITMAP_TYPE_GIF).ConvertToBitmap()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
181 self._imageList.Add( img )
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
182 img = wx.Image(dir_struct["icon"]+"player-whisper.gif", wx.BITMAP_TYPE_GIF).ConvertToBitmap()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
183 self._imageList.Add( img )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
184 self.SetImageList( self._imageList, wx.IMAGE_LIST_SMALL )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
185
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
186 # Set The columns
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
187 self.InsertColumn(0, "ID")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
188 self.InsertColumn(1, "Player")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
189 self.InsertColumn(2, "Status")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
190 self.InsertColumn(3, "Room")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
191 self.InsertColumn(4, "Version")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
192 self.InsertColumn(5, "Role")
9
c97c641a76fd Small changes made to the mplay_server_gui.py that prevented a server
sirebral
parents: 0
diff changeset
193 self.InsertColumn(6, "IP")
c97c641a76fd Small changes made to the mplay_server_gui.py that prevented a server
sirebral
parents: 0
diff changeset
194 self.InsertColumn(7, "Ping")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
195
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
196 # Set the column widths
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
197 self.AutoAjust()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
198
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
199 # Build our pop up menu to do cool things with the players in the list
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
200 self.menu = wx.Menu()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
201 self.menu.SetTitle( "Player Menu" )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
202 self.menu.Append( 1, "Boot Player" )
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
203 self.menu.Append( 2, 'Ban Player' )
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
204 self.menu.Append( 3, "Player Version" )
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
205 self.menu.AppendSeparator()
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
206 self.menu.Append( 4, "Send Player Message" )
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
207 self.menu.Append( 5, "Send Room Message" )
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
208 self.menu.Append( 6, "Broadcast Server Message" )
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
209
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
210 # Associate our events
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
211 self.Bind(wx.EVT_RIGHT_DOWN, self.OnPopupMenu)
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
212 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=1)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
213 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=2)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
214 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=4)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
215 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=5)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
216 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=6)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
217 self.Bind(wx.EVT_MENU, self.OnPopupMenuItem, id=3)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
218
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
219 def add(self, player):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
220 i = self.InsertImageStringItem( 0, player["id"], 0 )
119
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
221 self.SetStringItem(i, 1, self.stripHtml(player["name"]))
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
222 self.SetStringItem(i, 2, "NEW")
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
223 self.SetStringItem(i, 3, self.roomList[0])
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
224 self.SetStringItem(i, 4, self.stripHtml(player["version"]))
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
225 self.SetStringItem(i, 5, 'Lurker' if player["role"] == None else self.stripHtml(player["role"]))
119
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
226 self.SetStringItem(i, 6, self.stripHtml(player["ip"]))
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
227 self.SetStringItem(i, 7, "PING")
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
228 self.SetItemData(i, int(player["id"]))
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
229 self.colorize_player_list(player)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
230 self.AutoAjust()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
231
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
232 def remove(self, id):
119
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
233 i = self.FindItemData( -1, int(id))
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
234 self.DeleteItem(i)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
235 self.AutoAjust()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
236
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
237 def AutoAjust(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
238 self.SetColumnWidth(0, -1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
239 self.SetColumnWidth(1, -1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
240 self.SetColumnWidth(2, -1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
241 self.SetColumnWidth(3, -1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
242 self.SetColumnWidth(4, -1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
243 self.SetColumnWidth(5, -1)
27
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
244 self.SetColumnWidth(6, -1)
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
245 self.SetColumnWidth(7, -1)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
246 self.Refresh()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
247
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
248 def colorize_player_list(self, player):
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
249 if player == 0: return
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
250 for m in player.keys():
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
251 id = player['id']
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
252 item_list_location = self.FindItemData(-1, int(id))
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
253 if item_list_location == -1: continue
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
254 item = self.GetItem(item_list_location)
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
255 role = player['role']
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
256 try: #Players that turn up Blue are not passing the correct arguments.
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
257 try:
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
258 if player['group_id'] != "0": item.SetTextColour(settings.get_setting(role + "RoleColor"))
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
259 except KeyError: # Needed because group_id turns into group somewhere.
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
260 if player['group'] != "0": item.SetTextColour(settings.get_setting(role + "RoleColor"))
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
261 except: item.SetTextColour('BLUE')
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
262 self.SetItem(item)
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
263
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
264 def update(self, player):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
265 i = self.FindItemData( -1, int(player["id"]) )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
266 if i > -1:
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
267 self.SetStringItem(i, 1, self.stripHtml(player["name"]))
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
268 self.SetStringItem(i, 2, self.stripHtml(player["status"]))
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
269 self.SetStringItem(i, 5, 'Lurker' if player["role"] == None else self.stripHtml(player["role"]))
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
270 self.colorize_player_list(player)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
271 self.AutoAjust()
27
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
272 else: self.add(player)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
273
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
274 def updateRoom( self, data ):
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
275 (room, room_id, player) = data
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
276 i = self.FindItemData( -1, int(player) )
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
277 if player > 0: self.SetStringItem( i, 3, room )
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
278 self.AutoAjust()
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
279 #self.update(player) # player object doesn't send role object.
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
280
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
281 def setPlayerRole( self, id, role ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
282 i = self.FindItemData( -1, int(id) )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
283 self.SetStringItem( i, 5, role )
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
284 self.AutoAjust()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
285
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
286 def stripHtml( self, name ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
287 ret_string = ""
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
288 x = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
289 in_tag = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
290 for x in range( len(name) ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
291 if name[x] == "<" or name[x] == ">" or in_tag == 1 :
27
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
292 if name[x] == "<": in_tag = 1
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
293 elif name[x] == ">": in_tag = 0
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
294 else: pass
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
295 else: ret_string = ret_string + name[x]
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
296 return ret_string
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
297
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
298 # When we right click, cause our popup menu to appear
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
299 def OnPopupMenu( self, event ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
300 pos = wx.Point( event.GetX(), event.GetY() )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
301 (item, flag) = self.HitTest( pos )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
302 if item > -1:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
303 self.selectedItem = item
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
304 self.PopupMenu( self.menu, pos )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
305
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
306 # Process the events associated with our popup menu
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
307 def OnPopupMenuItem( self, event ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
308 # if we are not running, the player list is empty anyways
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
309 if self.main.STATUS == SERVER_RUNNING:
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
310 menuItem = event.GetId()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
311 playerID = str( self.GetItemData( self.selectedItem ) )
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
312 room = str(self.GetItem((int(playerID)-1), 3).GetText())
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
313 idList = self.main.server.server.groups
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
314 for r in self.roomList:
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
315 if room == self.roomList[r]: groupID = r
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
316 else: groupID = 0
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
317 if menuItem == 1:
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
318 self.main.server.server.admin_kick( playerID )
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
319 elif menuItem == 2:
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
320 message = 'Banishment'
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
321 BanMsg = wx.TextEntryDialog( self, "Enter A Message To Send:",
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
322 "Ban Message", message, wx.OK|wx.CANCEL|wx.CENTRE )
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
323 if BanMsg.ShowModal() == wx.ID_OK: message = BanMsg.GetValue()
224
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
324 else: return
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
325 Silent = wx.MessageDialog(None, 'Silent Ban?', 'Question',
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
326 wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
327 if Silent.ShowModal() == wx.ID_YES: silent = 1
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
328 else: silent = 0
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
329 self.main.server.server.admin_ban(playerID, message, silent)
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
330 self.remove( playerID )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
331 elif menuItem == 4:
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
332 msg = self.GetMessageInput( "Send a message to player" )
224
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
333
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
334 broadcast = '<chat type="1" version="1.0"><font color="#FF0000">' +msg+ '</font></chat>'
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
335 chat = Element('chat')
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
336 chat.set('type', '1')
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
337 chat.set('version', '1.0')
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
338 chat.text = broadcast
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
339 msg = self.main.server.server.buildMsg(str(playerID), '0', '1', msg)
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
340
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
341 if len(msg): self.main.server.server.players[playerID].outbox.put(msg)
27
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
342 #Leave this in for now.
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
343 elif menuItem == 5:
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
344 msg = self.GetMessageInput( "Send message to room of this player")
224
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
345
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
346 broadcast = '<chat type="1" version="1.0"><font color="#FF0000">' +msg+ '</font></chat>'
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
347 chat = Element('chat')
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
348 chat.set('type', '1')
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
349 chat.set('version', '1.0')
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
350 chat.text = broadcast
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
351 msg = self.main.server.server.buildMsg('all', '0', '1', tostring(chat))
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
352
58
27e58b0483e7 Fixed major bug that caused an error to spit out in Windows platforms.
sirebral
parents: 57
diff changeset
353 if len(msg): self.main.server.server.send_to_group('0', str(groupID), msg )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
354 elif menuItem == 6:
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
355 msg = self.GetMessageInput( "Broadcast Server Message" )
224
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
356 if len(msg): self.main.server.server.broadcast(msg )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
357 elif menuItem == 3:
124
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
358 version_string = self.main.server.server.obtain_by_id(playerID, 'client_string')
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
359 if version_string: wx.MessageBox("Running client version " + version_string,"Version")
8827271fbe1b Traipse Alpha 'OpenRPG' {091001-01}
sirebral
parents: 122
diff changeset
360 else: wx.MessageBox("No client version available for this player", "Version")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
361
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
362 def GetMessageInput( self, title ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
363 prompt = "Please enter the message you wish to send:"
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
364 msg = wx.TextEntryDialog(self, prompt, title)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
365 msg.ShowModal()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
366 msg.Destroy()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
367 return msg.GetValue()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
368
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
369 class ServerGUI(wx.Frame):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
370 STATUS = SERVER_STOPPED
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
371 def __init__(self, parent, id, title):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
372 wx.Frame.__init__(self, parent, id, title, size = (760, 560) )
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
373 if wx.Platform == '__WXMSW__': icon = wx.Icon(dir_struct["icon"]+'WAmisc9.ico', wx.BITMAP_TYPE_ICO)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
374 else: icon = wx.Icon(dir_struct["icon"]+'connect.gif', wx.BITMAP_TYPE_GIF)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
375 self.SetIcon(icon)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
376 self.serverName = "Server Name"
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
377 self.bootPwd = ""
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
378 self.do_log = True
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
379
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
380 # Register our events to process -- notice the custom event handler
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
381 self.Bind(wx.EVT_CLOSE, self.OnExit)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
382 self.Bind(EVT_LOG_MESSAGE, self.OnLogMessage)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
383 self.Bind(EVT_FUNCTION_MESSAGE, self.OnFunctionMessage)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
384
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
385 # Creat GUI
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
386 self.build_menu()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
387 self.build_body()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
388 self.build_status()
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
389 self.BanListDialog = BanListDialog(self)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
390
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
391 # Server Callbacks
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
392 cb = {}
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
393 cb["log"] = self.Log
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
394 cb["connect"] = self.OnConnect
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
395 cb["disconnect"] = self.OnDisconnect
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
396 cb["update"] = self.OnUpdatePlayer
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
397 cb["data_recv"] = self.OnDataRecv
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
398 cb["data_sent"] = self.OnDataSent
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
399 cb["create_group"] = self.OnCreateGroup
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
400 cb["delete_group"] = self.OnDeleteGroup
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
401 cb["join_group"] = self.OnJoinGroup
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
402 cb['update_group'] = self.OnUpdateGroup
218
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
403 cb['exception'] = self.OnException
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
404 cb["role"] = self.OnSetRole
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
405 self.callbacks = cb
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
406
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
407 # Misc.
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
408 self.conf = ServerConfig(self)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
409 self.total_messages_received = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
410 self.total_data_received = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
411 self.total_messages_sent = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
412 self.total_data_sent = 0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
413
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
414 """ Build GUI """
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
415 def build_menu(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
416 """ Build the GUI menu. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
417 self.mainMenu = wx.MenuBar()
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
418
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
419 # File Menu
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
420 menu = wx.Menu()
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
421 menu.Append(1, 'Start', 'Start server.')
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
422 menu.Append(2, 'Stop', 'Shutdown server.')
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
423 menu.AppendSeparator()
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
424 menu.Append(3, 'E&xit', 'Exit application.')
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
425 self.Bind(wx.EVT_MENU, self.OnStart, id=1)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
426 self.Bind(wx.EVT_MENU, self.OnStop, id=2)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
427 self.Bind(wx.EVT_MENU, self.OnExit, id=3)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
428 self.mainMenu.Append(menu, '&Server')
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
429
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
430 # Registration Menu
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
431 menu = wx.Menu()
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
432 menu.Append(4, 'Register', 'Register with OpenRPG server directory.')
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
433 menu.Append(5, 'Unregister', 'Unregister from OpenRPG server directory.')
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
434 self.Bind(wx.EVT_MENU, self.OnRegister, id=4)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
435 self.Bind(wx.EVT_MENU, self.OnUnregister, id=5)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
436 self.mainMenu.Append( menu, '&Registration' )
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
437
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
438 # Server Configuration Menu
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
439 menu = wx.Menu()
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
440 menu.Append(6, 'Ban List', 'Modify Ban List.')
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
441 menu.Append(11, 'Zombies', 'Set auto-kick time for zombie clients')
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
442 menu.Append(14, 'Send Size', 'Adjust the send size limit')
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
443 menu.AppendSeparator()
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
444 menu.Append(7, 'Start Ping', 'Ping players to validate remote connection.' )
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
445 menu.Append(8, 'Stop Ping', 'Stop validating player connections.' )
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
446 menu.Append(9, 'Ping Interval', 'Change the ping interval.' )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
447 menu.AppendSeparator()
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
448 menu.AppendCheckItem(10, 'Server Logging',
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
449 'Turn on or off the Server GUI Log').Check(self.do_log)
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
450 menu.AppendCheckItem(12, 'Room Passwords', 'Allow or Deny Room Passwords').Check(False)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
451 menu.AppendCheckItem(13, 'Remote Admin', 'Allow or Deny Remote Admin').Check(False)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
452 menu.AppendCheckItem(15, 'Remote Kill', 'Allow or Deny Remote Admin Server Kill').Check(False)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
453 self.Bind(wx.EVT_MENU, self.ModifyBanList, id=6)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
454 self.Bind(wx.EVT_MENU, self.PingPlayers, id=7)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
455 self.Bind(wx.EVT_MENU, self.StopPingPlayers, id=8)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
456 self.Bind(wx.EVT_MENU, self.ConfigPingInterval, id=9)
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
457 self.Bind(wx.EVT_MENU, self.LogToggle, id=10)
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
458 self.mainMenu.Append( menu, '&Configuration')
218
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
459
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
460 # Traipse Suite of Additions.
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
461 self.traipseSuite = wx.Menu()
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
462 self.debugger = DebugConsole(self)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
463 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite")
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
464
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
465 #Debugger Console
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
466 self.debugConsole = wx.MenuItem(self.traipseSuite, -1, "Debug Console", "Debug Console")
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
467 self.Bind(wx.EVT_MENU, self.OnMB_DebugConsole, self.debugConsole)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
468 self.traipseSuite.AppendItem(self.debugConsole)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
469
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
470 self.SetMenuBar(self.mainMenu)
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
471
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
472 self.mainMenu.Enable(2, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
473 self.mainMenu.Enable(4, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
474 self.mainMenu.Enable(5, False)
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
475
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
476 # Disable the ping menu items
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
477 self.mainMenu.Enable(7, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
478 self.mainMenu.Enable(8, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
479 self.mainMenu.Enable(9, False)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
480
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
481 # Disable placeholders
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
482 self.mainMenu.Enable(11, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
483 self.mainMenu.Enable(14, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
484 self.mainMenu.Enable(12, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
485 self.mainMenu.Enable(13, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
486 self.mainMenu.Enable(15, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
487
218
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
488 def OnException(self, error):
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
489 self.TraipseSuiteWarn('debug')
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
490 self.debugger.console.AppendText(".. " + str(error) +'\n')
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
491
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
492 def OnMB_DebugConsole(self, evt):
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
493 self.TraipseSuiteWarnCleanup('debug')
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
494 if self.debugger.IsShown() == True: self.debugger.Hide()
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
495 else: self.debugger.Show()
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
496
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
497 def TraipseSuiteWarn(self, menuitem):
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
498 ### Allows for the reuse of the 'Attention' menu.
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
499 ### component.get('frame').TraipseSuiteWarn('item') ### Portable
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
500 self.mainMenu.Remove(3)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
501 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite!")
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
502 if menuitem == 'debug':
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
503 if self.debugger.IsShown() == True:
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
504 self.mainMenu.Remove(3)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
505 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite")
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
506 else:
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
507 self.debugConsole.SetBitmap(wx.Bitmap(dir_struct["icon"] + 'spotlight.png'))
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
508 self.traipseSuite.RemoveItem(self.debugConsole)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
509 self.traipseSuite.AppendItem(self.debugConsole)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
510
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
511 def TraipseSuiteWarnCleanup(self, menuitem):
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
512 ### Allows for portable cleanup of the 'Attention' menu.
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
513 ### component.get('frame').TraipseSuiteWarnCleanup('item') ### Portable
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
514 self.mainMenu.Remove(3)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
515 self.mainMenu.Insert(3, self.traipseSuite, "&Traipse Suite")
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
516 if menuitem == 'debug':
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
517 self.traipseSuite.RemoveItem(self.debugConsole)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
518 self.debugConsole.SetBitmap(wx.Bitmap(dir_struct["icon"] + 'clear.gif'))
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
519 self.traipseSuite.AppendItem(self.debugConsole)
b8091ede042a Traipse Alpha 'OpenRPG' {100430-01}
sirebral
parents: 195
diff changeset
520
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
521 def build_body(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
522 """ Create the ViewNotebook and logger. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
523 splitter = wx.SplitterWindow(self, -1, style=wx.NO_3D | wx.SP_3D)
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
524 nb = wx.Notebook(splitter, -1)
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
525 self.conns = Connections(nb, self)
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
526 self.groups = Groups(nb, self)
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
527 self.msgWindow = HTMLMessageWindow(nb)
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
528 nb.AddPage(self.conns, "Players")
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
529 nb.AddPage(self.groups, 'Rooms')
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
530 nb.AddPage(self.msgWindow, "Messages")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
531
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
532 log = wx.TextCtrl(splitter, -1, style=wx.TE_MULTILINE | wx.TE_READONLY | wx.HSCROLL)
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
533 wx.Log.SetActiveTarget(wx.LogTextCtrl(log))
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
534 splitter.SplitHorizontally(nb, log, 400)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
535 splitter.SetMinimumPaneSize(40)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
536 self.nb = nb
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
537 self.log = log
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
538
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
539 def build_status(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
540 """ Create status bar and set defaults. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
541 sb = wx.StatusBar(self, -1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
542 sb.SetFieldsCount(5)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
543 sb.SetStatusWidths([-1, 115, 115, 65, 200])
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
544 sb.SetStatusText("Sent: 0", 1)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
545 sb.SetStatusText("Recv: 0", 2)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
546 sb.SetStatusText("Stopped", 3)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
547 sb.SetStatusText("Unregistered", 4)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
548 self.SetStatusBar(sb)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
549 self.sb = sb
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
550
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
551 def show_error(self, mesg, title = "Error"):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
552 """ Display an error.
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
553 mesg (str) -- error message to display
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
554 title (str) -- title of window
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
555 """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
556 dlg = wx.MessageDialog(self, mesg, title, wx.OK | wx.ICON_EXCLAMATION)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
557 dlg.ShowModal()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
558 dlg.Destroy()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
559
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
560
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
561 # Event handler for out logging event
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
562 def LogToggle(self, event):
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
563 self.do_log = event.IsChecked()
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
564
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
565 def OnLogMessage( self, event ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
566 self.Log( event.message )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
567
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
568 # Event handler for out logging event
122
36919b8a3ef9 Traipse Alpha 'OpenRPG' {091031-00}
sirebral
parents: 119
diff changeset
569 def OnFunctionMessage(self, event):
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
570 self.callbacks[event.func]( event.message )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
571
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
572 ### Server Callbacks #####################################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
573 def Log(self, log):
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
574 if self.do_log: wx.LogMessage(str(log))
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
575
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
576 def OnConnect(self, player):
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
577 self.conns.add(player)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
578
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
579 def OnDisconnect(self, id):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
580 self.conns.remove(id)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
581
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
582 def OnUpdatePlayer(self, data):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
583 self.conns.update(data)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
584
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
585 def OnDataSent(self, bytes):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
586 self.total_messages_sent += 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
587 self.total_data_sent += bytes
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
588 self.sb.SetStatusText("Sent: %s (%d)" % (format_bytes(self.total_data_sent),
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
589 self.total_messages_sent), 1)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
590
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
591 def OnDataRecv(self, bytes):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
592 self.total_messages_received += 1
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
593 self.total_data_received += bytes
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
594 self.sb.SetStatusText("Recv: %s (%d)" % (format_bytes(self.total_data_received),
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
595 self.total_messages_received), 2)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
596
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
597 def OnCreateGroup( self, data ):
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
598 (room, room_id, player, pwd) = data
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
599 self.groups.AddGroup(data)
139
8e07c1a2c69b Traipse Alpha 'OpenRPG' {091123-00}
sirebral
parents: 128
diff changeset
600 self.conns.roomList[room_id] = room
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
601 data = (room, room_id, player)
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
602 self.conns.updateRoom(data)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
603
119
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
604 def OnDeleteGroup(self, data):
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
605 (room_id, player) = data
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
606 self.groups.DeleteGroup(room_id)
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
607 del self.conns.roomList[room_id]
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
608
119
9314d63c0941 Traipse Alpha 'OpenRPG' {091029-00}
sirebral
parents: 98
diff changeset
609 def OnJoinGroup(self, data):
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
610 self.conns.updateRoom(data)
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
611
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
612 def OnUpdateGroup(self, data):
224
29cf1a17ca16 Traipse Alpha 'OpenRPG' {100503-00}
sirebral
parents: 218
diff changeset
613 (room, room_id, players) = data
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
614 self.groups.UpdateGroup(data)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
615
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
616 def OnSetRole( self, data ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
617 (id, role) = data
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
618 self.conns.setPlayerRole(id, role)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
619
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
620 ### Misc. ################################################
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
621 def OnStart(self, event = None):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
622 """ Start server. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
623 if self.STATUS == SERVER_STOPPED:
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
624 ## Set name and admin password as empty
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
625 self.serverName = ''
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
626 self.bootPwd = ''
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
627 # see if we already have serverName and bootPwd specified
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
628 try:
90
d1aff41c031b Traipse Alpha 'OpenRPG' {090919-00}
sirebral
parents: 71
diff changeset
629 validate.config_file( "server_ini.xml", "default_server_ini.xml" )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
630 configDoc = parse(dir_struct["user"] + 'server_ini.xml').getroot()
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
631 self.serverName = configDoc.get("name")
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
632 if configDoc.get("admin"): self.bootPwd = configDoc.get("admin")
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
633 elif configDoc.get("boot"): self.bootPwd = configDoc.get("boot")
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
634 except: pass
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
635 if self.serverName == '':
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
636 self.serverName = 'Server Name'
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
637 serverNameEntry = wx.TextEntryDialog(self,
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
638 "Please Enter The Server Name You Wish To Use:",
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
639 "Server's Name",
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
640 self.serverName, wx.OK|wx.CANCEL|wx.CENTRE)
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
641 if serverNameEntry.ShowModal() == wx.ID_OK: self.serverName = serverNameEntry.GetValue()
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
642 if self.bootPwd == '':
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
643 serverPasswordEntry = wx.TextEntryDialog(self,
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
644 "Please Enter The Server Admin Password:",
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
645 "Server's Password",
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
646 self.bootPwd, wx.OK|wx.CANCEL|wx.CENTRE)
56
c7f04d3c76f5 Major update to Server GUI. Basically makes it functional.
sirebral
parents: 27
diff changeset
647 if serverPasswordEntry.ShowModal() == wx.ID_OK: self.bootPwd = serverPasswordEntry.GetValue()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
648 if len(self.serverName):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
649 wx.BeginBusyCursor()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
650 self.server = ServerMonitor(self.callbacks, self.conf, self.serverName, self.bootPwd)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
651 self.server.start()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
652 self.STATUS = SERVER_RUNNING
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
653 self.sb.SetStatusText("Running", 3)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
654 self.SetTitle(__appname__ + "- (running) - (unregistered)")
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
655 self.mainMenu.Enable(1, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
656 self.mainMenu.Enable(2, True)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
657 self.mainMenu.Enable(4, True)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
658 wx.EndBusyCursor()
27
a571772a45c7 Minor house cleaning in the mplay_server_gui. Getting ready to push this
sirebral
parents: 9
diff changeset
659 else: self.show_error("Server is already running.", "Error Starting Server")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
660
228
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
661 def OnStop(self, event=None):
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
662 """ Stop server. """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
663 if self.STATUS == SERVER_RUNNING:
228
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
664 self.OnUnregister(event)
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
665 self.server.stop()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
666 self.STATUS = SERVER_STOPPED
228
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
667 if event != 'Quit':
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
668 self.sb.SetStatusText("Stopped", 3)
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
669 self.SetTitle(__appname__ + "- (stopped) - (unregistered)")
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
670 self.mainMenu.Enable(1, True)
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
671 self.mainMenu.Enable(2, False)
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
672 self.mainMenu.Enable(4, False)
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
673 self.mainMenu.Enable(5, False)
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
674 self.conns.DeleteAllItems()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
675
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
676 def OnRegister(self, event = None):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
677 """ Call into mplay_server's register() function.
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
678 This will begin registerThread(s) to keep server
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
679 registered with configured metas
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
680 """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
681 if len( self.serverName ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
682 wx.BeginBusyCursor()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
683 self.server.server.register(self.serverName)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
684 self.sb.SetStatusText( ("%s" % (self.serverName)), 4 )
195
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
685 self.mainMenu.Enable(4, False)
b633f4c64aae Traipse Alpha 'OpenRPG' {100219-00}
sirebral
parents: 151
diff changeset
686 self.mainMenu.Enable(5, True)
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
687 #self.mainMenu.Enable( 2, False )
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
688 self.SetTitle(__appname__ + "- (running) - (registered)")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
689 wx.EndBusyCursor()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
690
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
691 def OnUnregister(self, event = None):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
692 """ Call into mplay_server's unregister() function.
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
693 This will kill any registerThreads currently running
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
694 and result in the server being de-listed
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
695 from all metas
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
696 """
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
697 wx.BeginBusyCursor()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
698 self.server.server.unregister()
228
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
699 if event != 'Quit':
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
700 self.sb.SetStatusText("Unregistered", 4)
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
701 self.mainMenu.Enable(5, False)
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
702 self.mainMenu.Enable(4, True)
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
703 #self.mainMenu.Enable( 2, True )
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
704 self.SetTitle(__appname__ + "- (running) - (unregistered)")
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
705 wx.EndBusyCursor()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
706
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
707 def ModifyBanList(self, event):
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
708 if self.BanListDialog.IsShown() == True: self.BanListDialog.Hide()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
709 else: self.BanListDialog.Show()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
710
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
711 def PingPlayers( self, event = None ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
712 "Ping all players that are connected at a periodic interval, detecting dropped connections."
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
713 wx.BeginBusyCursor()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
714 wx.Yield()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
715 wx.EndBusyCursor()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
716
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
717 def StopPingPlayers( self, event = None ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
718 "Stop pinging connected players."
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
719
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
720 def ConfigPingInterval( self, event = None ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
721 "Configure the player ping interval. Note that all players are pinged on a single timer."
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
722
128
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
723 def OnExit(self, event):
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
724 dlg = wx.MessageDialog(self, "Exit the Server?", "OpenRPG- Server", wx.YES_NO)
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
725 if dlg.ShowModal() == wx.ID_YES:
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
726 dlg.Destroy()
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
727 self.ExitConfirmed()
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
728
fba298d65cf8 Traipse Alpha 'OpenRPG' {091003-00}
sirebral
parents: 124
diff changeset
729 def ExitConfirmed(self, event=None):
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
730 """ Quit the program. """
228
24769389a7ba Traipse Alpha 'OpenRPG' {100612-01}
sirebral
parents: 224
diff changeset
731 self.OnStop('Quit')
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
732 self.BanListDialog.Destroy()
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
733 wx.CallAfter(self.Destroy)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
734
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
735 class BanListDialog(wx.Frame):
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
736 def __init__(self, parent):
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
737 super(BanListDialog, self).__init__(parent, -1, "Ban List")
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
738 icon = wx.Icon(dir_struct["icon"]+'noplayer.gif', wx.BITMAP_TYPE_GIF)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
739 self.SetIcon( icon )
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
740 self.BanList = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_SINGLE_SEL|wx.LC_REPORT|wx.LC_HRULES)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
741 sizer = wx.BoxSizer(wx.VERTICAL)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
742 sizer.Add(self.BanList, 1, wx.EXPAND)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
743 self.BuildList()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
744 self.SetSizer(sizer)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
745 self.SetAutoLayout(True)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
746 self.SetSize((300, 175))
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
747 self.Bind(wx.EVT_CLOSE, self.Min)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
748 self.Min(None)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
749
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
750 # Ban List Dialog Pop Up Menu, more can be added
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
751 self.menu = wx.Menu()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
752 self.menu.SetTitle( "Modify Ban List" )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
753 self.menu.Append( 1, "Un-Ban Player" )
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
754
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
755 # Even Association
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
756 self.BanList.Bind(wx.EVT_RIGHT_DOWN, self.BanPopupMenu)
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
757 self.Bind(wx.EVT_MENU, self.BanPopupMenuItem, id=1)
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
758
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
759 # When we right click, cause our popup menu to appear
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
760 def BanPopupMenu( self, event ):
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
761 pos = wx.Point( event.GetX(), event.GetY() )
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
762 (item, flag) = self.BanList.HitTest( pos )
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
763 if item > -1:
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
764 self.selectedItem = item
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
765 self.PopupMenu( self.menu, pos )
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
766
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
767 def BanPopupMenuItem( self, event):
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
768 menuItem = event.GetId()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
769 player = str(self.BanList.GetItemData(self.selectedItem))
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
770 playerIP = str(self.BanList.GetItem((int(player)), 1).GetText())
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
771 if menuItem == 1:
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
772 server.admin_unban(playerIP)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
773 self.BanList.DeleteItem(self.BanList.GetItemData(self.selectedItem))
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
774 self.BanList.Refresh()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
775
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
776 def BuildList(self):
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
777 # Build Dialog Columns
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
778 self.BanList.ClearAll()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
779 self.BanList.InsertColumn(0, "User Name")
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
780 self.BanList.InsertColumn(1, "IP")
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
781
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
782 validate.config_file("ban_list.xml", "default_ban_list.xml" )
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
783 configDom = parse(dir_struct["user"] + 'ban_list.xml').getroot()
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
784 ban_dict = {}
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
785 for element in configDom.findall('banned'):
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
786 player = element.get('name').replace("&", "&amp;").replace("<", "&lt;").replace('"', "&quot;").replace(">", "&gt;")
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
787 playerIP = element.get('ip')
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
788 ban_dict[player] = playerIP
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
789 for key in ban_dict:
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
790 i = self.BanList.InsertImageStringItem( 0, key, 0 )
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
791 self.BanList.SetStringItem(i, 1, ban_dict[key])
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
792 self.BanList.RefreshItem(i)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
793 self.AutoAdjust()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
794
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
795 def AutoAdjust(self):
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
796 self.BanList.SetColumnWidth(0, -1)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
797 self.BanList.SetColumnWidth(1, -1)
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
798 self.BanList.Refresh()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
799
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
800 def Min(self, evt):
151
06f10429eedc Traipse Alpha 'OpenRPG' {091125-00}
sirebral
parents: 139
diff changeset
801 self.BuildList()
98
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
802 self.Hide()
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
803 ###############
95b5281e8d34 Traipse Alpha 'OpenRPG' {090925-00}
sirebral
parents: 96
diff changeset
804
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
805 class ServerGUIApp(wx.App):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
806 def OnInit(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
807 # Make sure our image handlers are loaded before we try to display anything
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
808 wx.InitAllImageHandlers()
96
65c1604e7949 Traipse Alpha 'OpenRPG' {090924-00}
sirebral
parents: 90
diff changeset
809 self.splash = wx.SplashScreen(wx.Bitmap(dir_struct["icon"]+'splash.gif'),
0
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
810 wx.SPLASH_CENTRE_ON_SCREEN|wx.SPLASH_TIMEOUT,
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
811 2000,
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
812 None)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
813 self.splash.Show(True)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
814 wx.Yield()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
815 wx.CallAfter(self.AfterSplash)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
816 return True
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
817
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
818 def AfterSplash(self):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
819 self.splash.Close(True)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
820 frame = ServerGUI(None, -1, __appname__ + "- (stopped) - (unregistered)")
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
821 frame.Show(True)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
822 frame.Raise()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
823 self.SetTopWindow(frame)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
824
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
825 class HTMLMessageWindow(wx.html.HtmlWindow):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
826 "Widget used to present user to admin messages, in HTML format, to the server administrator"
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
827 # Init using the derived from class
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
828 def __init__( self, parent ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
829 wx.html.HtmlWindow.__init__( self, parent )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
830 def OnLinkClicked( self, ref ):
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
831 "Open an external browser to resolve our About box links!!!"
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
832 href = ref.GetHref()
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
833 webbrowser.open( href )
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
834
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
835 if __name__ == '__main__':
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
836 app = ServerGUIApp(0)
4385a7d0efd1 Deleted and repushed it with the 'grumpy-goblin' branch. I forgot a y
sirebral
parents:
diff changeset
837 app.MainLoop()