Region Generator (py)

De DigiWiki.

regiongen.py

#!/usr/bin/python
# REGION GEN 2.1
import os
import sys
sys.path.append(os.getcwd())
from Cheetah.Template import Template
import uuid
import pickle
import regionconfig
 
regionsdir = 'Regions'
 
template = """<Root>
<Config sim_UUID="$uuid" sim_name="$regionname" sim_location_x="$x" sim_location_y="$y" internal_ip_address="$s.internalip" internal_ip_port="$port" allow_alternate_ports="false" external_host_name="$s.externalhost" master_avatar_uuid="$s.useruuid" estate_covenant_uuid="00000000-0000-0000-0000-000000000000" lastmap_refresh="0" master_avatar_first="$s.firstname" master_avatar_last="$s.lastname" $password />
</Root>
 
"""
 
savefile = "regiongen_save.pkl"
 
def maketemplate(regionname, x, y, port, uid, password=None):
    t = Template(template)
    t.s = s
    t.uuid = uid
    t.password = password
    t.regionname = regionname
    t.x = x
    t.y = y
    t.port = port
    return str(t)
 
# Make directory to put regions in if not there
try:
    os.mkdir(regionsdir)
except OSError:
    pass
 
settings = {}
 
# Load settings file
try:
    settingsfile = open(savefile)
    settings = pickle.load(settingsfile)
    settingsfile.close()
except IOError:
    pass
 
for s in regionconfig.configlist:
    print s
    counter = 0
    for xnum in range(s['x'][0], s['x'][1]):
        for ynum in range(s['y'][0], s['y'][1]):
            counter += 1
            default = False
 
            # Figure out region name
            if counter == 1:
                default = True
                regionname = s['regionname']
            else:
                regionname = s['regionname'] + str(counter)
 
            # Figure out password
            if 'password' in s:
                password = "master_avatar_pass=\"%s\"" % s['password']
            else:
                password = ''
 
            # Figure out paths
            path = os.path.join(regionsdir,"%s.%s.%s.xml" % \
                        (regionname, xnum, ynum))
 
            # Calculate port
            port = s['startport'] + (counter - 1)
 
            # Try to get UUID from settings
            # Generate + Save if not found
            if regionname in settings:
                uid = settings[regionname]
            else:
                uid = str(uuid.uuid1())
                settings[regionname] = uid
 
            # Make template
            tmpldata = maketemplate(regionname, xnum, ynum, port, uid, password)
 
            # Save file
            tmplfile = open(path, 'w')
            tmplfile.write(tmpldata)
            tmplfile.close()
 
            # Print progress
            print regionname
 
# Save settings file
try:
    settingsfile = open(savefile, 'w')
    pickle.dump(settings, settingsfile)
    settingsfile.close()
except IOError:
    pass

regionconfig.py

# REGIONGEN 2.00 + 2.10 CONFIGURATION FILE
configlist = [] # Dont touch this
 
# START OF REGION
s = {} # Dont touch this
# Region Configuration
s['regionname'] = "RegionSetOne" # Type the name of your island
s['x'] = [5100,5105] # X Position... From <------> To
s['y'] = [5100,5105] # Y Position... From <------> To
 
# User Configuration
s['firstname'] = "Tom" # Your First Name
s['lastname'] = "Jones" # Your Last Name
s['useruuid'] = 'get your clients uuid' # Your UUID, You can use a script in game to get this
#s['password'] = 'pass' # This is optional, it is commented out by default.
 
# Network Configuration
s['startport'] = 9000 # We recommend leaving this at 9000 for opensim
                                    # unless this isnt the first region.
s['internalip'] = "123.123.123.123" # You need to get this to a internal wired/wireless lan ip address
s['externalhost'] = "example.org" # This is the address that people connect from the outside world to
configlist.append(s) # Dont touch this
# END OF REGION
# YOU MAY COPY AND PASTE MORE CONFIGURATIONS INTO THIS FILE TO ADD MORE REGIONS.
 
 
# START OF REGION
s = {} # Dont touch this
# Region Configuration
s['regionname'] = "RegionSetTwo" # Type the name of your island
s['x'] = [5200,5205] # X Position... From <------> To
s['y'] = [5200,5205] # Y Position... From <------> To
 
# User Configuration
s['firstname'] = "Tom" # Your First Name
s['lastname'] = "Jones" # Your Last Name
s['useruuid'] = 'get your clients uuid' # Your UUID, You can use a script in game to get this
#s['password'] = 'pass' # This is optional, it is commented out by default.
 
# Network Configuration
s['startport'] = 9100 # We recommend leaving this at 9000 for opensim
                                    # unless this isnt the first region.
s['internalip'] = "123.123.123.123" # You need to get this to a internal wired/wireless lan ip address
s['externalhost'] = "example.org" # This is the address that people connect from the outside world to
configlist.append(s) # Dont touch this
# END OF REGION
# YOU MAY COPY AND PASTE MORE CONFIGURATIONS INTO THIS FILE TO ADD MORE REGIONS.
Outils personnels
  • Cette page a été consultée 516 fois.
donate
Google Ads