changeset 114:bd6ca89e4cbb alpha

Traipse Alpha 'OpenRPG' {091011-00} 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: Adds Bookmarks (Alpha) with cool Smiley Star and Plus Symbol images! Changes made to the map for increased portability. SnowDog has changes planned in Core, though. Added an initial push to the BCG. Not much to see, just shows off how it is re-writing Main code. Fix to remote admin commands Minor fix to texted based server, works in /System/ folder Some Core changes to gametree to correctly disply Pretty Print, thanks David! Fix to Splitter Nodes not being created. Added images to Plugin Control panel for Autostart feature Fix to massive amounts of images loading; from Core {091011} 00: fix to gsclient so with_statement imports Added 'boot' command to remote admin Prep work in Pass tool for remote admin rankings and different passwords, ei, Server, Admin, Moderator, etc.
author sirebral
date Sun, 11 Oct 2009 16:38:54 -0500
parents f91b70c46908
children 17b64e9133e9
files orpg/chat/commands.py orpg/networking/gsclient.py orpg/networking/mplay_server.py orpg/orpg_version.py orpg/tools/passtool.py
diffstat 5 files changed, 26 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/orpg/chat/commands.py	Fri Oct 09 23:28:33 2009 -0500
+++ b/orpg/chat/commands.py	Sun Oct 11 16:38:54 2009 -0500
@@ -684,6 +684,11 @@
                 #Ban a player from the server
                 msg = msgbase + ' cmd="ban" bid="' + str(args[1]) + '" />'
                 self.session.outbox.put(msg)
+                
+            elif args[0] == "boot":
+                #Ban a player from the server
+                msg = msgbase + ' cmd="boot" bid="' + str(args[1]) + '" />'
+                self.session.outbox.put(msg)
 
             elif args[0] == "banip":
                 #Ban a player from the server
--- a/orpg/networking/gsclient.py	Fri Oct 09 23:28:33 2009 -0500
+++ b/orpg/networking/gsclient.py	Sun Oct 11 16:38:54 2009 -0500
@@ -26,6 +26,7 @@
 # Description: The file contains code for the game server browser
 #
 
+from __future__ import with_statement
 __version__ = "$Id: gsclient.py,v 1.53 2007/10/25 21:49:34 digitalxero Exp $"
 
 from orpg.dirpath import dir_struct
@@ -103,9 +104,7 @@
         self.bookmarks()
         self.refresh_server_list()
 	self.refresh_room_list()
-        self.build_bookmark_menu() ## Not yet implemented
-        #self.refresh_server_list()
-        #self.refresh_room_list()
+        self.build_bookmark_menu() 
 
     def build_ctrls(self):
         ## Section Sizers (with frame edges and text captions)
@@ -250,7 +249,6 @@
                 name = svr.name
                 if server.get('name') == name: self.server_list.SetItemImage(x, 1)
                 x += 1
-            #self.server_list.SetItemImage( self.server_list.FindItem(0, server.get('name')), 1 ) 
             item = wx.MenuItem(self.bookmarks_menu, wx.ID_ANY,
                                server.get('name'), server.get('name'))
             open_rpg.get_component('frame').Bind(wx.EVT_MENU,
--- a/orpg/networking/mplay_server.py	Fri Oct 09 23:28:33 2009 -0500
+++ b/orpg/networking/mplay_server.py	Sun Oct 11 16:38:54 2009 -0500
@@ -2335,6 +2335,13 @@
                 msg = "<msg to='" + id + "' from='0' group_id='" + gid + "'> Banned!"
                 self.players[pid].outbox.put(msg)
                 self.admin_ban(id, "")
+            ### Alpha ### and untested
+            elif cmd == "boot":
+                id = xml_dom.getAttribute("bid")
+                msg = "<msg to='" + id + "' from='0' group_id='" + gid + "'> Booted!"
+                self.players[pid].outbox.put(msg)
+                self.admin_kick(id, "")
+            #############
             elif cmd == "unban":
                 ip = xml_dom.getAttribute("ip")
                 self.admin_unban(ip)
--- a/orpg/orpg_version.py	Fri Oct 09 23:28:33 2009 -0500
+++ b/orpg/orpg_version.py	Sun Oct 11 16:38:54 2009 -0500
@@ -4,7 +4,7 @@
 #BUILD NUMBER FORMAT: "YYMMDD-##" where ## is the incremental daily build index (if needed)
 DISTRO = "Traipse Alpha"
 DIS_VER = "Ornery Orc"
-BUILD = "091009-01"
+BUILD = "091011-00"
 
 # This version is for network capability.
 PROTOCOL_VERSION = "1.2"
--- a/orpg/tools/passtool.py	Fri Oct 09 23:28:33 2009 -0500
+++ b/orpg/tools/passtool.py	Sun Oct 11 16:38:54 2009 -0500
@@ -100,8 +100,18 @@
     def GetSilentPassword( self, type="server", groupid = 0):
         try:
             self.CheckGroupData( groupid )
+            ### Pre-Alpha ### How types will work
+            # Server - top dog
+            # Admin - second in command
+            # Mod - some privileges
+            # Room - You got it, unchanged (passwords the room entry)
+            # Boot - This is the room admin password.
             if type == "admin":
-                if self.groups[int(groupid)].admin != None: return str(self.groups[int(groupid)].admin)
+                try: print self.groups[int(groupid)].admin
+                except: pass
+                try: print str(self.groups[int(groupid)].admin)
+                except: pass
+                if self.groups[int(groupid)].admin != None: print str(self.groups[int(groupid)].admin); return str(self.groups[int(groupid)].admin)
                 else: return None
             elif type == "room":
                 if self.groups[int(groupid)].room != None: return str(self.groups[int(groupid)].room)