Sierra shutting down master servers

145791023

Comments

  • Well hopefully we've all decided to screw their master servers regardless of if they come down. Why waste our time with their barely-functional piece of crap when there's something better?
    Maybe I'm missing the part where Thyth said he was going to make player + tribe management work again via the browser, but since that's all done through an ingame IRC service his solution doesn't seem any more functional than what we have/had for the past year or so.
  • Why do you guys post like page long posts, i just dont get it?
  • I do agree with you in concept CAT, but some of the reasons I am not so sure are, again, that first, some could argue that 31 Oct was supposed to be our last day, then 1 Nov. And now, for the Support Guys in India (Sundays may not matter), it may be Nov 2 (unsure and not looking) and they have seemingly not yet pulled the plug.

    We just don’t know if I am right or wrong until it happens, but I know we are bring watched… and although I really think (hope) that the game, although clearly losing all official "support", will continue to have masters, community led systems mean ‘keyless’, and “they” are probably already planning another game, call it T4 for fun.

    If they keep us one their systems fully, when the systems really go down then it will COULD be timed with a real T4 release, intending to drive the max number of players to the new game and away from T2… or so my personal thought goes, and that is how I'd sucker people into NOT making a keyless system, kind of like how certain political systems work to keep people coming back for more. Even if Thyth and I don’t agree on all details, we both have player community self sufficiency as a common goal.

    But I think Kyrand is right… community systems are likely going to happen now, one way or another.
  • Maybe I'm missing the part where Thyth said he was going to make player + tribe management work again via the browser, but since that's all done through an ingame IRC service his solution doesn't seem any more functional than what we have/had for the past year or so.
    Yeah you are missing that part. But, are you missing the part where CD-keys, of which there are none, are no longer required?

    Oh and they are NOT making T4 or any game that could be possibly though of as T4; that's just a funny thing to bring up. T:V was their attempt to destroy this series, and they believe they succeeded. They wouldn't even consider making another Tribes game unless games like Legions and the FPS+Z genre totally take off and gain massive popularity. Then they might bring the Tribes name back out and say "Look everyone, here's the original! And we're making another sequel!"
  • Posts too long, talk shorter please, etc...

    Can someone explain how this works in a way that won't confuse someone who doesn't know shit about coding or anything for that matter?
  • Posts too long, talk shorter please, etc...

    Can someone explain how this works in a way that won't confuse someone who doesn't know shit about coding or anything for that matter?
    You download a patch, and then start connecting to Tribes 2 to via a brand new server. Everyone re-creates their accounts from scratch, and no CD-key is required to do so. We will no longer be at the mercy of a company that doesn't give a shit about us.
  • The worst thing about this system is the time it will take for me to recreate all my smurf accounts.
  • The worst thing about this system is the time it will take for me to recreate all my smurf accounts.

    That's a good thing.
  • You download a patch, and then start connecting to Tribes 2 to via a brand new server. Everyone re-creates their accounts from scratch, and no CD-key is required to do so. We will no longer be at the mercy of a company that doesn't give a shit about us.
    Thank you, I've always wanted to share the tribes experience but thanks to the lack of CD-keys the series has faltered immensely. Now I just wish it as open source.
  • Actually it can be written without having to remake profiles. It just depends on the development technique.
  • I have noticed that they did infact shutdown ONE server, I have been watching my server which hosts a small t2 server (WisconsinBotFest) and it seems that they have taken down the master at 198.74.35.8 and the only working one is on 198.74.35.11 which is where the heartbeats from the servers are being sent.
    Hopefully they keep this "backup" one up for a while while this new system is being implemented.
  • Yeah you are missing that part. But, are you missing the part where CD-keys, of which there are none, are no longer required?
    1) Process isolated Ruby interpreter: 99% done
    2) Cryptographic provisioning written in Ruby: 100% done
    3) Server side identity verification script: 95% done
    4) Client side login/account generation script: 80% done
    5) Client side GUI additions: 15% done
    6) Server side list server interface: 95% done
    7) Client side list server interface: 80% done
    8) Auto update: 40% done
    9) SierraUp drop-in replacement: 100% done
    10) Automatic installer: 20% done
    Doesn't mention anything about the browser. Not sure why he needs 6 or 7 at all if he isn't doing a -nologin based hack for his authentication when he could simply direct the client and server to use the GarageGames TGE master server which is compatible with T2 (I know because I've done it).

    I was under the impression that his loader intercepted WON related calls with his own functions, replacing the servers and queries with his own. Such a solution would still use the -online method to run T2. Maybe I'm wrong, but it seems like the logical thing to do if he has gone through all this trouble.
  • He doesn't mention anything about the browser in that post because the functionality for that will come in a later update... First release is intended to provide the minimums required to login and play.
  • Turkeh, I like your image of the penguins ;)

    Lou, can you touch a bit more on the GarageGames TGE master server and your experience with it?

    I have been curious along the way of T's server side (login replacement) method of storage, which can of course be done in many ways, and while your experience is not what I was thinking about at first, I find it very intriguing.
  • I will seriously laugh if all that was needed to be fully functional and working was to buy the TGE for like $120 or however much its selling for now, and logins and the master will be easily up and working again.
  • Lou, can you touch a bit more on the GarageGames TGE master server and your experience with it?
    Upon successful login, the Tribes 2 authentication server passes to the client a list of master servers and IRC servers. The IRC servers are responsible for all ingame IRC and browser functions, the master servers provide clients with the list of game servers.

    The master servers are stored in a list in memory, the pointer to the first server (pFirstMaster) in 25834 is @ 0x9E8DF4. The total number (pMasterCount) of master servers in the list @ 0x9E8DEC.

    The structure for the server entries are as follows:
    struct sNetAddress				// size = 0x10
    {
     	int			type;		// 0x00 - 0x04
     	unsigned char		ip[4];		// 0x00 - 0x08
     	unsigned char		node[6];	// 0x08 - 0x0e
     	unsigned short		port;		// 0x0e - 0x10
    };
    
    You can make Tribes 2 use the GarageGames master server with the following code:
    int * msCount = (int *)pMasterCount;
    static void useGGMS()
    {
    	DWORD first = *(DWORD *)pFirstMaster;
    	if(first == NULL) return;
    	sNetAddress * host;
    	AddLog("ms start: 0x%08lX\n", first);
    	for(int i = 0;i < *msCount; i++)
    	{
    		DWORD ptr = first + (i * 0x14);
    		host = (sNetAddress *)ptr;
    // $pref::Master0 = "2:216.116.32.49:28002";
    		host->ip[0] = 216;
    		host->ip[1] = 116;
    		host->ip[2] = 32;
    		host->ip[3] = 49;
    		host->port = 28002;
    	}
    }
    
    The code may be ugly because I'm really not a programmer. The result though is that it overrides the list of master servers obtained from the authentication server with the address and port of the one from GarageGames. The IP address might have changed since I wrote the function. At the time the master server for T2 demo was 198.74.31.11:28002 but that will probably die with retail if it hasn't already. Both were compatible with T2.
  • I will seriously laugh if all that was needed to be fully functional and working was to buy the TGE for like $120 or however much its selling for now, and logins and the master will be easily up and working again.
    The TGE source code has all the WON related stuff removed. That's the main obstacle for a homebrew solution. Thyth seems to have figured out his own method for that stuff.
  • The TGE source code has all the WON related stuff removed. That's the main obstacle for a homebrew solution. Thyth seems to have figured out his own method for that stuff.
    I'm going to feel foolish asking this, but I really am interested in things going on.. What exactly does WON stand for? And yes, I am behind Thyth 100% and will be waiting excitedly to use the new system!
  • I'm going to feel foolish asking this, but I really am interested in things going on.. What exactly does WON stand for?
    http://en.wikipedia.org/wiki/World_Opponent_Network
  • Ah! thanks, I tried a Google for WON but.. heh.. half a billion results >.<
  • Lou,

    Thank you. For a person claiming to not be a C++ developer you seemed to toss the correct code in the right places to look convincing. It makes one think about what you said, except for the fact for me that I don’t do C++. That is known to be grounds in the IT world for ridicule by some less professional C++ developers, but it's less common today.

    If one looks up C# in Monster, Dice, etc in most of the country, you will generally see a significant number of hiring companies, with pay ranges from USD $35k yr to USD $110,000 and contract rates up to $65 an hour or in specialized fields (BizTalk, SharePoint) up to $85 to $125 per-hour W2 if you are willing to get on a plane. I find almost no Perl or Ruby but you can try looking too of course. Now before anyone thinks this is a cut on others, it’s not, I am only pointing out why I am suggestion the use of what I do.

    MS is busted upon for past and rarer ongoing insecurities and they are the most targeted OS / Systems on the planet. This is why, when a successful hack or virus comes out, it is considered so important to them (I'm not defending Vista, nor using it). Macs and Linux are begining to learn what it is like. Funny thing is that MS used to promote open-source until they got rich. In the mean time a cross between security through obscurity as well as active repair on closed system, along with predatory efforts has put them on top in the business, and they are making inroads into others. But I like having a nice house, two new/leased cars, pool, hot-tub and allot more because I became a Microsoft developer.

    Why do I find this important here? Because I feel that anything that needs to be done on the game or game servers can be done in T2 script with modified .CS files. I believe that users original IDs and names can be entered into a free SQL server by way of an SSL encrypted ASP.NET page and this can be made to emulate -login mode. Yes, at worst, it will need the use of –nologin mode, and that new account can be used to create future accounts as well for players to use. C# encrypt those files using some pre-made application blocks from the MS patterns and practices pages. Then that encrypted cookie will successfully authenticate players to game servers quite well. In the mean time, a t2scripted game server would also use only .cs t2 script to register and auth users with that key. These system blocks were developed by MS Practice Services and Accenture (combined into a company called Avanade) and these blocks will also allow the web systems to run in an MVC pattern, as T asked, so as to be non-blocking (in other words you are less likely to appear hungup while things are happening at login).

    Thyth can do this too, using Ruby. I have explained along the way that I need the assistance of a GOOD T2 scripter to interface the game and the game server with the login system, securely, and if the current game can do it, so can the systems I use. Oddly to Thyth's previous question, the MVC (possibly MVP) pattern I am going to use has been requested for assistance in rebuild two parts of the website of my publisher’s site, one of the top 5 ASP.NET sites on the internet so I am going to use t in both cases, instead of the hand rolled systems I previously worked with.

    But here is what I was really after… for the client and game will be done in T2 scripting only. The Torque papers can help a developer with that it seems. But the login system login code, using free MS componenets and tools and one low priced Windows Server 2003 Web Server Edition server (which is not free but may be had for very little if sought), would be published as I am sure any other system would be, with documentation and so forth. THIS INFORMATION CAN BE USED BY AN ASPIRING DEVELOPER TO ASSIST THEM IN THE USE OF C#, SQL, APPLICATION BLOCKS, MVC OR MVP PATTERNS, ASP.NET AND LATER WSS 3.0, A FREE VERSION OF SHAREPOINT 2007 AND VERY HIGHLY SOUGHT AFTER IN MANY LOCATIONS TO MAKE SOME SERIOUS COIN. Among other things I used to be an adjunct instructor on the weekends, teaching 1, 2 or 3, three hour courses each Saturday. And I enjoy helping others become programmers if they want. No one here is likely to take a job from me because of what I post. But learning (and editing and critiquing and adapting) the system I’m going to build with another developer on the T2 script side can be used as a real world tool to work one’s way up to making some good coin. It’s not an end all, but it can be an excellent user training tool. I am truly not trying to cut on others, but I am only coding in what I know will help me make more money in the business world.

    I will be the first to say, that this is not the only option. But it can help a person in the larger quest of making money. I supplied an alpha diagrams that was treated as though I'd really spent a serious amount of time on it. Although programmers are like many professionals, subject to type-A personalities and second guessing each other, it does not need to be done in an unfavorable manner. The amount of work on both the Client and Server sides are better balanced than some have said in the work-load. I am simply unsure if this means that a Ruby executable and scripts are required, but that’s what I think will happen. I am also in disagreement with Thyth. It happens. I hope we can work together. But if not allowed, he is going to do his will and probably faster with a good start and I will do mine, although I feel mine will e better in the end. One supports their own product if they are willing to put this much work into something free. I simply believe in doing it another way, and since I’ve been told that I will be attacked for it, I’d best do a good job.

    Thyth I will ask again, will you work together on this, without a snotty reponse, judgments or other.
  • I will need to replace that logo later, but for now it's not doing any harm. :p
  • So you're leaving the original executable intact and modifying the copy in memory via loader?
    No, but there is a new section attached to the end of the executable which loads a DLL, and there is a patch to the entry point to jump to that section on startup before resuming regular execution. Thus, the executable is a few hundred bytes bigger. I have a few other code patches scattered through the executable. But, the on-disk copy is changed. DT injects a DLL through a memory loader, and that is what I meant when I said "similar".
    Maybe I'm missing the part where Thyth said he was going to make player + tribe management work again via the browser, but since that's all done through an ingame IRC service his solution doesn't seem any more functional than what we have/had for the past year or so.
    That's planned for after the listing and authentication stuff is in place.
    The code may be ugly because I'm really not a programmer. The result though is that it overrides the list of master servers obtained from the authentication server with the address and port of the one from GarageGames. The IP address might have changed since I wrote the function. At the time the master server for T2 demo was 198.74.31.11:28002 but that will probably die with retail if it hasn't already. Both were compatible with T2.
    I think the only thing wrong with the code is that it doesn't perform the endian swapping for the IP address.

    In any case, I don't know how happy GarageGames would be hosting a listing service for what we are doing here. It's also not like the listing server protocol is that complex. I reverse engineered the whole thing 3 years ago, and I could write a server that is compatible in under an hour. Problem is, this falls into legal black area of the DMCA, since such an implementation could be considered useful for unauthorized utilization of a protected system resource. It's about the same amount of work to implement a completely different protocol, and it can be done entirely within the script system.
    I believe that users original IDs and names can be entered into a free SQL server by way of an SSL encrypted ASP.NET page and this can be made to emulate -login mode.
    There is no correctly working SSL support built into TorqueScript. Supposedly the SecureHTTPObject class should have that functionality, but, as I said before in this thread, the built in HTTP classes don't work properly.
    In the mean time, a t2scripted game server would also use only .cs t2 script to register and auth users with that key.
    And a subverted T2 game server could be used to spoof the accounts of other players on any server using your system.
    But here is what I was really after… for the client and game will be done in T2 scripting only.
    And here is the point that I've been trying to make: you cannot do it securely unless you implement crypto processing on the client. Even your system relies on SSL, which isn't supported in T2's TorqueScript. No matter how many times I explain this, you ignore it.
    Thyth I will ask again, will you work together on this, without a snotty reponse, judgments or other.
    Yes, but ONLY if the design will actually stand up to an intelligent attacker. Your design does not address player account spoofing with the cooperation of a game server.

    In other words, the player has to trust that every game server they connect to will not use their authentication key token to connect as that player to another server. Properly utilized crypto will prevent that, but based on what I see from your design, you are not using crypto in the right places. What you are proposing can be implemented just as (in)securely without cryptography.

    If you logically addressed this SINGLE criticism of your system, I would have no reason not to work with you.
  • No, but there is a new section attached to the end of the executable which loads a DLL, and there is a patch to the entry point to jump to that section on startup before resuming regular execution. Thus, the executable is a few hundred bytes bigger. I have a few other code patches scattered through the executable. But, the on-disk copy is changed. DT injects a DLL through a memory loader, and that is what I meant when I said "similar".
    Have you considered a replacement IFC22.dll instead? It gets loaded in server or client mode regardless of GUI status (even a dedicated server) and could perform the necessary modifications to the image in memory without patching the file executable. The only drawback would be the lack of Immersion force feedback but that's a really minor thing.
    I think the only thing wrong with the code is that it doesn't perform the endian swapping for the IP address.
    I have no idea what that means, I just know it worked when I used it.
    In any case, I don't know how happy GarageGames would be hosting a listing service for what we are doing here. It's also not like the listing server protocol is that complex. I reverse engineered the whole thing 3 years ago, and I could write a server that is compatible in under an hour. Problem is, this falls into legal black area of the DMCA, since such an implementation could be considered useful for unauthorized utilization of a protected system resource. It's about the same amount of work to implement a completely different protocol, and it can be done entirely within the script system.
    Their master server is open to all Torque projects that don't have their own to host. Considering the low number of servers and players I doubt it would be a huge impact to their bandwidth. I was just figuring it would be better to leave as much of the code unmodified as possible.
  • I didn't consider replacing an existing DLL. I guess it would be really easy with the IFC22.dll entry point that the game calls. At the moment, the machine code portion is done, and it works to my expectations. I'll think about making a new IFC22.dll for later (it's a good idea! thanks).

    In any case, I'm not too fussed about making large code modifications. OpenDHT was quick to implement for online transport, and I use it for all system lookup tasks (auth, update, list), since it is extremely unlikely to go down (backed by many large universities). That's being done in TorqueScript anyway. There are only 3 major patches anyway: class-B IP lookup (11 bytes), decoupling online mode internal state from script state (1 byte), and loading new code via a DLL (12 bytes patch, 51 bytes new section).

    About the endian swapping... since Windows runs on Little Endian systems, you need to do a byte reordering when opening sockets. I guess the game does that in its internal socket API if it works as is. So... never mind.
  • I didn't even bothered to read those posts...
  • If one looks up C# in Monster, Dice, etc in most of the country, you will generally see a significant number of hiring companies, with pay ranges from USD $35k yr to USD $110,000 and contract rates up to $65 an hour or in specialized fields (BizTalk, SharePoint) up to $85 to $125 per-hour.
    A very very expensive mistake, since C# is shite.

    I believe that users original IDs and names can be entered into a free SQL server by way of an SSL encrypted ASP.NET page and this can be made to emulate -login mode.[/QUOTE]
    Another fun thing. ASP.NET too is shite :)
  • A very very expensive mistake, since C# is shite.

    I believe that users original IDs and names can be entered into a free SQL server by way of an SSL encrypted ASP.NET page and this can be made to emulate -login mode.
    Another fun thing. ASP.NET too is shite :)[/QUOTE]
    MySQL ftw?
  • Although it's too soon to expect a response to my last post (#176), I'm hoping someone will take the time to address the issues I raised.

    Hats off to the coders who have been working hard to save T2, and maybe I'm reading too much into a comment Thyth posted about injecting anticheat code similar to DT into a community authentication server.

    Thyth, if I read your post correctly, you are adopting policy decisions that rightly correspond exclusively to individual server hosts. I know of no way to block HM2 without blocking other third party scripts. If someone has found a way, please fill me in. But dealing with cheaters is a problem that has always, correctly, been addressed at the individual server level.

    Like I said in my earlier posts, I love benign third party scripts, and we have always allowed their use on our servers. In my opinion, that policy has been key to our servers' popularity.

    I'm hoping the authentication/list servers won't be offered to the T2 community on a take-it-or-leave-it basis. If that's the case, I guess I need to clarify that any anticheat coding or systems imposed at a community server level would be unacceptable to the Rebels servers.

    Thanks!
Sign In or Register to comment.