Linode Server questions

Hello Gentlemen, excellent work on the mod and support. I have made it this far without need for asking (Though a Wiki might be an idea.) and, without the interference of those meddling rebels, my server will soon be fully operational!

http://www.maxogc.net/tribes/t2/index.php?server=96.126.125.61:28000

For background info: I did this install locally on a windows machine, created a separate TN account, updated the Ruby DLL and then uploaded it and set it up via Wineconsole and text editors with no X console involved.

Major issues:
I get an "Account Certificate Invalid" when connecting about 2/3 attempts, as does a friend of mine in Australia (I'm in the UK.) so I'm assuming it's something on the server. I read something about hardcoding the certificate into a script to stop it being cut short but I don't know what file that would go in and that appeared to be on someone using the client on Linux, not the server.

This may be causing my second major issue where, while you can click the above link or use the insert button method in the server browser, you can contact and play on the server fine (Even got Tricon2+Classic mod running fine.) but it doesn't show on the main server list.
My thinking is that it's not able to authenticate properly with the main server.
Either that or some minimum uptime requirement.

Once you join the server, everything is running fine. Which brings me to..

Minor problems:

How do the numbers at the end of "$Host::MapPlayerLimits[mapname]=" work?
I'm assuming they're minimum and maximum values, as such, can I set a map to be 65 -1 so that it cannot be automatically rotated to, but can be mapvoted?

Not looked into setting up the client-side admin and map-voting stuff quite yet.

Is there anyway to have the server idle when no players are connected? Not a big problem, it just seems kinda wasteful.

Comments

  • Hello Gentlemen, excellent work on the mod and support. I have made it this far without need for asking (Though a Wiki might be an idea.) and, without the interference of those meddling rebels, my server will soon be fully operational!

    http://www.maxogc.net/tribes/t2/index.php?server=96.126.125.61:28000

    For background info: I did this install locally on a windows machine, created a separate TN account, updated the Ruby DLL and then uploaded it and set it up via Wineconsole and text editors with no X console involved.
    You don't actually need to go through the account creation process for hosting a server.
    Major issues:
    I get an "Account Certificate Invalid" when connecting about 2/3 attempts, as does a friend of mine in Australia (I'm in the UK.) so I'm assuming it's something on the server. I read something about hardcoding the certificate into a script to stop it being cut short but I don't know what file that would go in and that appeared to be on someone using the client on Linux, not the server.
    The server does not store client certificates permanently. It only stores them for the duration of the cryptographic exchange on a client's connection to the server. If you are getting failures in this process, the culprit is more likely a runtime error communicating with the Ruby interpreter (which handles the crypto functions) over IPC.

    Runtime errors should show up in red during the join process if they occur. You should make sure to run one of the Wine versions that other people have had successes with (e.g. the 1.0.x versions). You haven't specified which distribution, wine version, and so forth you're using on Linode.
    This may be causing my second major issue where, while you can click the above link or use the insert button method in the server browser, you can contact and play on the server fine (Even got Tricon2+Classic mod running fine.) but it doesn't show on the main server list.
    My thinking is that it's not able to authenticate properly with the main server.
    Either that or some minimum uptime requirement.
    Your game server should be sending an HTTP request to master.tribesnext.com/add/#####, where ##### is the port number you are hosting on. The list system will ping your game server over UDP in the same way that a client does when getting a server's info. If players are able to join the server, the list server should be able to query it too. Make sure any outbound firewall is allowing the HTTP request. You can also look at the server console output for status messages regarding communication with the list server.

    No authentication happens by the list server beyond verifying that it is a standard response from a Tribes 2 server. Even if you don't have the TribesNext patch installed, are running a server, and run a curl script to HTTP GET that address from the host, it will show up on our list server (though naturally without the patch, you don't have authentication of user accounts).
    Once you join the server, everything is running fine. Which brings me to..

    Minor problems:

    How do the numbers at the end of "$Host::MapPlayerLimits[mapname]=" work?
    I'm assuming they're minimum and maximum values, as such, can I set a map to be 65 -1 so that it cannot be automatically rotated to, but can be mapvoted?

    Not looked into setting up the client-side admin and map-voting stuff quite yet.
    This I'm not sure about.
    Is there anyway to have the server idle when no players are connected? Not a big problem, it just seems kinda wasteful.
    I'm not sure what you mean by this. When the server is empty, there is nearly zero CPU activity from the game. Then again, since it is a nearly 11 year old game, even when the server is full, the CPU activity is going to be very low by modern standards.
  • That's really helpful. The CPU has been running flat out since I set up the server so I'm going to see what that's about.
    I'd rather stick with current versions of Wine, but if not, I'll go back and match mine to what other people are using.

    I'll move the public/private.store files out of the way and check IP tables isn't messing around (I'll open the 80 and gameplay port on UDP/TCP both ways to start with.), though, the command line isn't showing anything strange. I'm not sure if the HTTP request should expect anything in return and trigger an error from it.
  • As Thyth said, a t2 server in a win32 environment really only hits the cpu at map changes, due to disk access and the net activity frenzy. I am quite interested in what's eating your cpu up.
  • edited March 2012
    Found what I think to be the problem. I remembered incorrectly, it seems TribesNext is using only 12% and Wineconsole is using 100%.
    Quick Google search turns up this and it seems limiting Wine to a single core will help.
    http://wiki.jswindle.com/index.php/Advanced_Wine_User_Information#Running_Wine_on_Multicore_Processors
    So it seems it's not a problem for now and I can sort it out when it comes to writing the stayup script as I remember seeing a set of instructions in the original Linux Server thread.

    Now to sort out the port issue.

    t1tca.png

    Addendum: I hear people talk about a Wine-specific modified T2csri.vl2 but links to it seem dead. Anyone have it?
  • Marvelous!
    cd /home/tribes2/Tribes2/GameData; taskset 1 wineconsole --backend=curses Tribes2.exe -dedicated
    
    Kind of a hackjob but it's holding things together for now.

    dX8yD.png
  • Well certainly better than it was. Is there no way to run a t2 dedicated sans wine?
  • Bad news, taskset is keeping the CPU in check but makes the server unusable. I get a Ruby runtime error 6356468 on the server side and an unhandled exception on the client side.
Sign In or Register to comment.