-
Notifications
You must be signed in to change notification settings - Fork 58
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Running a Multiplayer Server! #28
Comments
can you give the server with builded files? |
Yeah sure, pre-built server JARs are attached. I can't vouch that they work on all Java versions, since I can't remember how I compiled them. |
i builded but i got errors on try launch the server in windows |
fixed but the server only start and stop Instead use ":" just replace with ";" -Djdk.crypto.KeyAgreement.legacyKDF=true -server -ea -cp matchmaking.jar;mysql.jar;commons-pool-1.2.jar;commons-dbcp-1.2.1.jar;commons-collections-3.1.jar com.oddlabs.matchserver.MatchmakingServer |
Please consolidate/delete all of your debugging comments so other people don't get confused by the mess. It honestly seems like you lack familiarity with some basic concepts, such as the difference in the path separator between Windows and Linux and in building the GitHub project. I encourage you to try to figure these things out as a learning experience instead of posting about every error that you encounter -- it was part of my process to get this to work (and you can indeed see that I have a working server). I run the server on Linux, so my instructions were written for that, and it should just work out of the box for that. To my knowledge, adapting to Windows is simply a matter of changing the path separator in the launch scripts. As for the error that you are encountering, you should debug it by trying to find where the exceptions are actually thrown and printing their stack traces (the multiplayer framework in TT is notorious for swallowing them and rethrowing them as InvocationTargetExceptions). My best guess is that you have failed to carefully follow the instructions, specifically step 2, which involves setting up a MySQL server and creating the database correctly, because I have seen no mention of your doing that, and this is honestly one of the most tedious steps. Given your lack of familiarity with the systems, I don't believe that you did this correctly or even at all. |
sure, the database works normaly, the server starts without any mysql problem, i put other debug points in the server, i tried used the team-pinguim TT build but return the same byte size = -1 (this is my problem over my 2 years trying make this work 😢 , i will try use server on linux to see if is a incompatibility with windows |
hm, i think it's a problem here in my pc, i tried connect to your server and return the same message |
Did you follow the steps to set the settings file correctly? There is a specific sequence that you have to follow... Did you use the original registration file (not the team penguin one?) |
i downloaded the builded penguin with the original registration file just saying to buy and when i click in multiplayer return the same problem |
nvm, with the original register works, i just changed to 1.8 java |
Okay, let me add some clarification here. This multiplayer server setup guide is for setting up multiplayer on the original version of Tribal Trouble. If you wanted multiplayer with the team penguin version, you should've followed their instructions instead. The value add here is not a version of Tribal Trouble that runs multiplayer -- the Team Penguin version does exactly that. The value add here is getting multiplayer to work on the commonly installed version through a settings file tweak -- i.e. minimal installation friction for anyone who still wants to play this game. Your game is still in demo because you are using the team penguin version and not the original version of Tribal Trouble. |
There is server software built here: https://github.com/team-penguin/tribaltrouble with nice enhancements like more players and bigger islands. However, for the less technically-inclined who want to do the bare minimum with the installed game, I'm providing a list of instructions + some knowledge I discovered while doing this project over the weekend.
This has been tested to run on Java 11.
TL;DR
If you just want to play multiplayer without hassle, install the full-version singleplayer game according to the instructions in this repo and skip to step 8.
Multiplayer Installation Instructions
public_reg_key
file in the attached ZIP, and put it into thecommon/static
folder in the repository (there should already be afonts
folder).result.first()
withresult.next()
in the DBInterface.javaserver/classes/com/oddlabs/matchserver/DBInterface.java
file.ant
to build the repository.matchmaker
androuter
launch scripts with the ones I've provided, or use the team-penguin ones, but beware that you will have to pass an extra cmdline argument-Djdk.crypto.KeyAgreement.legacyKDF=true
.matchmaker
androuter
.settings
file. It should be in the same folder that you put theregistration
file in Step 1. If you have set up steps 2-6, add the following lines to thesettings
file:If you elect to use the pre-hosted multiplayer server that I'm leaving up for a while, add the following lines:
Attached ZIP file with pre-made parts: ez_bundle.zip
Technical notes
I have provided a
mysql.jar
which is a much more recent version of MySQL Connector/J than the original one. This is because the old connector does not connect to most recent versions of MySQL server. The patches to DBInterface are to make this new one work.Additionally, since replacing
pub_reg_key
requires modification of the client, we are stuck patching the matchmaker to allow multiple registrations, since we cannot generate new registrations for this particular key.The
-Djdk.crypto.KeyAgreement.legacyKDF=true
is because Java 11 deprecates certain cryptography that Tribal Trouble uses in its client/server communication.I have disabled launching the matchmaker the security policy file, because it somehow makes the MySQL connector break. Neither security policy is required for either the matchmaking or router server to function.
Questions for OddLabs (if they're even still around)
Can we have the private key that corresponds to
pub_reg_key
? This would enable free registration and significantly unblock our ability to launch multiplayer servers.The text was updated successfully, but these errors were encountered: