<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-2902168304030868024</id><updated>2011-04-21T14:16:52.870-07:00</updated><category term='eathena'/><category term='ragnarokonline'/><category term='jathena'/><category term='JavAthena'/><category term='ragnarok'/><category term='bugs'/><title type='text'>import java.Programmeur</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://darksid1.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://darksid1.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>darksid_1</name><uri>http://www.blogger.com/profile/01367497326335611166</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>7</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2902168304030868024.post-5627255553528821941</id><published>2007-04-14T12:17:00.000-07:00</published><updated>2007-04-14T13:05:01.766-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='bugs'/><category scheme='http://www.blogger.com/atom/ns#' term='jathena'/><title type='text'>jathena en standby, bugs et autres projets</title><content type='html'>Le login-server server est présentement en "standby" depuis  environ trois mois et le restera encor une durée indéterminé. La raison de cette pause momentané est le peu de feedback recu des hypotéthique utilisateurs et un bog persistant malgrés mes nombreux et insistants effort de chasseur de bogue. Il y a aussi que j'ai un autre projet dont je peut-être parler plus en détaille une autre fois.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2902168304030868024-5627255553528821941?l=darksid1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darksid1.blogspot.com/feeds/5627255553528821941/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2902168304030868024&amp;postID=5627255553528821941' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/5627255553528821941'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/5627255553528821941'/><link rel='alternate' type='text/html' href='http://darksid1.blogspot.com/2007/04/jathena-en-standby-bugs-et-autres.html' title='jathena en standby, bugs et autres projets'/><author><name>darksid_1</name><uri>http://www.blogger.com/profile/01367497326335611166</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2902168304030868024.post-6799402105611570500</id><published>2006-12-18T11:56:00.000-08:00</published><updated>2007-01-18T19:07:43.902-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavAthena'/><category scheme='http://www.blogger.com/atom/ns#' term='eathena'/><category scheme='http://www.blogger.com/atom/ns#' term='ragnarok'/><category scheme='http://www.blogger.com/atom/ns#' term='ragnarokonline'/><title type='text'>courte nouvelle</title><content type='html'>Pour ceux(celle) qui on de la difficulté à installé le serveur j'ai mis un installateur sur sourceforge : http://sourceforge.net/projects/javathena/&lt;br /&gt;&lt;br /&gt;Et j'ai retirer temporairement la console.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2902168304030868024-6799402105611570500?l=darksid1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darksid1.blogspot.com/feeds/6799402105611570500/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2902168304030868024&amp;postID=6799402105611570500' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/6799402105611570500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/6799402105611570500'/><link rel='alternate' type='text/html' href='http://darksid1.blogspot.com/2006/12/courte-nouvelle.html' title='courte nouvelle'/><author><name>darksid_1</name><uri>http://www.blogger.com/profile/01367497326335611166</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2902168304030868024.post-8870961116724153717</id><published>2006-12-12T09:05:00.000-08:00</published><updated>2006-12-12T09:55:56.457-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavAthena'/><title type='text'>La solution aux struct</title><content type='html'>J'ai finalement trouvé une solution. Et cela était plus simple que je le pensait.&lt;br /&gt;Exemple pour PartyMember:&lt;br /&gt;&lt;br /&gt;    public void toByteTable(byte[] tab, int startInd)&lt;br /&gt;    {&lt;br /&gt;        //copi l'entier à partir de startInd j'usqu'à (startInd + la longueur du champ)&lt;br /&gt;        Functions.intToByteTab(account_id, startInd,&lt;br /&gt;                startInd += Constants.INT_LENTH, tab);&lt;br /&gt;        Functions.intToByteTab(char_id, startInd,&lt;br /&gt;                startInd += Constants.INT_LENTH, tab);&lt;br /&gt;        //les String sont en fait des tableaux de charatères(char) et un char a&lt;br /&gt;       //la même dimention qu'un byte&lt;br /&gt;        Functions.stringToUnsignedByteTable(name, tab, startInd,&lt;br /&gt;                startInd += Constants.NAME_LENGTH);&lt;br /&gt;        Functions.intToByteTab(class_, startInd,&lt;br /&gt;                startInd += Constants.SHORT_LENTH, tab);&lt;br /&gt;        Functions.intToByteTab(map, startInd,&lt;br /&gt;                startInd += Constants.SHORT_LENTH, tab);&lt;br /&gt;        Functions.intToByteTab(lv, startInd, startInd += Constants.SHORT_LENTH,&lt;br /&gt;                tab);&lt;br /&gt;        Functions.intToByteTab(leader ? 1 : 0, startInd, startInd++, tab);&lt;br /&gt;        Functions.intToByteTab(online ? 1 : 0, startInd, startInd++, tab);&lt;br /&gt;    }&lt;br /&gt;Functions.intToByteTab(int aInt, int startInd, int endInd, byte[] aByteTab) :&lt;br /&gt;&lt;br /&gt;public static void intToByteTab(int aInt, int startInd, int endInd, byte[] aByteTab)&lt;br /&gt;    {&lt;br /&gt;        for (int i = startInd; i &lt; endInd &amp;&amp;amp; aInt != 0; i++)&lt;br /&gt;        {&lt;br /&gt;                //donne le reste de la division de l'entier par 256&lt;br /&gt;            aByteTab[i] = (byte) (aInt % 256);&lt;br /&gt;            aInt /= 256;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;exemple après l'exécutionde&lt;br /&gt;Functions.intToByteTab(1283402, 0, 4, aByteTab);&lt;br /&gt;aByteTab contiendra : {74, 149, 19, 0}&lt;br /&gt;dans le sens inverse : 74 * 256^0 + 149 * 256^1 + 19 * 256^2 + 0 * 256^3&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2902168304030868024-8870961116724153717?l=darksid1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darksid1.blogspot.com/feeds/8870961116724153717/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2902168304030868024&amp;postID=8870961116724153717' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/8870961116724153717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/8870961116724153717'/><link rel='alternate' type='text/html' href='http://darksid1.blogspot.com/2006/12/la-solution-aux-struct.html' title='La solution aux struct'/><author><name>darksid_1</name><uri>http://www.blogger.com/profile/01367497326335611166</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2902168304030868024.post-8358749242760867572</id><published>2006-12-10T10:25:00.000-08:00</published><updated>2006-12-10T11:15:59.092-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavAthena'/><title type='text'>Les structs pausent problèmes</title><content type='html'>Les structs sont un peu l'encêtre des object en java ou en C++. Ils regroupent un ensemble de variables, mais ils ne peuvent ni contenir de méthode, ni de contructeur et ils ont d'autre particularitées dont je ne ferai pas mention ici.&lt;br /&gt;&lt;br /&gt;Le problème que pausent les structs dans eathena n'est pas dans sa convertion en tant que tel mais plutot lors déchanges entre le serveur char et le le serveur map. En effet lors du transfère le struct est transformer implicitement en tableau.&lt;br /&gt;Exemple dans int_party.c :&lt;br /&gt;&lt;br /&gt;int mapif_party_info(int fd, struct party *p)&lt;br /&gt;{&lt;br /&gt;    unsigned char buf[2048];&lt;br /&gt;&lt;br /&gt;    WBUFW(buf,0) = 0x3821; //entête du paquet&lt;br /&gt;//buf + 4 dis à memcpy de copier la variable p dans le tableau buff à partir de&lt;br /&gt;//l'index 4 du tableau&lt;br /&gt;//sizeof(struct party) donne la quantité de memoire pour necessaire pour stocké //le struct dans le tableau&lt;br /&gt;    memcpy(buf + 4, p, sizeof(struct party));&lt;br /&gt;// ajoute la dimention du tableau&lt;br /&gt;    WBUFW(buf,2) = 4 + sizeof(struct party);&lt;br /&gt;    if (fd &lt; 0)&lt;br /&gt;        mapif_sendall(buf, WBUFW(buf,2));&lt;br /&gt;    else&lt;br /&gt;        mapif_send(fd, buf, WBUFW(buf,2));&lt;br /&gt;    return 0;&lt;br /&gt;}&lt;br /&gt;La difficulter est donc de transformé un object java en tableau compatible avec ce que le serveur map attend, ce qui à première vue me semble fesable mais long et un peu compliquer. J'ai déja une petite idée de ce que je vais faire. Dès que cela sera foncionnel je la mettrai sur mon blogue.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2902168304030868024-8358749242760867572?l=darksid1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darksid1.blogspot.com/feeds/8358749242760867572/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2902168304030868024&amp;postID=8358749242760867572' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/8358749242760867572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/8358749242760867572'/><link rel='alternate' type='text/html' href='http://darksid1.blogspot.com/2006/12/les-structs-pausent-problmes.html' title='Les structs pausent problèmes'/><author><name>darksid_1</name><uri>http://www.blogger.com/profile/01367497326335611166</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2902168304030868024.post-679394031823641250</id><published>2006-12-05T18:48:00.000-08:00</published><updated>2006-12-06T20:37:18.593-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavAthena'/><title type='text'>Beanshell</title><content type='html'>Beanshell est un terminal java qui interprète du code java directement sans compile.&lt;br/&gt;Il peut interpréter aussi un langage scripte semblable au java. Je pense qu'il pourrait êtres tres  utiles a mon projet javAthena. J'ai d'ailleurs fait une console pour le serveur login JavAthena il est disponible sur : https://sourceforge.net/projects/javathena/ .&lt;br/&gt;&lt;br/&gt;JavAthena se sert aussi de javolution une librairie principalement de collection comme fastTable, fastMap, etc. Ces class ont leurs équivalents dans la jdk de sun mais elles sont plus rapide lorsqu'elles contiennent de grandes quantité d'information.&lt;style&gt;i{content: normal !important}&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2902168304030868024-679394031823641250?l=darksid1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darksid1.blogspot.com/feeds/679394031823641250/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2902168304030868024&amp;postID=679394031823641250' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/679394031823641250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/679394031823641250'/><link rel='alternate' type='text/html' href='http://darksid1.blogspot.com/2006/12/beanshell.html' title='Beanshell'/><author><name>darksid_1</name><uri>http://www.blogger.com/profile/01367497326335611166</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2902168304030868024.post-2828294217424066706</id><published>2006-11-27T20:11:00.000-08:00</published><updated>2006-12-04T21:25:04.806-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JavAthena'/><title type='text'>JavAthena</title><content type='html'>&lt;div align="left"&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;Tout commence lorsque j'ai commence a jouer a la beta public de RagnarokOnline. RagnarokOnline est un mmorpg(Massivement Multi-joueur Online Role Playing Game)  .&lt;br/&gt;Je suis vite devenu accrot a ce jeu.&lt;br/&gt;Mais j'ai arete de jouer quelque mois apres qu'il soit devenu payant(bizarement),&lt;br/&gt;mais quelque temp plus tard j'ai trouver un emulateur de serveur, qui est maintenant fermer. Ce que je pensait totalement imposible. Je l'ai tester un peu, puis un jour je suis tomber sur eAthena http://eathena.ws/board/ qui est un projet c open-source.&lt;br/&gt;J'ai regarder le code qui a ma grande surprise etait tres semblable au java. Le code est d'une qualite assez ordinaire, ce qui est surment du aux nombreux programmeurs et put-etre a un manque d'organisation, mais surtout parce qu'ils semblent priorise les nouveautes.&lt;br/&gt;&lt;br/&gt;Mais il est lisible pour moi programmeur moyen.&lt;br/&gt;J'ai ete etonne de voir comment il etait facile de traduire ce code au java.&lt;br/&gt;Au debut j'ai traduit le serveur login  presque litteralement, une fois que j'ai vue qu'il&lt;br/&gt;fonctionnait je l'ai modifier.&lt;br/&gt;Le serveur est divise en trois parties independantes Login/Character/Map.&lt;br/&gt;Le serveur login est diviser en deux parti principal : la gestion des donnes(account, configuration, droit, ...) et les connections(les client, les autres serveurs et les requetes qu'ils font) .&lt;br/&gt;Difficile fut la derniere partie, car je ne comprenais pas comment les echanges se faisaient. Apres plusieurs essaies erreurs j'ai compris que le serveur envoyait tout simplement&lt;br/&gt;des tableaux de byte non-signer.  Ces tableau contenait les informations en clair donc non hrypeter(Il n'y que les mots de passes qui peuvent l'etre).&lt;br/&gt;A partir de ce moment le reste fut relativement facil.&lt;br/&gt;&lt;br/&gt;Pour le moment je considere le serveur-login comme fonctionnel.&lt;br/&gt;Mais faute de testeurs je ne saurais dire si le tout fonctionne correctement.&lt;br/&gt;Je commence le serveur-character et je songe serieusement a ajouter un interpreteur beanshell,&lt;br/&gt;pour avoir un meilleur controle sur le serveur l'orsqu'il fonctionne.&lt;br/&gt;&lt;br/&gt;ps desoler pour les fautes(je modifierai mon poste prochainement)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt;&lt;span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br/&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2902168304030868024-2828294217424066706?l=darksid1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darksid1.blogspot.com/feeds/2828294217424066706/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2902168304030868024&amp;postID=2828294217424066706' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/2828294217424066706'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/2828294217424066706'/><link rel='alternate' type='text/html' href='http://darksid1.blogspot.com/2006/11/javathena.html' title='JavAthena'/><author><name>darksid_1</name><uri>http://www.blogger.com/profile/01367497326335611166</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-2902168304030868024.post-9185863285975178366</id><published>2006-11-27T17:47:00.000-08:00</published><updated>2006-11-27T19:21:11.581-08:00</updated><title type='text'>Bonjour</title><content type='html'>Je me presente&lt;br/&gt;Mon nom est Francois, je vis a Montreal(Canada) depuis mon enfance.&lt;br/&gt;J'ai commence a aimer l'informatique des que je suis entre en contactes avec. &lt;br/&gt;&lt;br/&gt;Je suis aller au cegep en Informatique de gestion(je detest la gestion mais entre ca et reseau...). J'y ai appris la base meme si j'apprend toujours sur le tas. J'ai passe tout mes cours de base avec + ou - de facilite(sauf litterature quebecoise et mes cour de gestions). Mais je n'ai toujours pas reussi l'epreuve uniforme de francais(dissertation de 900 mots qui dure 4 heure) apres 4 essais je suis vraiment desespere... &lt;br/&gt;&lt;br/&gt; J'aime bien le cafe que je prend presque toujours noire. J'aime beaucoup programmer, surtout en java. &lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/2902168304030868024-9185863285975178366?l=darksid1.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://darksid1.blogspot.com/feeds/9185863285975178366/comments/default' title='Publier les commentaires'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=2902168304030868024&amp;postID=9185863285975178366' title='0 commentaires'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/9185863285975178366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2902168304030868024/posts/default/9185863285975178366'/><link rel='alternate' type='text/html' href='http://darksid1.blogspot.com/2006/11/bonjour.html' title='Bonjour'/><author><name>darksid_1</name><uri>http://www.blogger.com/profile/01367497326335611166</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
