Pages: [1]
  Print  
Author Topic: Centralized repository for unstable release and public dev testing server  (Read 8206 times)
GrosBedo
Member


Cakes 20
Posts: 710


« on: January 05, 2012, 05:43:24 PM »

Hello,

This is a project that I hold in my heart since quite a time.

I would like to create a public dev testing server so that anyone can test the very latest, possibly unstable, version of OpenArena. I think that this could lead to a faster developping cycle as the feedbacks could be faster and more straightforward, particularly for players who have no interest into dev and the time to make their own dev setup.

My idea is to make a server with an auxiliary script that would proceed to a daily update to the latest release available, basically by automatically downloading the new files and replacing the server's files with these.

This server would either be playable only, or completely open to testing with a public, open rcon (which would unchangeable of course or regularly reset to avoid script kiddies abuses). The server would also be restarted daily with a specific configuration file, so that the server would be daily reset to 0.

About the technicalities, I will take care that the server will not allow to mess with client's installation of the game, so that the dev files that will be downloaded by the client will only be used when playing on the dev server, trust me on that.

Now the problem is that, from crawling the forum, it seems that the updates are interspersed at multiple places and it's not really possible to know where to get what, and what is the latest accepted unstable version of the game. And different parts of the game are not even placed at the same place, for example the engine is to be found at a totally different place (and thread) than the maps, the expansion mod, and the other resources. Each of these are very separated.

So here's my question to the dev team and contributors: would it be possible to make a centralized repository to be able to get those latest updates? For example maybe by creating an unstable branch in the SVN?

I know this may not be a straightforward task I am talking about, but I think that this would be greatly beneficial for the community and future contributors to have a single place where to get the latest unstable updates (maybe not the very very latest as I know fromhell's politic about commits, but at least the latest accepted commits).

Thank you for reading me,
GrosBedo
Logged
PaniC
Nub


Cakes 2
Posts: 27


WWW
« Reply #1 on: January 05, 2012, 06:07:05 PM »

Hey GrosBedo

This server would either be playable only, or completely open to testing with a public, open rcon (which would unchangeable of course or regularly reset to avoid script kiddies abuses). The server would also be restarted daily with a specific configuration file, so that the server would be daily reset to 0.

Hope you have script running then that checks if the server is still up, not only script kiddys will tryout rcon quit & rcon sv_killserver 1   Grin

Other "allowed" activitys can kill a server too, for example testing a map with devmap and exessive use of noclip.

Logged

GrosBedo
Member


Cakes 20
Posts: 710


« Reply #2 on: January 06, 2012, 08:10:27 AM »

Hope you have script running then that checks if the server is still up, not only script kiddys will tryout rcon quit & rcon sv_killserver 1   Grin

Other "allowed" activitys can kill a server too, for example testing a map with devmap and exessive use of noclip.

Of course there will be an automatic restart of the server in case it gets killed or crashed, in a 5 minutes span time.

I didn't think about devmap or noclip, but anyway as long as the server doesn't crash I think this should be allowed. When crashed, the server will automatically be restarted. And the server will be fully reset to 0 every day.

I will mainly use oamps.sh script (a server maintenance script I published as opensource a while ago), and maybe mmonit if I get the time to set it up (and if it's really useful, for now it seems that oamps.sh fulfill all of my needs).
Logged
grey matter
Member


Cakes 8
Posts: 381

>9k


« Reply #3 on: January 06, 2012, 10:28:45 AM »

There are other ways to make a server unusable, think of 64 bots on a slow machine or simply setting the framerate to 1. Those could be monitored as well, by keeping an eye on the server's response time to e.g. getstatus replies.

Apart from that, I like the idea. Some central repository for _all of the game content and engine- as well as game-code would be great (I'm thinking of git here). Anyone of the "trusted devs" could push into it. This should be accompanied by a bugtracker for all the content (reporting bugs in the forum is a mess).
For your server to blend into this, one would also need build scripts for the pk3 files. Maybe using torrentzip*, so the devs could build the very same pk3s locally and would not need to download them (via autodownload) as well.

* maybe there are alternatives. It just seems to be suited well for this task, according to its description
Logged

This space is for rent.
GrosBedo
Member


Cakes 20
Posts: 710


« Reply #4 on: January 06, 2012, 11:56:25 AM »

There are other ways to make a server unusable, think of 64 bots on a slow machine or simply setting the framerate to 1. Those could be monitored as well, by keeping an eye on the server's response time to e.g. getstatus replies.

Indeed but it would not make the server unusable, but unplayable. Since the goal of this server is to testdev, I think that's ok. Anyway I can also make 2 servers: one to play with private rcon but custom callvotes to change to any other gametype - or also by using the admin system to limit the accessible commands (but I don't know if the admin system is mature and stable enough to support that yet) - and another one with public rcon to testdev anything.

Apart from that, I like the idea. Some central repository for _all of the game content and engine- as well as game-code would be great (I'm thinking of git here). Anyone of the "trusted devs" could push into it. This should be accompanied by a bugtracker for all the content (reporting bugs in the forum is a mess).
For your server to blend into this, one would also need build scripts for the pk3 files. Maybe using torrentzip*, so the devs could build the very same pk3s locally and would not need to download them (via autodownload) as well.

* maybe there are alternatives. It just seems to be suited well for this task, according to its description

For Git, I concur, but there is an alternative: mercurial.

Mercurial is totally compatible with a lot of other repository systems, notably SVN, CVS and Git, plus it has the Fork+Push system inspired from Git that is advocated by Linus Torvalds. From the mercurial doc:

http://mercurial.selenic.com/wiki/WorkingWithSubversion
http://mercurial.selenic.com/wiki/RepositoryConversion

I am not enough experienced with Mercurial to propose a concrete implementation, I'm more used to Git, but a friend of mine that is very experimented with Mercurial shown me a lot of the amazing things you can do with it, and the interoperability it allows with other systems is very great.

Anyway the devs are still busy with the soon-to-be-released next version of OA, so maybe a move should be rethought after all this frenzy?

Meanwhile, if I can just get one or just a few official repository where to get from the latest packages, I can implement the server(s). I can do with several repositories, but I need that they are official Wink The main problem now is that many contributors still host themselves their contributions, and I can't automatically merge these with a script, and it would take too much time to do it manually (and anyway I don't know what will be accepted by the dev team).
« Last Edit: January 06, 2012, 12:09:33 PM by GrosBedo » Logged
Pages: [1]
  Print  
 
Jump to: