Welcome to the Toontown School House repository!
Toontown School House is a course dedicated to teaching members of the Toontown community how to develop for the game. For more information, head over to this Reddit post.
Feel free to join our Discord server here!
This project is currently inactive, but feel free to submit pull requests and join the Discord server regardless to interact with other people who are interested in developing for Toontown.
You are free to use this project for any purpose that is not prohibited by the project's licensing. See the "License" section in this README for more details.
This source code requires a customized version of Panda3D to run. Here are links to the 32 and 64 bit Windows executables. Please contact the teachers on our Discord server for instructions on the Linux Panda3D setup.
Panda3D SDK for Windows (64-bit)
This source code contains both Code Redemption and Parties based off the Toontown Online source code leak (Anesidora). They both have two different styles of databases that can be used for both. These databases are the following:
Additionally, there is an RPC endpoint that can be used for code redemption to create code lots, modify code lots, and redeem codes manually.
This can be enabled by setting want-rpc-server #t
and using Toontown Code Redemption NextJS Portal
This database format is enabled by default for both code redemption and parties. These use flat files to store the data required for each to work. This includes the following: Party Data and Invite Data for parties AND Code Lot, Code Set and Code Space for the Code Redemption.
In order to use the MySQL database, you will need to install the PyMYSQL library via pip. An included 'requirements.txt' is included in the root directory that can easily be used with ppython -m pip install -r requirements.txt
.
You will need to run your own MySQL server that the client can talk to; for instance, installing MariaDB will give you a local MySQL server that you can use for the game. You will also need to create two users and two different databases and give the user you create access to change these.
By default, these are: (USER: toontown_code_redemption DB: tt_code_redemption), (USER: toontown_parties DB: tt_parties)
There is example SQL for creating these users and databases under example_user_creation.txt; Replace 'PASSWORD' with the password of your choosing.
Additionally, you will need to set/change the following configuration options inside of 'dev.prc':
want-code-redemption-mysql #t
tt-code-db-password PASSWORD_HERE
tt-code-db-host localhost
tt-code-db-port 3306
tt-code-db-user toontown_code_redemption
tt-code-db-name tt_code_redemption
want-parties-mysql #t
tt-parties-db-password PASSWORD_HERE
tt-parties-db-host localhost
tt-parties-db-port 3306
tt-parties-db-user toontown_parties
tt-parties-db-name tt_parties
This source code requires libuv.dll in the astron folder to run. Here are links to the 32 bit dll and 64 bit dll. Libuv.dll (32-bit) Libuv.dll(64-bit) After downloading the file just drop it in the astron folder
This source code is based on a March 2019 fork of Toontown Offline v1.0.0.0. It has been stripped of all Toontown Offline exclusive features, save one. The brand new Magic Words system made for Toontown Offline has been left alone, and upgraded to the most recent build. This feature will allow users to easily navigate around Toontown without any hassle.
Credits:
- The Toontown Offline Team
- Astron
- Panda3D (More specifically, the modified Astron Panda3D which can be found here)
- libpandadna
- libotp-movement
- libotp-nametags
- Toontown Rewritten
- Anesidora
- Reverse-engineered Toontown Online client/server source code is property of The Walt Disney Company.
See LICENSE.md
and resources/LICENSE.md
for licensing information.