Thejuster

Members
  • Content Count

    18
  • Avg. Content Per Day

    0
  • Joined

  • Last visited

  • Days Won

    1

Thejuster last won the day on February 24

Thejuster had the most liked content!

Community Reputation

12 Good

2 Followers

About Thejuster

  • Rank
    Poring
  • Birthday 10/08/1984

Profile Information

  • Gender
    Not Telling
  • Location
    Italy
  • Server
    FutureRO
  • Github
    https://github.com/MakingItalia
  • Interests
    Programming and videogame makers.

Contact Methods

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hello again try whit this error Connection refused: IP isn't authorised (deny/allow, ip: 127.0.0.1). changed structure to ulong and int to sbyte and work. i have an bytes array around 51bytes total if( (command == 0x0064 && packet_len < 55) And i think now work but server block 127.0.0.1 address
  2. Not work i see empty string only "Discord> " and nothing prontera,157,176,7 script Discord 47,{ //OnInit: while(1) { query_sql("SELECT * FROM `discordbot` WHERE `id`='1'", [email protected]); announce "Discord> " + [email protected]$ ,0,0x0965f9; sleep 3000; } } and try whit this prontera,157,176,7 script Discord 47,{ //OnInit: while(1) { query_sql("SELECT `messaggio` FROM `discordbot` WHERE `id`='1'", [email protected]); announce "Discord> " + [email protected]$ ,0,0x0965f9; sleep 3000; } } empty string.
  3. Hello i have made this NPC prontera,157,176,7 script Discord 47,{ //OnInit: while(1) { query_sql("SELECT * FROM `discordbot` WHERE `id`='1'", [email protected]); //query_sql("SELECT `messaggio` FROM `discordbot` WHERE `id` LIKE '1'", [email protected]); announce "Discord> " + escape_sql([email protected][1]),0,0x0965f9; sleep 3000; } } My Table discordbot INT(10) VARCHAR (255) +---------+----------------------+ | ID | MESSAGGIO | +---------+----------------------+ | 1 | Hello World | +---------+----------------------+ On client i see: for wath reason i dont see my text from database?
  4. Hello, i need to call this functio when a player write a command actually are setted on /broadcast or /mes etc. can i reply? this function and redirect at_command for example " @message Hello " to this funciont? in order, need to implement more function ti this clif_broadcast. https://github.com/rathena/rathena/blob/master/src/map/clif.cpp#L6217
  5. Hello, anyone know who are function to send message to game? i have find this int channel_send(struct Channel *channel, struct map_session_data *sd, const char *msg) { int idx = 0; if(!channel || !sd || !msg || (idx = channel_pc_haschan(sd, channel)) < 0) return -1; if(!pc_has_permission(sd, PC_PERM_CHANNEL_ADMIN) && channel->msg_delay != 0 && DIFF_TICK(sd->channel_tick[idx] + channel->msg_delay, gettick()) > 0) { clif_messagecolor(&sd->bl,color_table[COLOR_RED],msg_txt(sd,1455),false,SELF); //You're talking too fast! return -2; } else { char output[CHAT_SIZE_MAX]; unsigned long color = channel->color; if((channel->opt&CHAN_OPT_COLOR_OVERRIDE) && sd->fontcolor && sd->fontcolor < channel_config.colors_count && channel_config.colors[sd->fontcolor]) color = channel_config.colors[sd->fontcolor]; safesnprintf(output, CHAT_SIZE_MAX, "%s %s : %s", channel->alias, sd->status.name, msg); clif_channel_msg(channel,output,color); sd->channel_tick[idx] = gettick(); } return 0; } Componen\map-server\channel.cpp but im not sure this is a correct function to send message in public chat to field.
  6. nice idea! i have try a test like your request first test working fine. but need more fix for speed reading on process. Untitled.mp4
  7. Hi, If interest, wanted to introduces you rAthena Studio. Is a Cross-Platform tool for manage, setting and configuring rAthena Server. Written in Qt C++. Compatible 100% for Windows, Linux and Mac. and OpenSource. Actually is in progress. But are available for testing and configure simple 4 step to run rAthena in public ip. Screen: Reposity is public and open for all future Developer and more. and Join on Discord Next, more feature, client patch and more....
  8. I need the page is called via npc without click on link or button In C# code example i call a webrequest whit WebClient string msg = "Hello"; WebClient wb = new WebClient($"http://mysite.com?message={msg}"); wb.Navigate(); //or wb.DownloadString(); // for response. i need a function like this if exist. or need to edit source code? if i need, name of the interested file?
  9. Hello, is possible whit npc send a webrequest or navigate. for example www.mysite.com/home.php?action=hi No need response but only send an action. No need url, or user to click on a link. Just send an GET action on url.
  10. nope uhmm here are a problem. look total size sent is 72bytes. Simple i pack command,verion,username,password,clienttype total = 72byte but rAthena server ask: static int logclif_parse_reqauth(int fd, struct login_session_data *sd, int command, char* ip){ size_t packet_len = RFIFOREST(fd); if( (command == 0x0064 && packet_len < 55) //For command 0x64 packet max lenght is 55 byte i use this. 0x64 || (command == 0x0277 && packet_len < 84) || (command == 0x02b0 && packet_len < 85) || (command == 0x01dd && packet_len < 47) || (command == 0x01fa && packet_len < 48) || (command == 0x027c && packet_len < 60) my packet size is 72byte but a conditional branch on server is limited under 55byte. Strange for me. No have idea for wath reason my structure is 72bytes. I follow step by step server parameters and Unmanaged conversion.
  11. Tanks Zell i try whit this example. First step is done but server cant read my username or password send in src/loginclif.cpp function /** * Received a connection request. * @param fd: file descriptor to parse from (client) * @param sd: client session * @param command: packet type sent * @param ip: ipv4 address (client) * S 0064 <version>.L <username>.24B <password>.24B <clienttype>.B * S 0277 <version>.L <username>.24B <password>.24B <clienttype>.B <ip address>.16B <adapter address>.13B * S 02b0 <version>.L <username>.24B <password>.24B <clienttype>.B <ip address>.16B <adapter address>.13B <g_isGravityID>.B * S 01dd <version>.L <username>.24B <password hash>.16B <clienttype>.B * S 01fa <version>.L <username>.24B <password hash>.16B <clienttype>.B <?>.B(index of the connection in the clientinfo file (+10 if the command-line contains "pc")) * S 027c <version>.L <username>.24B <password hash>.16B <clienttype>.B <?>.13B(junk) * S 0825 <packetsize>.W <version>.L <clienttype>.B <userid>.24B <password>.27B <mac>.17B <ip>.15B <token>.(packetsize - 0x5C)B * @param fd: fd to parse from (client fd) * @return 0 failure, 1 success */ static int logclif_parse_reqauth(int fd, struct login_session_data *sd, int command, char* ip){ size_t packet_len = RFIFOREST(fd); i see for command 0x64 ( Request login authentification ) S 0064 <version>.L <username>.24B <password>.24B <clienttype>.B my code Packet Structure [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] struct DataPacket { public ushort command; public ulong version; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 24)] //.24B byte, Server Code Ask 24B ( 24 Bytes ) public String Username; [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 24)] //Some 24 Byte Lenght public String Password; public byte clienttype; //is wrong? public byte[] Serialize() { // allocate a byte array for the struct data var buffer = new byte[Marshal.SizeOf(typeof(DataPacket))]; // Allocate a GCHandle and get the array pointer var gch = GCHandle.Alloc(buffer, GCHandleType.Pinned); var pBuffer = gch.AddrOfPinnedObject(); Marshal.StructureToPtr(this, pBuffer, false); gch.Free(); return buffer; } // this method will deserialize a byte array into the struct. public void Deserialize(ref byte[] data) { var gch = GCHandle.Alloc(data, GCHandleType.Pinned); this = (DataPacket)Marshal.PtrToStructure(gch.AddrOfPinnedObject(), typeof(DataPacket)); gch.Free(); } } DataPacket packet = new DataPacket(); packet.command = 0x64; packet.version = 55; packet.Username = "Thejuster"; packet.Password = "123456789"; packet.clienttype = 0; var bytes = packet.Serialize(); soc.Send(bytes); If i try to connect whit my code, i see this on server. I see username and password server dont read. Normal Connection whit Ragnarok Client Uhmmm i dont have idea for this problem. I have download roBrowser, and see src. because javascript and c# are similar. i find this i on source // 0x64 PACKET.CA.LOGIN = function PACKET_CA_LOGIN() { this.Version = 0; this.ID = ''; this.Passwd = ''; this.clienttype = 0; }; //Here i think the author build a packet structure. PACKET.CA.LOGIN.prototype.build = function() { // i think is a size of all packet //[2] Command + [4] ???? No have idea. + [24] Username + [24] Password + [1] Client type var pkt_len = 2 + 4 + 24 + 24 + 1; var pkt_buf = new BinaryWriter(pkt_len); pkt_buf.writeShort(0x64); pkt_buf.writeULong(this.Version); pkt_buf.writeString(this.ID, 24); pkt_buf.writeString(this.Passwd, 24); pkt_buf.writeUChar(this.clienttype); return pkt_buf; };
  12. Tanks jchcc i miss Last param hehe . Clienttype But one question. .L .24b .B is?
  13. Hello i try to make a discord bot whit potential feature. One my problem is try to connection in rAthena Server. Actually i use c# my code //Setting Socket soc = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress ip = IPAddress.Parse("127.0.0.1"); IPEndPoint host = new IPEndPoint(ip, 6900); soc.Connect(host); //Static Packet byte packet = 0x64; byte[] id = Encoding.ASCII.GetBytes("Thejuster"); byte[] pass = Encoding.ASCII.GetBytes("123456789"); //Packet Builder List<byte> pacchetto = new List<byte>(); //Assembly packet pacchetto.Add(0x64); foreach(byte b in id) { pacchetto.Add(b); } foreach(byte b in pass) { pacchetto.Add(b); } //Send full pachet soc.Send(pacchetto.ToArray()); When i try to connect, rAthena Login Server say this: anyone know reason of this problem?
  14. View File ServerConfig ServerConfig is a free tool for automatic configuration whit your rAthena Server. Very simple to use. Just 4 click and your server are ready. Requisites: .NET Framework 4.0 How to use: 1° Unrar the archive 2° Select a root rAtehan folder. ( for example: C:\rAthena ) 3° Click Detect in IP Address configuration, or put ip address in this filed. 4° Check Enable sql Server if you like use rAthena sql 5° Click Update Server Files After patching, you can test if your roter Port are enabled. Plase report bug or error. Submitter Thejuster Submitted 10/05/2018 Category Server Managers/Editors Video Content Author Thejuster