Module for the config files download, request

These are old archives. They are kept for historic purposes only.
Post Reply
Posts: 42
Joined: Sat Mar 20, 2004 7:50 pm

Module for the config files download, request

Post by Psadi » Wed Mar 08, 2006 9:00 pm

Though I do like the way you can include config files it has it limitations. If the server goes down where you have them and you find yourself with a server that has rebooteed. You are not able to start up the irc server since the config files you need is not accesible.

I have started to that there could be another way to do this. If its possible to have a module distribute a config file to the other servers by a command?

Say you modify a config file on server a, you then as a oper issue the command /xxxx configfile and the file is distributed to the other servers and the servers also do a rehash if the file was succesfully distributed to the other servers.

This way you could have the best of two worlds, you can modify it in one place but you can distribute it to the other server very easily. Much like you can with include. You are never in the hands of the server that holds the config files since they are local.

Problem is if two opers modifes the same file and sends it out while the other oper is still modifying the file. Then you will lose the modification of what one oper did. Same problem if the servers is not linked and one oper then modifes a config file how do the servers now how to distribute the file when they link up. And if the same file is modied on both servers while the servers is not linked?

I dont know if this is something that can bee looked at all or as a module or if its something for the unrealserver itself? Or if its just a plain dumb idea :)

I dont know much about module programming so if someone think that this might be a good idea Im willing to help out with what I can help out with.

Posts: 159
Joined: Mon Jan 09, 2006 7:31 pm

Post by Grunt » Wed Mar 08, 2006 9:40 pm

Use remote includes. Host the config files on a typical web server and access them individually by each server. The only bad thing is that you still need different files for each ircd (otherwise they would all have the same network numeric and name, and that would lead to a cetwork crash + the link blocks would all look the same).

Or just make a single file, copy it on every ircd's directory, and just edit some values.

Modules can add and modify ircd commands. I don't know if it's possible to tell the ircd to use a certain alternative configuration using a module.
Computers are machines that cause trouble you wouldn't normally have if you wouldn't have a computer.

Posts: 570
Joined: Mon Jun 14, 2004 5:09 pm

Post by Jason » Thu Mar 09, 2006 2:36 am

What I do is have a single config for all servers. Then in each individual server's configuration, I have a ME block, and the include line. The hub, of course, has more because it needs link blocks for all leaves.
Why the hell can't my signature be empty?
"Your message contains too few characters."

Posts: 42
Joined: Sat Mar 20, 2004 7:50 pm

Post by Psadi » Thu Mar 09, 2006 12:35 pm

I use remote includes now.

I have a file with what the server needs to be able to start up and fetch the config files from where I store them.

Problem with this is as I said before is that when the server that host the config files gets unreachable and you need to reash the server or the server has restarted. Youhave then no way in starting the server up since it cant reach the config files it needs.

Im looking into making for myself a small little service in perl that will use secure copy to achive it. Though if this was able to be done as a module it from my point of view would be better. Or integreted into unreal itself.

But me and module programing doesnt fit :P

The module woudnt say use this config file instead. But rather; I update x.conf on one of my servers that all servers needs. I then say /command x.conf and the x.conf file gets distributed to all servers.

Of course the main config file has this x.conf file as include.

When the x.conf file has been distributed the module does a rehash of the servers.

Post Reply