[Tutorial] Prefixes * und !

Wer Hilfe zur Installation oder Konfiguration eines IRC-Servers braucht, könnte hier fündig werden. UnrealIRCd, bahamut, ircd, etc..
Antworten
Benutzeravatar
Weble
3l33t
Beiträge:111
Registriert:2. Apr 2005, 23:09
Wohnort:Nürnberg
Kontaktdaten:
[Tutorial] Prefixes * und !

Beitrag von Weble » 15. Mai 2005, 14:11

Hi,

ich habe mich heute mal hingesetzt, und mir den source von UnrealIRCD angeschaut.

Dabei hab ich ihn so verändert, das die Prefixes ~ und & durch * und ! ersetzt werden.

Und da viele auch diese Prefixes wollen, hab ich ich mal ne kleine anleitung.

Öffne Unreal3.2/include/common.h
ändere Zeile 255 von:

Code: Alles auswählen

#define CHPFIX        "(qaohv)~&@%+"
auf

Code: Alles auswählen

#define CHPFIX        "(qaohv)*!@%+"
dann:

Öffne Unreal3.2/src/modules/m_whois.c
ändere Zeile 246 von

Code: Alles auswählen

						*(buf + len++) = '~';
auf

Code: Alles auswählen

						*(buf + len++) = '*';
Zeile: 249 von

Code: Alles auswählen

						*(buf + len++) = '&';  
auf

Code: Alles auswählen

						*(buf + len++) = '!';  


anschließend kam bei mir ein Fehler in der ircd.c als ich "make" ausgeführt habe,

also müsst ihr noch die Datei Unreal3.2/src/ircd.c öffnen und die Zeile 1212 von

Code: Alles auswählen

	fprintf(stderr, "                     using %s\n", tre_version());    
auf

Code: Alles auswählen

	/* fprintf(stderr, "                     using %s\n", tre_version()); */   
ändern.

Damit habt ihr die Zeile auskommentiert, da die eigentlich unnötig is, das einzige das sich damit ändert is das beim Start von Unreal nicht mehr das "using TRE 0.7.2 (GPL)" dransteht:

Code: Alles auswählen

Starting UnrealIRCd
 _   _                      _ ___________  _____     _
