mirror of
https://github.com/Sneed-Group/Poodletooth-iLand
synced 2024-12-23 11:42:39 -06:00
Add submodule and upload the deployment files.
This commit is contained in:
parent
1ea800b4bd
commit
1e8045172b
8 changed files with 318 additions and 0 deletions
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
[submodule "resources"]
|
||||
path = resources
|
||||
url = git@Repo.Ez-webz.com:Stride/resources.git
|
36
deployment/README.txt
Normal file
36
deployment/README.txt
Normal file
|
@ -0,0 +1,36 @@
|
|||
This deployment folder contains files that describe how a release of TTSride should be run on the gameservers.
|
||||
|
||||
uberdogs.yml contains the 'uberdogs' section of an astrond.yml. Please keep it updated, or else you'll break prod!
|
||||
|
||||
deploy.json describes a the environment for a release of TTSride. It contains the version of astron to use as well as the version of Panda3D to use as well as the libpandadna version to use..
|
||||
deploy.json also contains a version prefix. This is used to generate dev version strings on the development server (which are probably something like ttstride-beta-dev-gabcdef0).
|
||||
When we deploy a release to prod, we push a git tag named after the version to the repository (i.e. ttstride-alpha-v1.3.7). It is required that the tag's name contain the version prefix specified in deploy.json.
|
||||
The key 'server-resources' maps to a list of file extensions of files in the resources directory that are necessary to be used server-side. We do not package and deploy art assets onto servers.
|
||||
|
||||
Last, server.prc is the configuration file we use for specifying config vars related to gameplay (a variable like want-sbhq should be put in server.prc, while a variable like air-stateserver does not belong here). server.prc is the last portion added to generated configuration files.
|
||||
We also have a tag system to allow certain blocks of configuration to be used only in a certain environment. This allows us to generate releases that behaive differently depending on the environment that they are deployed in. For example:
|
||||
|
||||
-----
|
||||
want-toontowncentral #t
|
||||
#<prod>
|
||||
want-bbhq #f
|
||||
#</prod>
|
||||
|
||||
#<dev>
|
||||
want-bbhq #t
|
||||
#</dev>
|
||||
-----
|
||||
|
||||
In prod, the parsed config file would look like this:
|
||||
|
||||
-----
|
||||
want-toontowncentral #t
|
||||
#<prod>
|
||||
want-bbhq #f
|
||||
#</prod>
|
||||
|
||||
#<dev>
|
||||
##UNUSED SECTION
|
||||
##want-bbhq #t
|
||||
#</dev>
|
||||
-----
|
8
deployment/deploy.json
Normal file
8
deployment/deploy.json
Normal file
|
@ -0,0 +1,8 @@
|
|||
{
|
||||
"__fyi__": "If you use anything other than the first 7 characters of the git hash, you just broke everything",
|
||||
"astron": "6b769e6",
|
||||
"panda3d": "b924139",
|
||||
"libpandadna": "a0047ce",
|
||||
"version-prefix": "ttstride-alpha-",
|
||||
"server-resources": ["pdna", "txt", "dat", "bam", "ttf"]
|
||||
}
|
88
deployment/public_client.prc
Normal file
88
deployment/public_client.prc
Normal file
|
@ -0,0 +1,88 @@
|
|||
# This is the PRC configuration file for a published TTStride client. Note that only
|
||||
# this file and Panda3D's Confauto.prc are included. Any relevant directives in
|
||||
# Config.prc should be reproduced here.
|
||||
|
||||
# Client settings
|
||||
window-title Toontown Stride
|
||||
server-version SERVER_VERSION_HERE
|
||||
audio-library-name p3openal_audio
|
||||
video-library-name p3ffmpeg
|
||||
want-dev #f
|
||||
preload-avatars #t
|
||||
|
||||
|
||||
# Textures:
|
||||
texture-anisotropic-degree 16
|
||||
|
||||
|
||||
# Resources settings
|
||||
model-path /
|
||||
model-cache-models #f
|
||||
model-cache-textures #f
|
||||
vfs-mount resources/default/phase_3.mf /
|
||||
vfs-mount resources/default/phase_3.5.mf /
|
||||
vfs-mount resources/default/phase_4.mf /
|
||||
vfs-mount resources/default/phase_5.mf /
|
||||
vfs-mount resources/default/phase_5.5.mf /
|
||||
vfs-mount resources/default/phase_6.mf /
|
||||
vfs-mount resources/default/phase_7.mf /
|
||||
vfs-mount resources/default/phase_8.mf /
|
||||
vfs-mount resources/default/phase_9.mf /
|
||||
vfs-mount resources/default/phase_10.mf /
|
||||
vfs-mount resources/default/phase_11.mf /
|
||||
vfs-mount resources/default/phase_12.mf /
|
||||
vfs-mount resources/default/phase_13.mf /
|
||||
default-model-extension .bam
|
||||
|
||||
|
||||
# DC files are NOT configured.
|
||||
# They're wrapped up into the code automatically.
|
||||
|
||||
|
||||
# Core features:
|
||||
want-pets #t
|
||||
want-parties #f
|
||||
want-cogdominiums #t
|
||||
want-lawbot-cogdo #t
|
||||
want-anim-props #t
|
||||
want-game-tables #t
|
||||
want-find-four #t
|
||||
want-chinese-checkers #t
|
||||
want-checkers #t
|
||||
want-house-types #t
|
||||
want-gifting #t
|
||||
want-top-toons #f
|
||||
want-language-selection #t
|
||||
estate-day-night #t
|
||||
want-mat-all-tailors #t
|
||||
|
||||
|
||||
# Temporary:
|
||||
smooth-lag 0.4
|
||||
want-old-fireworks #t
|
||||
|
||||
|
||||
# Developer options:
|
||||
want-dev #f
|
||||
want-pstats 0
|
||||
|
||||
|
||||
# Crates:
|
||||
dont-destroy-crate #t
|
||||
get-key-reward-always #t
|
||||
get-crate-reward-always #t
|
||||
|
||||
|
||||
# Chat:
|
||||
want-whitelist #t
|
||||
|
||||
|
||||
#<dev>
|
||||
show-total-population #t
|
||||
want-instant-parties #t
|
||||
want-instant-delivery #t
|
||||
cogdo-pop-factor 1.5
|
||||
cogdo-ratio 0.5
|
||||
default-directnotify-level info
|
||||
#</dev>
|
||||
|
32
deployment/server.prc
Normal file
32
deployment/server.prc
Normal file
|
@ -0,0 +1,32 @@
|
|||
# While dev.prc contains settings for both the dev server and client, the
|
||||
# live server separates these. The client settings go in config/public_client.prc
|
||||
# and server settings go here. Don't forget to update both if necessary.
|
||||
|
||||
# Server settings
|
||||
want-dev #f
|
||||
want-cheesy-expirations #t
|
||||
cogsuit-hack-prevent #t
|
||||
|
||||
|
||||
# Core features:
|
||||
want-pets #t
|
||||
want-parties #f
|
||||
want-cogdominiums #t
|
||||
want-lawbot-cogdo #t
|
||||
want-anim-props #t
|
||||
want-game-tables #t
|
||||
want-find-four #t
|
||||
want-chinese-checkers #t
|
||||
want-checkers #t
|
||||
want-house-types #t
|
||||
want-gifting #t
|
||||
want-top-toons #f
|
||||
want-language-selection #t
|
||||
estate-day-night #t
|
||||
want-mat-all-tailors #t
|
||||
is-server #t
|
||||
|
||||
|
||||
# Chat Settings
|
||||
want-whitelist #t
|
||||
want-sequence-list #t
|
71
deployment/toontown/ai/ServiceStart.py
Normal file
71
deployment/toontown/ai/ServiceStart.py
Normal file
|
@ -0,0 +1,71 @@
|
|||
import __builtin__
|
||||
|
||||
|
||||
__builtin__.process = 'ai'
|
||||
|
||||
|
||||
# Temporary hack patch:
|
||||
__builtin__.__dict__.update(__import__('pandac.PandaModules', fromlist=['*']).__dict__)
|
||||
from direct.extensions_native import HTTPChannel_extensions
|
||||
|
||||
import argparse, gc, os
|
||||
|
||||
# Panda3D 1.10.0 is 63.
|
||||
gc.disable()
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--base-channel', help='The base channel that the server may use.')
|
||||
parser.add_argument('--max-channels', help='The number of channels the server may use.')
|
||||
parser.add_argument('--stateserver', help="The control channel of this AI's designated State Server.")
|
||||
parser.add_argument('--district-name', help="What this AI Server's district will be named.")
|
||||
parser.add_argument('--astron-ip', help="The IP address of the Astron Message Director to connect to.")
|
||||
parser.add_argument('--eventlogger-ip', help="The IP address of the Astron Event Logger to log to.")
|
||||
parser.add_argument('config', nargs='*', default=['dependencies/config/general.prc', 'dependencies/config/release/dev.prc'], help="PRC file(s) to load.")
|
||||
args = parser.parse_args()
|
||||
|
||||
for prc in args.config:
|
||||
loadPrcFile(prc)
|
||||
|
||||
if os.path.isfile('dependencies/config/local.prc'):
|
||||
loadPrcFile('dependencies/config/local.prc')
|
||||
|
||||
localconfig = ''
|
||||
if args.base_channel: localconfig += 'air-base-channel %s\n' % args.base_channel
|
||||
if args.max_channels: localconfig += 'air-channel-allocation %s\n' % args.max_channels
|
||||
if args.stateserver: localconfig += 'air-stateserver %s\n' % args.stateserver
|
||||
if args.district_name: localconfig += 'district-name %s\n' % args.district_name
|
||||
if args.astron_ip: localconfig += 'air-connect %s\n' % args.astron_ip
|
||||
if args.eventlogger_ip: localconfig += 'eventlog-host %s\n' % args.eventlogger_ip
|
||||
loadPrcFileData('Command-line', localconfig)
|
||||
|
||||
from otp.ai.AIBaseGlobal import *
|
||||
|
||||
from toontown.ai.ToontownAIRepository import ToontownAIRepository
|
||||
simbase.air = ToontownAIRepository(config.GetInt('air-base-channel', 401000000),
|
||||
config.GetInt('air-stateserver', 4002),
|
||||
config.GetString('district-name', 'Devhaven'))
|
||||
host = config.GetString('air-connect', '127.0.0.1')
|
||||
port = 7100
|
||||
if ':' in host:
|
||||
host, port = host.split(':', 1)
|
||||
port = int(port)
|
||||
simbase.air.connect(host, port)
|
||||
|
||||
isServer = config.GetBool('is-server', False)
|
||||
|
||||
try:
|
||||
run()
|
||||
gc.enable()
|
||||
except SystemExit:
|
||||
raise
|
||||
except Exception:
|
||||
info = describeException()
|
||||
|
||||
simbase.air.writeServerEvent('ai-exception', avId=simbase.air.getAvatarIdFromSender(), accId=simbase.air.getAccountIdFromSender(), exception=info)
|
||||
|
||||
if isServer:
|
||||
import datetime
|
||||
with open(config.GetString('ai-crash-log-name', '/opt/var/log/%s-ai-crash-%s.txt' % (config.GetString('district-name', 'Devhaven'), datetime.datetime.now())), 'w+') as file:
|
||||
file.write(info + "\n")
|
||||
|
||||
raise
|
60
deployment/toontown/uberdog/ServiceStart.py
Normal file
60
deployment/toontown/uberdog/ServiceStart.py
Normal file
|
@ -0,0 +1,60 @@
|
|||
import __builtin__
|
||||
|
||||
|
||||
__builtin__.process = 'uberdog'
|
||||
|
||||
# Temporary hack patch:
|
||||
__builtin__.__dict__.update(__import__('pandac.PandaModules', fromlist=['*']).__dict__)
|
||||
from direct.extensions_native import HTTPChannel_extensions
|
||||
|
||||
import argparse, os
|
||||
|
||||
parser = argparse.ArgumentParser()
|
||||
parser.add_argument('--base-channel', help='The base channel that the server may use.')
|
||||
parser.add_argument('--max-channels', help='The number of channels the server may use.')
|
||||
parser.add_argument('--stateserver', help="The control channel of this UD's designated State Server.")
|
||||
parser.add_argument('--astron-ip', help="The IP address of the Astron Message Director to connect to.")
|
||||
parser.add_argument('--eventlogger-ip', help="The IP address of the Astron Event Logger to log to.")
|
||||
parser.add_argument('config', nargs='*', default=['dependencies/config/general.prc', 'dependencies/config/release/dev.prc'], help="PRC file(s) to load.")
|
||||
args = parser.parse_args()
|
||||
|
||||
for prc in args.config:
|
||||
loadPrcFile(prc)
|
||||
|
||||
if os.path.isfile('dependencies/config/local.prc'):
|
||||
loadPrcFile('dependencies/config/local.prc')
|
||||
|
||||
localconfig = ''
|
||||
if args.base_channel:
|
||||
localconfig += 'air-base-channel %s\n' % args.base_channel
|
||||
if args.max_channels:
|
||||
localconfig += 'air-channel-allocation %s\n' % args.max_channels
|
||||
if args.stateserver:
|
||||
localconfig += 'air-stateserver %s\n' % args.stateserver
|
||||
if args.astron_ip:
|
||||
localconfig += 'air-connect %s\n' % args.astron_ip
|
||||
if args.eventlogger_ip:
|
||||
localconfig += 'eventlog-host %s\n' % args.eventlogger_ip
|
||||
loadPrcFileData('Command-line', localconfig)
|
||||
|
||||
|
||||
from otp.ai.AIBaseGlobal import *
|
||||
|
||||
from toontown.uberdog.ToontownUberRepository import ToontownUberRepository
|
||||
simbase.air = ToontownUberRepository(config.GetInt('air-base-channel', 400000000),
|
||||
config.GetInt('air-stateserver', 4002))
|
||||
host = config.GetString('air-connect', '127.0.0.1')
|
||||
port = 7100
|
||||
if ':' in host:
|
||||
host, port = host.split(':', 1)
|
||||
port = int(port)
|
||||
simbase.air.connect(host, port)
|
||||
|
||||
try:
|
||||
run()
|
||||
except SystemExit:
|
||||
raise
|
||||
except Exception:
|
||||
info = describeException()
|
||||
simbase.air.writeServerEvent('uberdog-exception', simbase.air.getAvatarIdFromSender(), simbase.air.getAccountIdFromSender(), info)
|
||||
raise
|
20
deployment/uberdogs.yml
Normal file
20
deployment/uberdogs.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
uberdogs:
|
||||
- class: ClientServicesManager
|
||||
id: 4665
|
||||
anonymous: true
|
||||
|
||||
- class: ChatAgent
|
||||
id: 4681
|
||||
anonymous: false
|
||||
|
||||
- class: FriendManager
|
||||
id: 4501
|
||||
anonymous: false
|
||||
|
||||
- class: TTSFriendsManager
|
||||
id: 4666
|
||||
anonymous: false
|
||||
|
||||
- class: GlobalPartyManager
|
||||
id: 4477
|
||||
anonymous: false
|
Loading…
Reference in a new issue