UnrealIRCd Bug Tracker
Mantis Bugtracker

Viewing Issue Simple Details Jump to Notes ] View Advanced ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0003239 [unreal] ircd feature N/A 2007-02-18 19:09 2007-07-15 10:36
Reporter Siyavash View Status public  
Assigned To stskeeps
Priority normal Resolution fixed  
Status resolved   Product Version 3.2.6
Summary 0003239: More than one NT service on same machine.
Description I have several IPs for my server. Using "unreal.exe install" installs only ONE service with a specific name. Doing "unreal.exe install" for another IRCd which runs on same server with a different IP can not be done. So I have to login as console manually and run them with "wircd.exe".

A feature to be able to run several IRCds as windows service and also be able to choose name for them would be great and absolutly needed.

I can even donate some money to make this happen. I'm not rich, but ask me and I can see if I can afford this. I Do really need this feature. :(

Thanks for listening,

/regards
Additional Information
Tags No tags attached.
3rd party modules
QA Not touched yet by developer
U4: Need for upstream patch No need for upstream InspIRCd patch
U4: Upstream notification of bug Not decided
U4: Contributor working on this None
Attached Files ? file icon services.patch [^] (8,744 bytes) 2007-07-15 09:31

- Relationships
child of 0003049confirmed 3.3 Suggestions/Features 
child of 0003454resolvedsyzop Unreal3.2.8 TODO 

-  Notes
(0013373)
stskeeps (reporter)
2007-04-13 06:53

Bump. This can be done in win32/unreal.c with a simple command parameter (replace "UnrealIRCd" with "<param>"). Also win32/service.c, gui.c.
(0013374)
aquanight (reporter)
2007-04-13 11:01

Slight problem: config file.

This would pretty much require the Win32 builds be compiled with -f enabled. Fortunately, setuid is nonexistant in windows so most likely the potential security problems with -f don't exist.

Either that, or we have preprocessing directive support for unrealircd.conf to do things like:
#if _SERVICENAME_ == "Server1"
include "server1.conf";
#elseif _SERVICE_NAME == "Server2"
include "server2.conf";
#else
include "default.conf";
#endif

(Not that it would be hard to run the file through a C preprocessor, assuming that one is present.)
(0013376)
stskeeps (reporter)
2007-04-14 04:09

Well, don't we already just get the conf from .? I mean, you would run unreal in seperate directories, making this problem non-existing? I mean, it should have a working directory.. If you know how to set it up with specialized commands instead of our specific installer, you can most likely duplicate unreal installs too :P
(0013377)
aquanight (reporter)
2007-04-14 12:02

Yeah, if you did it in multiple directories it would work. But doing it out of the same directory (== less disk space needed) you couldn't do it without -f or some other trick. Then again, the same issue is true of linux ircds that want to run one binary for all instances.

Though you could avoid copy crap with ntfs hardlinking, but that introduces some other fun (like: if even one instance is running, no instance can be uninstalled because of win32 filelocking wtfs).
(0013379)
stskeeps (reporter)
2007-04-14 20:38

.. and that you often want to upgrade servers seperately, so it is same reason why you "really shouldn't" use -f :P So, is this something we should implement, since it is obvious it could be useful as we restrict ourselves to one instance of sane NT service-controlled unreal on a win2003 machine else, which kinda defeats the purpose of a multi-user server?
(0014431)
Trocotronic (reporter)
2007-06-30 06:44
edited on: 2007-07-15 09:42

*** modified, see post below ***

(0014432)
Siyavash (reporter)
2007-06-30 12:23

Yes! I agree, sounds very good actually! :) Thank you.
(0014493)
Trocotronic (reporter)
2007-07-15 09:40

Done. My acces to cvs was removed, so I post patch here.
I added -n parameter to unreal.exe. So, if you want, you could specify a name of service. It will receive all command. For example:

unreal install -n Deimos

It will install a service called UnrealIRCd-Deimos. Then, the configfile must be named unrealircd-deimos.conf. This way gave you chance to install more than one service on the same machine using only one installation.

unreal start -n Deimos // it will start service with unrealircd-deimos.conf file
unreal uninstall -n Deimos

Although, -n parameter is optional, so you can use "unreal install" as usual.

If you run service from console (double click to wircd.exe for example), it will only start one service, main service, called UnrealIRCd (install without -n). If you only install services with name (-n), double click will start wircd.exe as usual (window mode).
-n will affect to all command (install, uninstall, start, stop, etc)

Remember to use different listening ports (or interfaces) on every unrealircd-*.conf files.
It need to be tested (it is tested only on XP Pro system).

Questions? Here.
(0014495)
stskeeps (reporter)
2007-07-15 10:36

Patched in .2455

- Issue History
Date Modified Username Field Change
2007-02-18 19:09 Siyavash New Issue
2007-02-20 19:54 Siyavash Issue Monitored: Siyavash
2007-02-20 19:54 Siyavash Issue End Monitor: Siyavash
2007-04-13 06:53 stskeeps Note Added: 0013373
2007-04-13 11:01 aquanight Note Added: 0013374
2007-04-14 04:09 stskeeps Note Added: 0013376
2007-04-14 12:02 aquanight Note Added: 0013377
2007-04-14 20:38 stskeeps Note Added: 0013379
2007-04-14 20:47 stskeeps Relationship added child of 0003049
2007-04-18 05:50 stskeeps Status new => acknowledged
2007-05-19 14:37 Trocotronic Status acknowledged => assigned
2007-05-19 14:37 Trocotronic Assigned To => Trocotronic
2007-06-11 12:49 stskeeps Assigned To Trocotronic =>
2007-06-11 12:49 stskeeps Status assigned => acknowledged
2007-06-30 06:44 Trocotronic Note Added: 0014431
2007-06-30 06:45 Trocotronic Note Edited: 0014431
2007-06-30 12:23 Siyavash Note Added: 0014432
2007-07-15 09:31 Trocotronic File Added: services.patch
2007-07-15 09:40 Trocotronic Note Added: 0014493
2007-07-15 09:42 Trocotronic Note Edited: 0014431
2007-07-15 10:36 stskeeps Status acknowledged => resolved
2007-07-15 10:36 stskeeps Fixed in Version => 3.3-alpha0
2007-07-15 10:36 stskeeps Resolution open => fixed
2007-07-15 10:36 stskeeps Assigned To => stskeeps
2007-07-15 10:36 stskeeps Note Added: 0014495
2007-07-18 07:27 stskeeps Relationship added child of 0003454


Copyright © 2000 - 2008 Mantis Group
Powered by Mantis Bugtracker