| | | |                    | |_   _| ___ \/  __ \   | |
| | | |_ __  _ __ ___  __ _| | | | | |_/ /| /  \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | |    / | |    / _` |
| |_| | | | | | |  __/ (_| | |_| |_| |\ \ | \__/\ (_| |
 \___/|_| |_|_|  \___|\__,_|_|\___/\_| \_| \____/\__,_|
                           v3.2.3
                     using TRE 0.7.2 (GPL)
                     using OpenSSL 0.9.7d 17 Mar 2004
                     using zlib 1.2.1

* Loading IRCd configuration ..
* Configuration loaded without any problems ..
* Loading tunefile..
* Initializing SSL.
* Dynamic configuration initialized .. booting IRCd.
---------------------------------------------------------------------
das wird dann so aussehen:

Code: Alles auswählen

Starting UnrealIRCd
 _   _                      _ ___________  _____     _
| | | |                    | |_   _| ___ \/  __ \   | |
| | | |_ __  _ __ ___  __ _| | | | | |_/ /| /  \/ __| |
| | | | '_ \| '__/ _ \/ _` | | | | |    / | |    / _` |
| |_| | | | | | |  __/ (_| | |_| |_| |\ \ | \__/\ (_| |
 \___/|_| |_|_|  \___|\__,_|_|\___/\_| \_| \____/\__,_|
                           v3.2.3
                     using OpenSSL 0.9.7d 17 Mar 2004
                     using zlib 1.2.1

* Loading IRCd configuration ..
* Configuration loaded without any problems ..
* Loading tunefile..
* Initializing SSL.
* Dynamic configuration initialized .. booting IRCd.
---------------------------------------------------------------------

so solltet ihr auf irgendein Problem stoßen, lasst es mich wissen.

X-Trancer
Newbie
Beiträge:17
Registriert:30. Mai 2005, 17:48

Beitrag von X-Trancer » 16. Jul 2006, 19:00

Moin

Also Ich habe da so ein Patch der automatisch der Source code abändert was auch bis 3.2.4 tadeos funktionierte nun haben sie in der channel.h viel code rasugenommen und genau wegen dem Funktioniert * und ! nicht mehr richtig

Frage is nun wo ist der Code hin?

Unreal lauft auch so aber wenn 2 User sich im irc Befinden dann hat der Chanowner das * und sieht es auch währen der andere user den chanowner mit einem ~ vor dem nick sieht und wenn er ihn whoisen will kann er ihn nicht whoisen

Das ganze hat mit der datei channel.h zu tun

Wäre coll wenn jemand helfen könnte
Deutsches IRC Netzwerk

Sucht immer neue Users

mIRC - [url]irc://irc.german-irc.net[/url]
Webseite- http://www.german-irc.net
Forum - http://forum.german-irc.net

Benutzeravatar
Weble
3l33t
Beiträge:111
Registriert:2. Apr 2005, 23:09
Wohnort:Nürnberg
Kontaktdaten:

Beitrag von Weble » 17. Jul 2006, 10:33

kannst du mir mal den patch zur verfügung stellen, vllt. kann ich ihn ja anpassen :)

X-Trancer
Newbie
Beiträge:17
Registriert:30. Mai 2005, 17:48

Beitrag von X-Trancer » 17. Jul 2006, 16:26

Code: Alles auswählen

diff -bur Unreal3.2/include/common.h Unreal3.2/include/common.h
--- Unreal3.2/include/common.h	2004-10-27 20:45:00.000000000 +0200
+++ Unreal3.2/include/common.h	2005-03-05 22:28:00.000000000 +0100
@@ -59,7 +59,7 @@
 
 #define BMAGIC 0x4675636B596F754661736369737473
 
-#define BASE_VERSION "Unreal"
+#define BASE_VERSION "gIRCD"
 #ifndef _WIN32
 #define FDwrite(x,y,z) write(x, y, z)
 #else
@@ -252,7 +252,7 @@
 #endif /* EXTCMODE */
 
 #ifdef PREFIX_AQ
-#define CHPFIX        "(qaohv)~&@%+"
+#define CHPFIX        "(qaohv)*!@%+"
 #define CHPAR1        "beI"
 #else
 #define CHPFIX        "(ohv)@%+"
diff -bur Unreal3.2/include/version.h Unreal3.2/include/version.h
--- Unreal3.2/include/version.h	2005-01-15 01:02:00.000000000 +0200
+++ Unreal3.2/include/version.h	2005-03-05 22:28:00.000000000 +0100
@@ -49,10 +49,10 @@
 #define UNREAL_VERSION_TIME         200605
 
 #define UnrealProtocol 		2307
-#define PATCH1  		"3"
-#define PATCH2  		".2"
-#define PATCH3  		".4"
-#define PATCH4  		""
+#define PATCH1  		"-V"
+#define PATCH2  		"1"
+#define PATCH3  		".0"
+#define PATCH4  		".2"
 #define PATCH5  		""
 #define PATCH6  		""
 #define PATCH7  		""
diff -bur Unreal3.2/src/api-isupport.c Unreal3.2/src/api-isupport.c
--- Unreal3.2/src/api-isupport.c	2004-10-27 20:45:00.000000000 +0200
+++ Unreal3.2/src/api-isupport.c	2005-03-05 22:28:00.000000000 +0100
@@ -116,7 +116,7 @@
	IsupportAdd(NULL, "INVEX", NULL);
	IsupportAdd(NULL, "EXCEPTS", NULL);
 #ifdef PREFIX_AQ
-	IsupportAdd(NULL, "STATUSMSG", "~&@%+");
+	IsupportAdd(NULL, "STATUSMSG", "*!@%+");
 #else
 	IsupportAdd(NULL, "STATUSMSG", "@%+");
 #endif
diff -bur Unreal3.2/src/channel.c Unreal3.2/src/channel.c
--- Unreal3.2/src/channel.c	2004-10-27 20:45:00.000000000 +0200
+++ Unreal3.2/src/channel.c	2005-03-05 22:28:00.000000000 +0100
@@ -1877,9 +1877,9 @@
 
 #ifdef PREFIX_AQ
 		if (cm->flags & CHFL_CHANOWNER)
-			buf[idx++] = '~';
+			buf[idx++] = '*';
 		else if (cm->flags & CHFL_CHANPROT)
-			buf[idx++] = '&';
+			buf[idx++] = '!';
 		else
 #endif
 		if (cm->flags & CHFL_CHANOP)
diff -bur Unreal3.2/src/modules/m_message.c Unreal3.2/src/modules/m_message.c
--- Unreal3.2/src/modules/m_message.c	2004-10-27 20:45:00.000000000 +0200
+++ Unreal3.2/src/modules/m_message.c	2005-03-05 22:28:00.000000000 +0100
@@ -314,17 +314,17 @@
 						  prefix |= PREFIX_OP | PREFIX_REST;
 						  break;
 #ifdef PREFIX_AQ
-					  case '&':
+					  case '!':
 						  prefix |= PREFIX_ADMIN | PREFIX_OWNER;
 					  	  break;
-					  case '~':
+					  case '*':
 						  prefix |= PREFIX_OWNER;
 						  break;
 #else
-					  case '&':
+					  case '!':
 						  prefix |= PREFIX_OP | PREFIX_REST;
 					  	  break;
-					  case '~':
+					  case '*':
 						  prefix |= PREFIX_OP | PREFIX_REST;
 						  break;
 #endif
@@ -365,9 +365,9 @@
 						pfixchan[0] = '@';
 #ifdef PREFIX_AQ
 					else if (prefix & PREFIX_ADMIN)
-						pfixchan[0] = '&';
+						pfixchan[0] = '!';
 					else if (prefix & PREFIX_OWNER)
-						pfixchan[0] = '~';
+						pfixchan[0] = '*';
 #endif
 					else
 						abort();
diff -bur Unreal3.2/src/modules/m_who.c Unreal3.2/src/modules/m_who.c
--- Unreal3.2/src/modules/m_who.c	2004-10-27 20:45:00.000000000 +0200
+++ Unreal3.2/src/modules/m_who.c	2005-03-05 22:28:00.000000000 +0100
@@ -633,9 +633,9 @@
         {
 #ifdef PREFIX_AQ
 		if (cm->flags & CHFL_CHANOWNER)
-			status[i++] = '~';
+			status[i++] = '*';
 		else if (cm->flags & CHFL_CHANPROT)
-			status[i++] = '&';
+			status[i++] = '!';
 		else
 #endif
 		if (cm->flags & CHFL_CHANOP)
diff -bur Unreal3.2/src/modules/m_whois.c Unreal3.2/src/modules/m_whois.c
--- Unreal3.2/src/modules/m_whois.c	2004-10-27 20:45:00.000000000 +0200
+++ Unreal3.2/src/modules/m_whois.c	2005-03-05 22:28:00.000000000 +0100
@@ -249,10 +249,10 @@
 					access = get_access(acptr, chptr);
 #ifdef PREFIX_AQ
 					if (access & CHFL_CHANOWNER)
-						*(buf + len++) = '~';
+						*(buf + len++) = '*';
 					else if (access & CHFL_CHANPROT)
 
-						*(buf + len++) = '&';
+						*(buf + len++) = '!';
 					else
 #endif
 					if (access & CHFL_CHANOP)
diff -bur Unreal3.2/src/webtv.c Unreal3.2/src/webtv.c
--- Unreal3.2/src/webtv.c	2004-07-03 21:12:00.000000000 +0200
+++ Unreal3.2/src/webtv.c	2005-03-05 22:28:00.000000000 +0100
@@ -302,12 +302,12 @@
 					if (access & CHFL_CHANOWNER)
 						*(buf + len++) = '*';
 					else if (access & CHFL_CHANPROT)
-						*(buf + len++) = '^';
+						*(buf + len++) = '!';
 #else
 					if (access & CHFL_CHANOWNER)
-						*(buf + len++) = '~';
+						*(buf + len++) = '*';
 					else if (access & CHFL_CHANPROT)
-						*(buf + len++) = '&';
+						*(buf + len++) = '!';
 #endif
 					else if (access & CHFL_CHANOP)
 						*(buf + len++) = '@';
Diesen Abschnit finde ich in 3.2.5 nicht

Code: Alles auswählen

diff -bur Unreal3.2/src/channel.c Unreal3.2/src/channel.c 
--- Unreal3.2/src/channel.c   2004-10-27 20:45:00.000000000 +0200 
+++ Unreal3.2/src/channel.c   2005-03-05 22:28:00.000000000 +0100 
@@ -1877,9 +1877,9 @@ 
  
 #ifdef PREFIX_AQ 
       if (cm->flags & CHFL_CHANOWNER) 
-         buf[idx++] = '~'; 
+         buf[idx++] = '*'; 
       else if (cm->flags & CHFL_CHANPROT) 
-         buf[idx++] = '&'; 
+         buf[idx++] = '!'; 
       else 
 #endif 
       if (cm->flags & CHFL_CHANOP) 
Deutsches IRC Netzwerk

Sucht immer neue Users

mIRC - [url]irc://irc.german-irc.net[/url]
Webseite- http://www.german-irc.net
Forum - http://forum.german-irc.net

Benutzeravatar
Weble
3l33t
Beiträge:111
Registriert:2. Apr 2005, 23:09
Wohnort:Nürnberg
Kontaktdaten:

Beitrag von Weble » 18. Jul 2006, 17:18

ich schau mir das im laufe des tages oder der woche mal an :D

Benutzeravatar
codeblack
IRC-Gott
Beiträge:277
Registriert:2. Jan 2004, 14:01
Wohnort:Bei Nürnberg
Kontaktdaten:

Beitrag von codeblack » 22. Jul 2006, 08:10

Wenn die eine Zeile nur für das ausgeben fpr TRE zuständig ist wieso beist sich das dann mit den ändern für die Präfixe?
Das Leben ist ein .deb packet, nur wo ist dpkg ;-)

X-Trancer
Newbie
Beiträge:17
Registriert:30. Mai 2005, 17:48

Beitrag von X-Trancer » 22. Jul 2006, 20:01

Das Tre hat nix zu tun mit meinem patch. Der Patch lauft auch ohne diese TRE veränderung. Wie gesagt bis Unreal 3.2.4 lauft der Pacht ohne Probs mann muss ledentlich den Code anpassen der Source sprich die Zeilen aber bei 3.2.5 Fehlt in der Channel.c ein Teil der Source dadurch funktionieren die Prefixe nicht mehr Optimal
Deutsches IRC Netzwerk

Sucht immer neue Users

mIRC - [url]irc://irc.german-irc.net[/url]
Webseite- http://www.german-irc.net
Forum - http://forum.german-irc.net

Hendrik
Chef
Beiträge:2076
Registriert:2. Sep 2003, 16:43
Wohnort:Berlin
Kontaktdaten:

Beitrag von Hendrik » 22. Jul 2006, 23:54

Entschuldigt mich, wenn ich mich jetzt hier frecherweise einmische, aber was ich mich die ganze Zeit frage: Welchen vernünftig erklärbaren Grund gibt es, die (ohnehin schon relativ sinnfreien) Prefixes auch noch durch vollkommen andere Zeichen austauschen zu wollen? Fragen danach so viele Leute? Sieht das irgendwie besser aus? (Mich nerven solche Zeichen vor Nicks immer) Kommen diese Zeichen so wie sie sind im Quakenet vor? Bitte klärt mich auf! ;)

-Hendrik-
Einmal lesen, für immer glücklich: Hinweise zum Forum
--
Programming is similar to sex. If you make a mistake, you have to support it for the rest of your life.

X-Trancer
Newbie
Beiträge:17
Registriert:30. Mai 2005, 17:48

Beitrag von X-Trancer » 23. Jul 2006, 10:30

Also

Prefixe gibts in den Meisten IRC da kommste nicht drum rum.
Viele IRC Netze haben nur @%+ bei Unreal kam noch ~ und & dazu,
Somit sieht man wer Chanowner ist und Protect (Admin) finde ich ne gute sache bei den anderen IRC Netze welche die 2 neue Prefixe nicht haben sind Owner Admin und Ops unter einem Dach sprich @

Nun zu deiner Aussage

Es Fragen nicht viele nach denen es sieht schon bisschen freundlicher aus ich bin mir das von Ultimateircd her gewohnt und es hat halt nicht jdes netzwerk solche Prefixe nun jeder Netzinhaber macht wie er will und wenn User diese Zeichen nicht sehen wollen suchen die sich halt ein anderes IRC

Zum Thema selber

Ich habe nun den COde gefunden er steckt in /src/modules/m_names.c

Somit funzt die Sache wunderbar
Deutsches IRC Netzwerk

Sucht immer neue Users

mIRC - [url]irc://irc.german-irc.net[/url]
Webseite- http://www.german-irc.net
Forum - http://forum.german-irc.net

Benutzeravatar
codeblack
IRC-Gott
Beiträge:277
Registriert:2. Jan 2004, 14:01
Wohnort:Bei Nürnberg
Kontaktdaten:

Beitrag von codeblack » 23. Jul 2006, 18:37

@Hendrik im quakenet gibts nur @+ also nur op und voice mehr ned :-p
Das Leben ist ein .deb packet, nur wo ist dpkg ;-)

Antworten