Map Auto-Downloader Could Save the Integrity of Tribes?
This is a question mainly directed towards the new servers popping up, like the Goon server. I realize it's a pub, but how do you guys think an auto-download system for maps would work on a pub? Imagine anyone and everyone being able to vote any maps they want, including ones from the twl/twl2 and euro map packs. I personally think it's a great idea, it'll allow the community to decide which maps they prefer. Competition maps, or ones that have been played by pubs for years.
Comments
I'm all for some of the client-side maps seeing the light of day. There was some awesome stuff made.
While the Auto-Download would be a good idea, it would be refreshing to have a greater number of approved maps for server use. The possibility of having a Map Committee as part of TN might be a good idea.
PU's would be very interesting with a new map every few weeks. Or a group of new maps?
We could set up a committee of people who play-test maps and decide if they are of good quality. Then the map could be included into a super map-pack and set up for download, or possibly distributed with the game. Which would stem the tide of newbloods who don't know how to add a map to his game.
That was a VB app, which connected to t2maps.com, searched for the map by terrain, and then proceeded to download the associated .vl2 file from the website.
That is a good idea on paper...except for new maps that get released after the super map-pack, or good maps that are excluded by politics of the committee or not cycled by server hosts (thus wasting untold amounts of space), etc...
Not necessarily true, Alviss. There are other Torque engine games that have incorporated an auto-downloader just fine. As long as the server has the processing power and bandwidth, the other clients shouldn't notice a thing.
I would kill for this feature, but I wonder how possible it would be without the Tribes source code. They really should have released it when they killed the tracker/stopped issuing keys.
Wouldn't the idea be to keep this active for map review, additions, tournaments, etc? We aren't talking about releasing hundreds of maps.
And since when is size of maps an issue? HDD are massive these days.
There are a couple of things that would need to be implemented in native code to do the actual transfer in game (binary capable network sockets and binary capable file objects). On the agenda for either the RC2 or RC3 Apotheosis DLL (named t2dll.dll when installed) is a new set of script accessible networking code. I planned to do this to solve the issues for the people running in Linux through Wine -- the Dynamix networking objects have a buggy implementation, so adding a new one should stop the networking related UEs for those people.
The simplest method of doing this would to have the server enumerate which terrain files are installed (via name, filesize, and CRC), and set up a web based terrain repository that the client would download the relevant terrain files from. Unfortunately, due to a bug in the game, the client would need to be restarted after the terrains are downloaded before they can actually be used.
In any case... I won't have time to implement this sort of system until later. I'm mostly doing bug fixes to the DLLs in the spare time I have.
While it's not a "sexy" solution, it's certainly more than acceptable. Especially if they had a pop-up first saying "Would you like to download the required map (Requires game restart)?"
Maybe the server admin could even create a repository of "client-side files", so that EVERYTHING downloads at once so that the client doesn't have to be restarted EVERY map change to download a new map.
Considering that the terrain file can be turned into a simple heightmap, I don't see why not. Especially if the terrain is already following a few rules of symmetry, the server could use the date and time in numeric form to "randomize" the map following some mathematical rules, and anybody with the proper map file downloaded already would receive that information from the server to create the map.
Could be interesting, a server could run a "single" map rotation that is never the same. Maybe certain lines in the script could be altered towards particular sorts of controlled randomness. Maybe never having a flag behind forcefields, or inside bases...
Or, maybe they could? Maybe a part of the mod could add in a function to "save" a map with a single keypress. It would record the map key (date and time), and a player could vote to go back to a saved map. They could even name it.
Well the nice thing about the tribes2maps.com auto downloader was that it downloads the map from tribes2maps.com so it doesn't actually cause any lag. The server doesn't have to send its map to all the clients, they get it form a third party.
I think a well implemented auto downloader would be great. It could go to tribaloutpost.com and download the map automatically. Thus causing no additional server lag and allowing clients to easily join servers hosing clientside maps without have to exit the game, search for the map, install it and then rejoin just as the map finishes.
I had your server in mind when i said it would lag. Imagine the server sending, around, 200++ (not entirely sure exacts) lines of different data, to 40 different players, at once. It just might start to lag. When Krash and I made a Client-Save/load feature for Construction Mod, a few lines caused a lag spike. About 8 lines, since it was a 4 pieced box.
Unless a way could be found to compile the lines, and reduce their size, it'll be a bitch.
Perhaps a script solution isn't the best, but when i looked at the RealmWars (GG games) map transfer functions, they seem to be all done in scripts. it also took like, 10 mins to download a map, i found myself half way through the download when the server changed maps, so i had to restart.
I think the best solution would be what Bytor tried, but have it integrated like Thyth suggested.
Yah, i'd click yes.
Question, is it possible to simply reset mod paths (The directory of files the engine recognizes the existance of). While the game is running? The ModPaths are set in console_start.cs in Gamedata/Base/Base (i think it's /base, will require some searching)
Could you also fix the TCP.Listen() function?
Also, late post is late.. and irrelevant.
You seem to have worked out what you're planning on doing.
However this is why I think a Source-style sv_downloadurl would be great, because you could offload it to another server (or even just a website).
As of right now the server info tab is pretty bare bones, and even good old Aliens vs. Predator 2 would tell you what maps and gametype the game was running.
What would also be nice, and I don't know if anyone has noticed this. Is more information in the server info section in the server browser. Like when you click on a server to see who's in it, there should be a line or two maybe with a description of the server rules\map packs\mods. That way I don't join a server blind and get hit with a map or mod that I don't want to play.
[/quote]
Server status does have an "info" field. Unfortunately, those are length limited, and there isn't much that even I can do to change that. The best you could do is have the server have a URL to a page where you could get that additional info.