Jump to content

SyS

Members
  • Posts

    82
  • Joined

  • Last visited

Everything posted by SyS

  1. SyS

    AWOS DE2

    Evening gentleman, == AWOS SHALL RETURN! == More information on this topic to be released soon. == - /
  2. SyS

    IRC for cnc-comm?

    IRC To communicate, Great idea. Thank's for bringing it up pelish it's been put into preportion -SyS
  3. Hmm now i understand, Let's take this over to msn, I've added you on my recent dev talk msn:) i added your email to my msn account (the one you registered to this forums with) For now this topic is closed
  4. Little evidence to proof pelish wrong. And others who conject against me.
  5. Pelish look on home.dataforce.org.uk DEFORCE'S WIKI If you notice it was i who brought up the protocol and sent them to you. So please do not come on here attempting to cause argument's. Dforce and i was the one's who hosted his DWOL Server/Developed it. And me and revolt was the one who hosted the first tsun server. ANd me and silent was on second place.. If people still presume this code i use is pvpgn, Im willing to show anybody here. live screen previews. (Screen feed) Via http browse. My code. This will be a one time oppertunity for you guy's and might just proov to people that this code is not pvpgn nor dwol. + If i have read this subject wrong then please reply with my mistake. -SyS
  6. SyS

    AWOS DE2

    Good new's! AWOS IS ONLINE!!!! BAD NEWS!! (OLD VERSION WCHAT) REASON?! (WCHAT WONT WORK ON THE NEWERR VERSION AND IT IS NEEDED TO PLAY GAMES FOR NONE TS/RA2)!! THe old version is not supported by wchat either. This server is strictly Tiberian Sun RED ALERT 2 + Yuri's reveng server. REd alert 3.03 untested but connect's!!! The new ip address is 66.252.9.200 More info coming soon! Enjoy
  7. ONly reason people had to connect over hamachi is because there is no dedicated server So the server cant be up all the time without hamachi like xwisc for example;)
  8. http://img259.imageshack.us/img259/8013/tynb8.png
  9. i release every beta. the only reason i released it like this is because i want people not just me but you guy's to test the client out on each compile. why? so you can find out bug's put in suggestion's. theres no point going for a final if its got bug's in is there? or if ive put in stuff you dont want
  10. SyS

    Sole Survivor?

    Well as you all know nobody has been successful with hosting Sole Survivor game's? Reason being is it was disabled in the WWChat. And we all know the only way you can get this feature back is hardcoding enabling the crap locked so deep inside!. Anyway's sole survivor? is it possible to host a server legally? YES! And we didn't even have to hard code any bullSh*t into the wwchat program? Reason?! We coded are own Westwood Chat Designed for sole survivor only! Below is a sneak image of the client! Which is still in development stage's and will need beta tester's soon! Also if you want to talk about sole survivor ask as much question's as you want in the "The Advanced Guard Tower" Section Which is dedicated to sole survivor!!! Located http://www.cnc-comm.com/forum/viewforum.php?f=59 here Cheer's! -SyS
  11. So your a gamer? Well here's the biggest news ever which as hit CnC-Comm! C&C3/ GENERALS / ZERO HOUR / ARE ALL GOING TO BE HOSTED ON the new DEDI! Why? the encryption was a simple encryption similar to gamespy's infact it was gamespy's AND they use yet again another IRC Server with a simple challenge code to allow people to connect!!! So what's the news about hosting them let's see! C&C3 the ladder will be pretty hard to code but i'm looking forward to the challenge! Generals + Zero hour server's are working fine with ladder! And the original AWOS? lets see ALL games will behosted incoming WDT AND SOLE SURVIVOR! If you want a feature list or a C&C3/generals/zerohour channel request please post here donate 2£ for your own channel for the game! For example EA'S OFFICIAL have n00bs mod map's etc! Well you could have your own like we are using these! CnC-Comm 1 CnC-Comm 2 CnC-Comm 3 Admin-Channel Mod-Channel News-Channel Game-Channel <-- For lobby games ALSO The WW Channels all have built in trivial and coin games! When the scores are summed up every week your rank also gains 2+Points win for winning the trivial! Enjoy and don't forget to donate to allow us to host the servers! (below is a screenshot of me connecting to the C&C3 server (AEOS*) Using a modified mIRC Client with the built in challenge code yes this can be used on the original C&C3 servers Link to full image
  12. Dunno lol Find out! Donate !! -SyS
  13. one at a time fee. Aiming for 150£ So any small large medium any size donation's are greatful. [email protected] I'm just thinking about all the player's which will play for all original game server's. AND WDT EVerything completed just has wol used to be.. So gonna need alot of administrator's Kind people will be thought of first IF you get me.. -SyS
  14. Support for the delphi version is no more! All about the C version now;) compiled coming soon
  15. create a shortcut and add s or -serv to the shortcut parameter to create the servserv. Then get your ip address and set it on the xwisc tool. Need more info just message me. -Kyle-
  16. heres the compiled of Delphi version of AWOS [hr:1sgky7ye]hehe[/hr:1sgky7ye] [spoiler:1sgky7ye]hehe[/spoiler:1sgky7ye]
  17. This is the APIREGISTER server for the dwol Will allow user's to create account's if you dont want them to instantly connect and account is saved. [code:jrw3qiwf] unit apiregister; interface uses SysUtils, ScktComp, Classes, WinSock, StrFuncs, tokfuncs, DateUtils, dialogs, MD5, _mysql; type TAPIRegRequest = (apireg_ageverify, apireg_getnick); TUserArrayItem = record SockID: integer; Sku: string; NewPass: string; Queue: string; Ver: string; NewPass2: string; Email: string; Serial: string; ParentEmail: string; Bmonth: string; SysID: string; newsletter: string; Bday: string; SysCheck: string; shareinfo: string; Byear: string; OldNick: string; LANGCODE: string; OldPass: string; request: TAPIRegRequest; NewNick: string; end; TRegServ = class(TCustomServerSocket) private FServerHost: string; ConArray: array of TUserArrayItem; procedure regservClientConnect(Sender: TObject; ASocket: TCustomWinSocket); procedure regservClientDisconnect(Sender: TObject; ASocket: TCustomWinSocket); procedure regservClientRead(Sender: TObject; ASocket: TCustomWinSocket); function StrToAPIRegRequest(const APIRegRequest: string): TAPIRegRequest; function CalcAge(const day, month, year: string): integer; procedure FreeUserData(const ConnectionIdx: integer); public constructor Create(AOwner: TComponent); override; property Socket: TServerWinSocket read FServerSocket; property Active; property ServerHost: string read FServerHost write FServerHost; property OnClientConnect; property OnClientDisconnect; property OnClientRead; end; var _mysql: TMySQL; implementation uses main; constructor TRegServ.Create(AOwner: TComponent); begin inherited Create(AOwner); FServerSocket := TServerWinSocket.Create(INVALID_SOCKET); InitSocket(FServerSocket); FServerSocket.ThreadCacheSize := 10; SetPort(5400); OnClientConnect := regservClientConnect; OnClientDisconnect := regservClientDisconnect; OnClientRead := regservClientRead; _mysql := TMySQL.Create(self); end; procedure TRegServ.regservClientConnect(Sender: TObject; ASocket: TCustomWinSocket); begin SetLength(ConArray, Length(ConArray)+1); ConArray[high(ConArray)].SockID := ASocket.SocketHandle; end; procedure TRegServ.regservClientDisconnect(Sender: TObject; ASocket: TCustomWinSocket); var i: integer; begin i := 0; while ConArray.SockID <> ASocket.SocketHandle do inc(i); FreeUserData(i); end; procedure TRegServ.regservClientRead(Sender: TObject; ASocket: TCustomWinSocket); var i: integer; s: string; begin i := 0; s := ''; // Die Connection-Kette durchlaufen bis der aktuelle SocketHandle mit dem in der Kette übereinstimmt. while ConArray.SockID <> ASocket.SocketHandle do inc(i); with ASocket do begin ConArray.Queue := ConArray.Queue + ReceiveText; while pos(#13, ConArray.Queue) <> 0 do delete(ConArray.Queue, pos(#13, ConArray.Queue), 1); while pos(#10, ConArray.Queue) <> 0 do begin s := copy(ConArray.Queue, 1, pos(#10, ConArray.Queue)-1); delete(ConArray.Queue, 1, pos(#10, ConArray.Queue)); // Die einzelnen Zeilen auswerten. if GetTok(s, 1, #61) = 'Email' then ConArray.Email := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'Bmonth' then ConArray.Bmonth := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'Bday' then ConArray.Bday := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'Byear' then ConArray.Byear := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'LANGCODE' then ConArray.LANGCODE := GetTok(s, 2, #61); if pos('request', s) <> 0 then ConArray.request := StrToAPIRegRequest(GetTok(s, 2, #61)); { 2ter Dialog } if GetTok(s, 1, #61) = 'Sku' then ConArray.Sku := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'Ver' then ConArray.Ver := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'Serial' then ConArray.Serial := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'SysID' then ConArray.SysID := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'SysCheck' then ConArray.SysCheck := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'OldNick' then ConArray.OldNick := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'OldPass' then ConArray.OldPass := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'NewNick' then ConArray.NewNick := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'NewPass' then ConArray.NewPass := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'NewPass2' then ConArray.NewPass2 := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'ParentEmail' then ConArray.ParentEmail := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'newsletter' then ConArray.newsletter := GetTok(s, 2, #61); if GetTok(s, 1, #61) = 'shareinfo' then ConArray.shareinfo := GetTok(s, 2, #61); if pos('END', s) <> 0 then begin // Daten auswerten case ConArray.request of apireg_ageverify: begin if CalcAge(ConArray.Bday, ConArray.Bmonth, ConArray.Byear) <> 0 then ASocket.SendText( 'HRESULT=0' + #10 + 'Message=((Message))' + #10 + 'NewNick=((NewNick))' + #10 + 'NewPass=((NewPass))' + #10 + 'Age='+ IntToStr(CalcAge(ConArray.Bday, ConArray.Bmonth, ConArray.Byear)) + #10 + 'Consent=0' + #10 + 'END' + #13#10 ); ASocket.Close; end; apireg_getnick: begin if not _mysql.User_Exists(ConArray.NewNick) then begin if ConArray.NewPass = ConArray.NewPass2 then begin try _mysql.User_Add(ConArray.NewNick, ConArray.NewPass, ConArray.Email, ConArray.newsletter); ASocket.SendText( 'HRESULT=0' + #10 + 'Message=Your nick "' + ConArray.NewNick + '" has been successfully registered. Password is: "' + ConArray.NewPass + '".'+ #10 + 'NewNick=' + ConArray.NewNick + #10 + 'NewPass=' + ConArray.NewPass + #10 + 'Age=((Age))' + #10 + 'Consent=((Consent))' + #10 + 'END' + #13#10 ); ASocket.Close; except end; end; end else begin ASocket.SendText( 'HRESULT=-2147221248' + #10 + 'Message=The nick "' + ConArray.NewNick + '" is already registered. Please try another one.' + #10 + 'NewNick=' + ConArray.NewNick + #10 + 'NewPass=' + ConArray.NewPass + #10 + 'Age=((Age))' + #10 + 'Consent=((Consent))' + #10 + 'END' + #13#10 ); ASocket.Close; end; end; end; // exit; end; end; end; end; {$WARNINGS OFF} function TRegServ.StrToAPIRegRequest(const APIRegRequest: string): TAPIRegRequest; begin if APIRegRequest = 'apireg_ageverify' then result := apireg_ageverify; if APIRegRequest = 'apireg_getnick' then result := apireg_getnick; end; {$WARNINGS ON} function TRegServ.CalcAge(const day, month, year: string): integer; var MonthNr: string; begin result := 0; if month = 'January' then MonthNr := '01' else if month = 'February' then MonthNr := '02' else if month = 'March' then MonthNr := '03' else if month = 'April' then MonthNr := '04' else if month = 'May' then MonthNr := '05' else if month = 'June' then MonthNr := '06' else if month = 'July' then MonthNr := '07' else if month = 'August' then MonthNr := '08' else if month = 'September' then MonthNr := '09' else if month = 'October' then MonthNr := '10' else if month = 'November' then MonthNr := '11' else if month = 'December' then MonthNr := '12' else exit; try if IsValidDate(StrToInt(year), StrToInt(MonthNr), StrToInt(day)) then result := DaysBetween(StrToDate(Format('%s.%s.%s', [day, MonthNr, year])), Now) div 365; if result > 100 then result := 0; except end; end; procedure TRegServ.FreeUserData(const ConnectionIdx: integer); begin ConArray[ConnectionIdx] := ConArray[high(ConArray)]; SetLength(ConArray, Length(ConArray)-1); end; end. [/code:jrw3qiwf] And here is the APGAR it's what westwood use's for password encryption [code:jrw3qiwf]unit apgar; interface uses SysUtils; function _apgar(const password: string): string; implementation function _apgar(const password: string): string; const ENC = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789./'; var pPassword: PChar; w: array[0..7] of char; i, a: integer; begin pPassword := StrNew(PChar(password)); for i := 0 to 7 do begin a := integer(pPassword); if odd(a) then w := ENC[((a shl (a and 1) and Ord(pPassword[8-i])) and $3F)+1] else W := ENC[((a xor Integer(pPassword[8-i])) and $3F)+1]; end; StrDispose(pPassword); result := w; end; end. [/code:jrw3qiwf]
  18. Ok here's what i'm going to do. Going to download Delphi6 Lite,(from my cd-rom) And do a nice compiled version of the current, But i'll add startg so people can play.
  19. It will be up as soon as i sort out hosting plan's with TIM -kyle-
  20. You need to update the Wsocket file's. Google for wsock and wsocket.pas get the newest one's and replace the originals. -Kyle-
  21. Anything is possible even getting support and help from some friend's with the ladder, Gave me alot of information reguarding command's and reply's. And n3trunn3r, Server's are still down, Waiting for money to withdraw, So i can start hosting else where.
  22. I don't get what you mean no, Please explain a little better for me ARO -Kyle-
  23. Hope everybody enjoy's the release. Noticed it would be good for RA player's instead of using kali and such vpn "SHITE" they can just run a complete multiplayer server. Save's installing aload of bs stuff, And setting up vpn's and stuff. -Kyle-
×
×
  • Create New...