View Issue Details

IDProjectCategoryView StatusLast Update
0003239unrealircdpublic2015-10-26 11:01
ReporterSiyavash Assigned Tosyzop  
PrioritynormalSeverityfeatureReproducibilityN/A
Status closedResolutionfixed 
Platformi586 ?OSWindows ServerOS Version2003
Product Version3.2.6 
Target Version3.3-alpha0 
Summary0003239: More than one NT service on same machine.
DescriptionI 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
TagsNo tags attached.
Attached Files
services.patch (8,744 bytes)
3rd party modules

Relationships

child of 0003454 resolvedsyzop Unreal3.2.8 TODO 

Activities

stskeeps

2007-04-13 06:53

reporter   ~0013373

Bump. This can be done in win32/unreal.c with a simple command parameter (replace "UnrealIRCd" with "<param>"). Also win32/service.c, gui.c.

aquanight

2007-04-13 11:01

reporter   ~0013374

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.)

stskeeps

2007-04-14 04:09

reporter   ~0013376

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

aquanight

2007-04-14 12:02

reporter   ~0013377

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).

stskeeps

2007-04-14 20:38

reporter   ~0013379

.. 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?

Trocotronic

2007-06-30 06:44

reporter   ~0014431

Last edited: 2007-07-15 09:42

*** modified, see post below ***

Siyavash

2007-06-30 12:23

reporter   ~0014432

Yes! I agree, sounds very good actually! :) Thank you.

Trocotronic

2007-07-15 09:40

reporter   ~0014493

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.

stskeeps

2007-07-15 10:36

reporter   ~0014495

Patched in .2455

dboyz

2015-10-02 07:34

reporter   ~0018731

Doing yet another archeology stuff. Related commit: https://github.com/unrealircd/unrealircd/commit/a212fe9347e10c176ee90652896567bf09274a0a

syzop

2015-10-26 11:01

administrator   ~0018793

I wonder if anyone would really need this in practice. I'm closing it until we get XYZ requests, which probably will be never.

Issue History

Date Modified Username Field Change
2007-02-18 19:09 Siyavash New Issue
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-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
2011-07-19 13:59 syzop Assigned To stskeeps =>
2011-07-19 13:59 syzop Status resolved => needs re porting
2011-07-19 17:11 syzop Target Version => 3.3-alpha0
2015-10-02 07:34 dboyz Note Added: 0018731
2015-10-26 11:01 syzop Note Added: 0018793
2015-10-26 11:01 syzop Status needs re porting => closed
2015-10-26 11:01 syzop Assigned To => syzop
2015-10-26 11:01 syzop Fixed in Version 3.3-alpha0 =>