-
Content Count
225 -
Joined
-
Last visited
-
Days Won
20
Posts posted by Habilis
-
-
Welcome to hogwarts!
-
Hello and Welcome !!!
Me too, I write on
many languages.(Seriously any...If I'm interested or paid to do it)
You can check a guide in my signature on how to setup Herc server
There is also a link to Trouble shooting/Frequently Asked Questions Annex to my guide
And for personal experiences... Well, you can read my
Homeless/Vagabond Developer's diary
Enjoy your day with Hercules!!
-
Homeless (Vagabond) Server developer's diary
Day 12 : Doing Stuff....
Browsing publically available content, I found a command
@identifyall - Identifying all items (Provided by AnnieRuRu, if I'm not mistaken...)
The problem is that the script doesn't use Magnifiers to Identify your items.
Because????... F* you! ©
I don't know if something similar already exist. It was faster to adjust the one I found than continue looking.
And I decided to share it (Costs Habilis nothing, but could make some of you happy)
- script IdentifyAll#Util -1,{ OnInit: .identifyItemId = 611; //Magnifier .identifyItemName$ = getitemname(.identifyItemId); bindatcmd "identifyall", strnpcinfo(0)+"::OnIdentifyAll",0,99; end; OnIdentifyAll: if(countitem(.identifyItemId) < 1) { dispbottom "To do that, you need at least 1 "+.identifyItemName$+"."; end; } getinventorylist; for ( .@i = 0; .@i < @inventorylist_count; .@i++ ) { if(countitem(.identifyItemId) < 1) { dispbottom "You are out of "+.identifyItemName$+"s, "+.@c +" items identified."; end; } if ( !@inventorylist_identify[.@i] ) { delitem2 @inventorylist_id[.@i], 1,0,0,0,0,0,0,0; getitem @inventorylist_id[.@i], 1; delitem .identifyItemId,1; .@c++; } } dispbottom .@c +" items identified."; end; }
Basically it's an utility @Command script that could make clicking less agressive... when have a lot unidentified items.
How it works
When you don't have any magnifiers it says:
Скрытый текстWhen you have less magnifiers than Unidentified items, It identifies as much items as possible...
Скрытый текстWhen you have enough magnifiers it just identifies all using your magnifiers
And says You don't have anymore MAgnifiers, X items where identified using few that you had.
Скрытый текстPretty simple stuff, but could make somoene's life easier...
Also, changed vending zone to one that is publically available in Downloads section (It comes with script of vending spots!)
SpoilerBut, blue squares (Where vending is supposed to be permitted) have flag no_vending,1 (Vending forbidden),
Because????... F* you! ©
How Habilis fixed that?
Disabling vending on entire map and changing these flags to no_vending, 0 (0 means no_vending is canceled).
Is not an option, because when entire map vending is disabled, Hercules doesn't even look on individual cells....
And doing bunch of /where to create propper flags, is not an option timewise!
So, Habilis did it lika that, Created 1 flag for no_vending,1 0 0 200 200 (all cells of the map)
And then rename each flag where vending is supposed to be permitted to no_vending, 0
Also that map came without minimap.... not Habilis problem....(made a minimap):
Скрытый текстLike they say where Habilis come from : "Prepare winter event in the summer!" ©
Скрытый текстI found that winter texture pack I was looking for, it was uploaded to some 3d party file cloud... as it wrights about 80mb but it totally worth it!!!
(Just winter not holiday)
Скрытый текстAs it covers almost all Cities and fields!!! so 80mb is worth it!!
Скрытый текстAlso Installed my favorite chatime plugin from dastgir GitHub
Also changed some buttons in my 2013 client to be like sortof newer clients
Скрытый текстNew buttons
Скрытый текстThese buttons not only for aesthetics, they also resolve another problem that you don't need to know about...
-
Day 11: Done some more NPC work..
- added Vampire bal (From downloadfs section) event to My AutoEvent Controller
Spoilerdon't joke around with lady vampire...
basicallyically as described in the downloads section.. (A pvp event)
2- added Poring Catcher event from the Downloads section
SpoilerSince it is a hardcore LowRate server x8.....
And Novices appear in the outskirts of Prontera with no money and no clothes (Just Like Habilis when he goes to Las Vegas....)
I've decided to make a Welcomer NPC
SpoilerBasically an NPC that is going couple newcomers brain with some information about the game (Most of it is ported with slight modification form Renewal tutorial...)
I also made a simple PVP arena, with this cute assassin girl NPC
I had do do the CUTIN myself...
SpoilerThe official one is not as... erotic...
Curious fact : the original Assassin girl on cutin is wearing a Creator or LordKnight skirt ? (Censored?)
Part 2 : Plugin work
Implemented my favourite @commands (So much appreciated by Russian RO comunity)
I even turned them into Hercules plugins and released here:
I also integrated all of the Dastgir's plugins, Thank you very much!!
@aura is awesome!
I disabled aura at max levels...
SpoilerWhen character of 1 or 2 or trans reaches max level, Aura is obtained through quest from him
But good thing you can choose your aura...
-
geez,
provide the script at least.... Or you expect me to run all over the place to find it?
UPD: Found it...
https://github.com/Stolao/Npc_Release/blob/master/Daily_Reward/DailyReward.txt
I have done one for my Homless(Vagabond) RO server Developper's Diary
It's based on
The one in Downloads seciton...
Nobody asked for the script... So, I guess nobody is interested...
-
-
can you show the output of following commands:
whoami
and
ls -la
-
Day 10 : Scripting marathon continues..
I went to download section and downloaded some more scripts of events to integrate them with this server.
And then I though why not fully automate them?
So I asked aroud about randomizing things...
So, Big Special THANKS to @Z3R0 and @Dastgir for giving me this code
OnClock1800: initnpctimer(); .@currentMinute = 0; .@startMinute = rand(1,30); end; OnTimer60000: setnpctimer(0); .@currentMinute += 1; if (.@startMinute == .@currentMinute) { stopnpctimer(); doevent; }
What I wanted to do Is create an AutomaticEventController
A controller that would automatically and randomly start and end events over a day.
and to have the starting time randomly picked within 30 minutes from planned time
(I wanted this to frustrate my players even more! *trollface*)
So far, I have 4 automatic events (available here in download section)
I'm not the author of this scripts, each script has an author. You may find their authors by browsing in Downloads section. However, there is a big thanks from me for releasing wonderful scripts!
- Treasure hunt (pry open treasure chests, some of them are empty to find those containing a treasure)
Spoiler- Goblin Invasion (need to defeat X number invaders and then invader Leader spawns)
Spoiler- Poring Count event (just count porings in the fence)
Spoiler- Slot Machine (With free spins..
Spoiler2 free spins,
after out of free spins need to pay...)
How it works:
- AutomaticEventsController at specified time runs a version of code given to me by @Z3R0 and @Dastgir
to determine a real random time of event, It checks for WOE, no auto events on WOE...
- AutomaticEventsController Picks randomly an event script name from Array of string and calls OnEventStart on that script
- Every Automatic event script "Implements" an Imaginary Interface AutomaticEvent with 2 methods OnEventStart OnEventTimeOut (OOP stuff.....)
(basically every Automatic event MUST have those 2 methods Because Controller calls on them)
The rest of implementation is up to the event
classscript...So far, I have 4, but I actively browse downloads section for more scripts to integrate to my Automatic events!
-
Day 9.5 : Scripting challenge....
Now it is time to script some...
So, I wrote a daily rewards script and integrated everything and here is how it looks like in game:
SpoilerSorry about blur, there is the real name of the server, didn't want to waste time and create 28 cutins with HabilisRO on them....
Anyways, some people may say these are crappy prizes. Well, tell you what... This server is considered a low rate server. Besides, all a player have to do to get them, is just login.....
Even Habilis can do that!
Took adv. Stylist npc from Downloads and modified it to be sort of a quest ...
SpoilerAlso added a healer (just heal with 60 sec delay) <- classic
One more thing, took this pretty map
and created a vending zone
SpoilerSo, this is basically a vending zone, to assemble all vendors in one area
I'm not expecting many players, so this should be big enough.
Continuing the work ....
-
-
Day 9 : Didn't want to come back to BeyondCompare....
So, I don't want to come back to BeyondCompare and configuring 1000 of files to the episode 11.1, I was desperateley browsing downloads section for at least something more exciting to do!!
Anything... As I've done pretty much everything....
And one more thing cought my eye. DailyRewards!!!
Well my server already have that, but very basic one. Why not make it golden?
so I took this and a few of similar releases
and did this
day1
Spoilerday 2
Spoilerwell you get the idea...
SpoilerAnd, Yes you rad it correctly "A little something to make a player's day with us even better"
And no, it is not an invitation to create 500 characters and farm daily rewards
As these items are not actually real items
But an Event version (same features but....)
- Not Kafra/Guild storable
- Not Tradable / Vendable / NPC sellable
- Not droppable
Basically an item given to one character to make his/her day even more fun...
Applying Only Best Practices since 2017... (C)
-
Day 8 : Patcher (Still bored from comparing bunch of configs)
I decided to do a patching system
First I took the graphical content provided at downloads section
And created 5 accounts on FreeWeb hosting
This free web hosting has these features:
- No ads
- 1Gb storage space (To store updates)
- 100Gb traffic per month
So I have this .com domain name rigged to a free private DNS service (Just like DynDNS pro but free...)
In the DNS I created a CNAME record like so (upd.myserver.com -> tttaaass123.freehosting.com)
So that pretty domain points to domain given by free web hosting
What I found cool is that DNS records updated within an hour!!
(This means upd.myserver.com was pointing to tttaaass123.freehosting.com, yes changing DNS records can take some time. But 1 hour is amazing!)
In the patcher config, I put upd.myserver.com/patch as a directory to get patches from.
Now I will explain why 5 free accounts :
Free Webhosting are really picky, Finnicky and useless people that like to ban and limit things...
So If I get banned, I can switch to the next free account within an hour.
Or, if I see the traffic reaches limit, I switch to the next free account.
How this mobility is achieved:
The index.php which is called by the patcher to display news does quite some more work than just display news.
It writes the JSON object if not exists or outdated
JSON object that is written into webroot directory looks like this
{ lastupdate : datetime, news : [{picture, publishdatem, body}] }
Index.php checks lastupdate
- if 1 hour didn't pass, it renders JSON object with news to HTML and sends it.
- if past 1 hour, it does a CURL or WGET call to myserver.com/api/news to get a fresh JSON object. and writes NOW() to the lastupdate.
index.php also sends another CURL or WGET call to 4 other free webhosting accounts with a specific parameter ?sync=1
(Obviously, there is some validation going on so that some smarty couldn't botch my patching....)
4 other free accounts copy the JSON with news and compare patchlist.ini (file that lists updates) to their own file
and the get the updates they don't have and update their patchlist.ini .
So, the news are written on the main site, and patches are uploaded to only 1 place and spread through my network by themselves.
That way, I can maintain high mobility.
In the case of a ban or approaching traffic limit, I can switch to the next free webhosting account within 1 hour. The main server internet channel is not busy with patches download traffic.
Players don't need extra lags on the server, right?
-
No that's correct, it is what is called an MD5 hash
safefashion way to store passwords in a databasehttps://github.com/HerculesWS/Hercules/blob/master/conf/login/login-server.conf
You need to configure your server to use encrypted passwords... (change to true)
use_MD5_passwords: false
and disable allow _M _F regitration....(change to false)
new_account: true
-
I've been downgrading file mob_skill_db.txt
to episode 11.1 and I noticed something weird
in pre-re/mob_skill_db.txt
https://github.com/HerculesWS/Hercules/blob/master/db/pre-re/mob_skill_db.txt
the skill level at the position #5 for some skills is above 10
for example Doppelganger Decrese Agi 48 lvl?
MobID,Dummy value (info only),State,SkillID,SkillLv,Rate,CastTime,Delay,Cancelable,Target,Condition type,Condition value,val1,val2,val3,val4,val5,Emotion,Chat 1046,Doppelganger@AL_DECAGI,attack,30,48,500,0,20000,no,target,always,0,,,,,,5, 1046,Doppelganger@AL_DECAGI,chase,30,48,500,0,20000,no,target,always,0,,,,,,5,
Can someone tell me why is that?
Will it make this monster weaker if i decrease those skills to 10 lv like in older emulators?
-
Day 7 : Was sooooo boored running BeyondCompares
Today been running beyond compares during one hour.
Got fed up and decided to address a client issue that been bugging me for a long time 2013 client that I'm using has a rather special quest window
with multiple tabs.... like WHY?! why would i need this many tabs!!!?
Anyways worse of all is the last tab.... it says episode 14.1 Bifrost.... Hell no!!!
At first, I wanted to remove all unwanted tabs. But knowledgeable people have told me that it could only be done by hexing the client and applying hexes at soooo many places.
So, I decided to let go that idea of removing useless tabs...
However, I did this: (Well white text will have to do for now.... I was running short on time and my parents started to yell at me "Go do your homework!!" well, you got the picture....)
There you go, I fixed it!
That doesn't bug me anymore!
QuoteThat's right, current episode is matching the year 2007. Episode 11.1 Rachel.
Did you ever wonder hos fast time fly by? What were you doing in 2007?
Can you believe it was 10 years ago?
We bet you can still feel it like if it was just yesturday.
Well, this is an attempt to dive into the nostalgia with enhanced experience.And other minor improvements providing authentic gameplay. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here. And some more romantic gibberish here.
-
Day 6 : Paaaiiiin & Booooredom
For past week every day when I'm back from school, right before doing homework, I dedicate 1 hour of my time to
run BeyondCompare sessions on files between Latest Hercules and eAthena revision of 2007 before Satan in Morroc (roughly Episode 11.1 : Rachel )
I compare and see the difference
For instance, this is the screenshot of me working on mob_skill_db.txt
On the left side Osiris Has some new skills in the Latest Hercules. (See the date under file path 2017-07-04)
On the Right side Osiris doesn't have some recent skills as It is old eAthena revision (See the date under file path 2007-02-06)
I also write notes as I go with this process. Otherwise, it is really easy to loose my mind in that process of Pain & Boredom....
Wish me luck and not to loose my mind to boredom.
Doing homework seems so much fun after that!!!!!!
-
9 hours ago, lucasavilez said:But there is.. Like I said get yourself an old eAthena revision
I like this one (It is just before they started to integrate Satan in Morroc)
http://rathena.svn.sourceforge.net/viewvc/rathena/trunk/?pathrev=13414
According to this post
it is 2007.04.10: Episode 11.3 : Nameless Island
Now, download latest Hercules and download this old revision.
Then, run manual BeyondCompare sessions on:
- monster db
- Item db
- npc
and whatever else you want to turn to that episode.
Like I said before, I estimated it to 4-5 months of work.
Unfortunately, I don't have that much time, I need to go to school and do my homework.
-
I wanted to do this
But I don't have time, as I estimated it to 4 months work...
The only usable information I could find is
http://rode.doddlercon.com/db/
section
but there is no more information about previous episodes.
Looking at the eAthena archives of that time and running manual compare
in BeyonCompare or similar software.
But like I said I can't spare 4-5 Months on this...
Therefore, I don't think anyone would like to share their server configuration if they have it configured to these episodes.
lucasavilez reacted to this -
I never did it in windows, but my guess is uhhh......
Hercules-14 requires VisualStudio 2014 ????????????
you are trying to open it in VS 2010
Hercules ships with solution and project files for Visual Studio from 2012 onwards.
source : http://herc.ws/wiki/Compiling
QuoteUsing Visual Studio
Hercules ships with solution and project files for Visual Studio from 2012 onwards.
- Download the latest version of Visual Studio (at the time of writing, MS Visual Studio 2015 Community Edition) and install it, if you do not have Visual Studio already installed.
- Open Hercules-14.sln in your Hercules folder if you use Visual Studio 2015, for Visual Studio 2013, you need to open Hercules-12.sln, for Visual Studio 2012, you need to open Hercules-11.sln instead.
- Select the desired compile configuration (marked red). Use Release when you compile the server, where players will be playing on. Debug compiles the server without optimizations and with debugging information.
- Right-click the solution node (marked blue) and select Build solution. If you have compiled the server before, it is recommended to use Rebuild solution, as it forces the compiling of all components, not just those, which seem to have changed since last compile.
- If the compilation was successful, the resulting executables are in the same folder as the solution named login-server.exe, char-server.exe, map-server.exe and mapcache.exe.
55 -
Well, the message is pretty clear,
Access denied to user root
- Review your MySQL server's root password
- Review your sql_connection.conf
https://github.com/HerculesWS/Hercules/blob/master/conf/global/sql_connection.conf
UPD: No need to duplicate / quote to different categories on the forum, this behavior might get you into trouble...
-
The only other thing I can say is , review your
char-server.conf
and
map-server.conf
...
-
Did you diff your client?
using like a NEMO patcher?
put a checkmark neaar this in NEMO
Disable Packet Encryption
Sorry, that's about all I can say...
-
...
Step
Quote13. Now go to src/common/mmo.h and find the following code :
???
You put the date of your client?
you need to diff your client.
-
When you recompiled your server did you run ./configure with the date of your client?
like so ?
./configure --enable-packetver=YYYYMMDD make clean make sql
Also when you diff your client
try to apply following diffs
Disable Packet Encryption
What else?
[Dev's Diary] Minimal $ Ragnarok online server & comunity
in General Discussion
Posted
Habilis is glad that you like!
For 1 person it's fine
I have a feeling it's fine for up to 10-20 players (will test it soon)
But so far ok.
In virtual life:
In real life: