]> jfr.im git - irc/gameservirc.git/blob - gameserv/Changes
734fa51aedcae056be5aabdcd1c4c521710c0def
[irc/gameservirc.git] / gameserv / Changes
1 Version 1.3.5
2 * Cleaned up a ton of source code, and segmented all the do_functions into their own
3 files - Kain
4 * Added bahamut 1.8.x as a supported ircd - Kain (thanks sheik)
5 * Fixed a bug that would allow a player to run from a player vs. player fight, but still
6 attack - Kain (thanks bernardocr)
7 Version 1.3.4
8 * Fixed a compile bug for some compilers complaining about cerr not being declared - Kain
9 * Offered a temporary fix for the player vs. player hanging bug. If both players end up
10 locked, priority goes to the first person to attack again - Kain
11 * Added VLife as a new supported ircd - Kain (thanks bernardocr)
12 * Fixed a new bug that crashed gameserv when someone attempted to register a nickname - Kain
13 * SET [playername] HP # now also sets the Max HP for a player if it's lower than what you're
14 setting the hp to. If you type /msg gameserv set player hp 1000, but their maxhp was
15 only 10, their maxhp will now be 1000 also - Kain
16 * Added a new config file directive maxnicklen which lets you enforce a maximum length for
17 registering a new player - Kain (thanks Mauritz)
18 * Fixed a bunch of memory leaks including one when a monster is found in the forest, when
19 the dragon is fought, and when a master is fought - Kain
20 * Fixed a bug that would leave a player logged in after they quit - Kain (thanks Mauritz)
21 Version 1.3.3
22 * Fixed a bug causing players' HP to be set to 10 on gameserv load - Kain (thanks Mauritz)
23 * Removed the timestamp update from the following commands if the player is fighting:
24 STATS, Inventory, and equip - Kain
25 * Added a parameter to the USE command that allows you to specify how many items to
26 use at once - Kain
27 * Really cleaned up the client/player list code. Converted it all to STL lists and changed
28 the players[] list to be a list<Player*> type instead of list<aClient*> - Kain
29 * Added PTLink as an officially supported IRCD, although it should have worked with hybrid - Kain
30 * Fixed a memory leak when a player quits - Kain
31 * Fixed a bug that would allow a player to quit the network while fighting the dragon,
32 come back and fight a monster, and would become the new dragon - Kain (thanks Mauritz)
33 * Restricted character names to alphanumeric characters only - Kain (thanks Mauritz)
34 * Added a fair fight checker which won't allow people who can kill others with one hit
35 to even challenge other players - Kain (thanks Mauritz)
36 * Fixed a bug that would delete a user upon reset or defeating the dragon - Kain
37 * Fixed a compile bug for some operating systems in c_forest.cpp - Kain (thanks Mauritz)
38 * Fixed a bug that occured when a player defeated another player and gameserv /noticed the channel
39 with the wrong name - Kain
40 * Added a php directory to the source folder which contains a script for parsing the players.dat
41 file and put all the data into a mySQL database - Kain
42 Version 1.3.2
43 * Fixed a bug which allowed a player to run from the dragon, then fight a monster from the
44 forest and win the dragon fight - Kain (thanks Kit)
45 * Fixed a bug causing the player to be given the item with id 3001 (stick by default) every
46 time they time out - Kain
47 * Fixed a bug in the do_set() command which caused /msg gameserv set nick alive false/true not
48 to work - Kain (thanks vroomfondel)
49 * Fixed a bug in do_set() which was causing /msg gameserv set seen master false to take off the
50 admin flag - Kain (thanks vroomfondel)
51 * Fixed a few bugs in the do_set() function causing GameServ to crash on /msg gameserv set nick or
52 /msg gameserv set nick action - Kain (thanks vroomfondel)
53 * Fixed a logic error in pouch::addItem() that returned the top inventory item after a resort
54 instead of returning the last item added - Kain
55 * Made gameserv automatically equip the Stick and Clothes on register - Kain
56 * Added a parameter to the TAVERN BUY function that allows you to specify how many
57 items to buy - Kain (Thanks Kit)
58 * Fixed the Player class data to be much more encapsulated. Now, in the code, all access to
59 the data members is through a function - Kain
60 Version 1.3.1
61 * Added most of the monsters submitted as suggestions from the forums - Kain
62 (Thanks DjSlash and CaliMonk)
63 * Implemented DrLnet's Player Fight Notification mod - Kain
64 * Added a config file directive NUMROLLOVERFIGHTS which is the number of forest fights that
65 roll over every ROLLOVERPERIOD - kain (Thanks thelizno)
66 * Added a config file directive ROLLOVERFORESTFIGHTS which will allow you to keep the forest
67 fights from the previous day - kain (Thanks thelizno)
68 * Added a config file directive ROLLOVERPERIOD which will allow you to specify a period of time
69 to rollover the forest fights - kain (Thanks thelizno)
70 * Added a config file directive MAXFORESTFIGHTS which allows you to specify a maximum amount of
71 forest fights a player can roll over - kain (Thanks thelizno)
72 * Changed the percentage of potions found to be 1% - Kain
73 * Fixed the reset function to make sure it adds the proper inventory - Kain
74 * Fixed a bug causing the gsident config file directive to be ignored on
75 UnrealIRCD - Kain (Thanks tsukasa)
76 * Fixed a bug causing players to be shown their own inventory when someone
77 else requested their stats - Kain (Thanks thelizno)
78 * Fixed a bug causing a crash on /msg GameServ use - kain (Thanks thelizno)
79 * Fixed a bug causing a crash on /msg GameServ equip - Kain (Thanks thelizno)
80 * Fixed a bug causing nothing to happen 2% of the time when you search the forest. This was
81 supposed to be when you find a potion, but it wasn't added since the new Item system. - Kain
82 (Thanks Tsukasa)
83 * Fixed a bug in the masteritems.dat file causing the chain saw to take 1 strength point
84 away instead of add 185 - kain (Thanks Tsukasa)
85 * Fixed a bug causing the amount of gold when you find a sack of gold to be calculated
86 really low - kain
87
88 Version 1.3.0
89 * Added a new config file directive "localhost" to specify an address to bind to - kain
90 * Added a new config file directive for maximum number of items a player
91 can carry - kain
92 * Added www.gameserv.us website to the startup banner
93 * Completed new item system: http://www.gameserv.us/viewtopic.php?t=21 - kain
94 * Added a new config file directive for the master item data file - kain
95
96 Version 1.2.6
97 * Implemented the new dragon/boss system as suggested by Tsukasa:
98 Whenever someone beats the dragon, their player is placed in the Dragon's spot
99 guarding the lair. All other attempts to fight the dragon will cause a duel
100 between your old character and the challenger. You essentially become the new
101 dragon, but the old character's name gets a DRAGON- next to it. You are also
102 now reset back to level 1 - kain w/ thanks to Tsukasa at watnet.org for the idea
103 * Changed the way the sacks of gold and extra experience point forest
104 events were calculated. It is now just as if you killed a monster
105 and didn't have to fight - kain
106 * Fixed the socket code to allow for hostnames to be put in the
107 gameserv.conf for remoteserver instead of just IP addresses - kain
108 * Added capability for GameServ to identify with NickServ on connection - thank you
109 Tsukasa and watever
110 * Added a /msg GameServ SET command with various options - kain
111
112 Version 1.2.5
113 * All level master data is now being stored in data/masters.dat - kain
114 * Added a new config file directive that allows you to specify whether or
115 not you want gameserv to send notices to the channel every time it
116 writes the player database - kain
117 * Some under the scenes changes have been made with the way players' and
118 monsters' names, weapons, and death phrases are being stored which
119 should make for less memory leakage and minimized overall memory
120 usage - kain
121 * Fixed a minor bug where gameserv was not notifying of a syntax error in
122 /msg gameserv store buy x x - kain (thank you wolfgar)
123
124 Version 1.2.4
125 * Monsters are completely generated except for the names, weapons, and
126 death cries. A range is set for each level's strength, gold, exp, and
127 hp, and a new monster is generated at random during every forest
128 search. This makes for a more unique gaming experience at the expense
129 of some cpu time on random number generations - kain & wolfgar
130 * The structure for holding monsters is now different. Monsters are all
131 stored in the monsters subdirectory in levelx.dat files where x is
132 the level 1 through 12. This will allow for an arbitrary amount of
133 monsters per level - kain & wolfgar
134 * Every time a new news item is added, GameServ announces it in the forest
135 channel - kain
136 * Added a notice to the forest channel that the player data was
137 saved - kain
138 * Fixed some things with the upper limts of money and experience - kain
139 * Changed the command LIST so it only lists people who are playing.
140 To get a full list, use LIST ALL - kain
141 * Added two new config file options which allow you to specify how
142 long to wait before deleting level 1 and other levels' accounts
143 separately - kain
144 * Added a new command CHECK which will display the amount of time until
145 the next refresh - kain
146 * Added a new config option to specify a refresh period in seconds.
147 Now you can specify how often you want the players to be given
148 new forest fights, etc... - kain
149 * Fixed bug causing negative funds to be deposited into an account
150 (bugID 966653) (thank you Jono H - xjono)
151 * Fixed a bug causing players to be duplicated on /msg gameserv
152 load - kain
153 * Added Ultimate2.8.x support - kain
154 * Healing potions can only add up to 100 over your max HP now - kain
155 * Changed the logic for the wishing well forest event. It now adds back
156 a forest fight if you were broke - kain
157 * Fixed a bug causing the wrong bonuses to be added when a level was
158 gained, and none to be added on the last level - kain
159 * Added daily news with automatic additions when you gain a level,
160 unsuccessfully best your master, kill someone, or are killed - kain
161
162 Version 1.2.3
163 * Took experience out of calculating the cost of potions - kain
164 * Added even more strength to masters (your defense bonus for each level)
165 to try to even out the fight - kain
166 * Added more strength to monsters past level 7 and changed the masters'
167 stats accordingly - kain
168 * Changed the fountain forest event to not take a forest fight if your
169 HP is at max - kain
170 * Added more experience per monster past level 7 - kain
171 * Added a new forest event (find a potion) each potion has a 1/5 chance
172 of being the one you found, and you have a 2% chance of incurring
173 this forest event - kain
174 * Added notification that a player used a potion during a fight to the
175 player they are fighting - kain
176 * Added potions to the stats command - kain
177 * Made the code a bit less dependent on 12 levels - kain
178 * Added a new parameter to the list command that allows listing only
179 those that are online and playing - kain
180 * Added a new command "Dragon" which lets you fight the end boss - kain
181 * Doubled the required experience for fighting masters - kain
182 * Fixed a cosmetic bug (sorta) that caused your HP not to read 0 when
183 you're dead (thanks Ricky-S) - kain
184 * Fixed a divide by 0 bug that occurred when you attacked, but had no
185 weapon (BugID 946043) (thank you NOTevil) - kain
186 * Fixed a logic error allowing players to bank during a fight - kain
187 * Added more gold per monster above level 4 - kain
188
189 Version 1.2.2
190 * Fixed a logical error causing the ListenOnCF flag to only work in P10
191 servers - kain
192 * Fixed the store command to display syntax on improper sequence of
193 commands (thanks damaged) - kain
194 * Added monsters for levels 10, 11, and 12 (created by damaged, edited
195 by kain) - kain
196 * Made the masters stats match the next level's monsters' stats a lot
197 closer - kain
198 * Fixed a bug that crashed gameserv on /msg gameserv master - kain
199 * Made welcomemsg an optional config file option. If commented out
200 or deleted, gameserv will not send the welcome message
201 (requested by zshack)- kain
202 * Made the ignoreservers config file option work for Unreal - kain
203 * Fixed a minor logical problem that was causing players to be mugged
204 for 0 gold when they were either dead or had no gold on hand and
205 they timed out (thanks Rehm) - kain
206 * Fixed the bug not allowing different config files to be used - kain
207 * Added an optional config file directive BOPER which makes
208 gameserv become an oper on the network - kain
209 * Added an optional config file directive USEPRIVMSG which makes
210 gameserv use /msg instead of /notice - kain
211 * Made the ignoreservers config file option work for bahamut - kain
212 * Fixed an error in do_register that was not adding the client to the
213 players list correctly, causing newly registered players to be
214 locked out of identifying until the next gameserv restart - kain
215 * Fixed an error that crashed GameServ if you tried to fight a player
216 lower than the configured level - kain
217 * Reduced the effect of potions since the price is down - kain
218 * Reduced the price of potions significantly - kain
219 * Added a few timeout events if you're not in a fight - kain
220
221 Version 1.2.1
222 * Included a crontab script in all new distros now - kain
223 * Added a new flag that tells wether a person is playing instead of
224 relying solely on pointers - kain
225 * Added a mechanism to ignore on a nick to nick basis, and implemented
226 code to auto-ignore nicks on certain servers - kain
227 * Changed the HASH command to iHASH (case insensitive) and sHASH (case
228 sensitive) - kain
229 * Gameserv no longer opers - kain
230 * New config file directive: listenonc_forest... see
231 gameserv.example.conf - kain
232 * Fixed a bug in identify that was causing players to be shown as not
233 playing (after the change in functions) - kain
234 * Fixed up the is_playing boolean function to be more strict - kain
235 * A true timestamp is now sent on SJOIN for hybrid servers. TS of 1
236 was messing things up - kain
237 * Logs are now timestamped as follows: mm/dd/yyyy HH:MM:SS - kain
238 * Added a timeout mechanism with two new config file options - kain
239 - If players are fighting, and the one who's turn it is times out,
240 they lose their turn. If they both timeout after that,
241 they are logged out.
242 - If players are not fighting (player fights), they are simply
243 logged out.
244 * Fixed a major bug causing a crash when players fought - kain
245 * The gameserv server now attempts 3 reconnects if disconnected - kain
246
247 Version 1.2.0
248 * Took +devel out of the version reply in gameserv.cpp - kain
249 * Implemented a hashing algorithm for extremely fast searches through
250 the players and clients linked lists - kain & wcampbel
251 * Fixed some of the fight code - kain
252 * Added a logout command so you don't have to quit the IRC Network to
253 stop playing - kain
254 * Fixed a bug that was causing players not to be voiced on the forest
255 channel on P10 servers - kain
256 * Added a missing code segment to decrement the player fights per
257 day when you fight another player (reported by MaCbLiNd) - kain
258 * Fixed a bug that allowed the same player name to be registered any
259 number of times - kain
260 * Fixed a problem in when players quit on a P10 server, the /msg
261 gameserv list shows the irc nick as not NULL because it was only
262 setting the regular nick and not the realnick - kain
263 * Fixed a logic error in the identify command that caused players to be
264 falsely shown as identified - kain
265 * When a player logs off during a player fight, the fight now ends.
266 Before it was held in limbo - kain
267 * Fixed a bug in the fight command requiring you to use an irc nickname
268 to fight (BugID 927789) - kain
269
270 Version 1.1.9
271 * Added 2 new config file directives (maxafightdistance and maxbfightdistance)
272 These allow you to set limits on the distance (in levels) two players
273 are allowed to fight with. See gameserv.example.conf for more info. - kain
274 * Fixed a bug in the identify command that falsly showed a player as
275 already being identified. - kain
276 * Created Monsters for level 9 - kain
277 * Added the beginnings of an end monster - kain
278 * Slightly adjust the weapon and armor bonuses to prevent a divide by zero
279 exception (reported by wassup). - wcampbel
280 * Prevent players from issuing a FIGHT against a dead player (reported
281 by wassup). - wcampbel
282 * Fixed a core in RUN if a client wasn't playing. - wcampbel
283 * Added an option to specify the PID file in the config file. - kain
284
285 Version 1.1.8
286 * Missing directives now are identified for config files upon startup - kain
287 * Added a --help option to the gameserv binary - kain
288 * Added an optional command line parameter to load a config file - kain
289 * Added a nifty startup intro with the version number. - Kain
290 * Fixed BANK BALANCE (BugID 895157) - wcampbel
291 * Completely removed the midnight() function code, and replaced it with
292 some struct tm functionality with the localtime() function. - kain
293 * Major changes to the Makefile, cleaned up a number of rules and added
294 dependencies (via make depend). - wcampbel
295 * Corrected the VERSION reply, it broke ircII. - wcampbel
296 * Fixed some P10/other protocol issues - wcampbel
297 * Removed the old hard coded monsters entries. - wcampbel
298 * Made gameserv load as a true daemon. gameserv.pid now contains the pid
299 for the gameserv process. No more run script. - kain
300 * Fixed a bug that caused the identify function to segfault. - kain
301 * Fixed some P10 Functionality - kain
302 * Merged in the Hybrid patch - wcampbel
303
304 Version 1.1.7
305 * Added P10 Functionality (ircu-2.10.11.x)
306 * Created Monsters for level 8
307 * Increased the size of the monster struct to account for longer names,
308 weapons, and death phrases.
309 * Created Monsters for level 7
310 * Fixed a bug causing the bank balance command not to work correctly.
311 (Thank you wcampbel)
312 * Added HP potions to increase maximum HP.
313 * Made strength and defense potions add either 1 or 2 points rather than
314 0, 1, or 2.
315 * Made the monsters a bit harder. I found that as the game progressed,
316 it got easier and easier instead of harder.
317 * Fixed the forest events from happening too often. Also, the fountain
318 forest event specifically was adding too many forest fights, making
319 the day never end.
320
321 Version 1.1.6
322 * Added a Reset command to GameServ that functions the same was as the
323 refresh command, except it completely resets a player to the beginning
324 of the game.
325 * Fixed a bug that would cause monsters to have extremely high HP after
326 loading the monster database.
327 * Tweaked the forest events percentages. They happened too frequently.
328 * New player database format:
329 - Alive/Dead is no longer saved as a word in the database. It is
330 saved as a flag.
331 - 3 new integer values were added to the end of every player string
332 representing their inventory (healing, strength, and defense
333 potions).
334 * Changed the Player structure to use 2 new flags which eliminated 2
335 boolean values (alive & yourturn) to save a little memory.
336 * Fixed a bug that allowed a player already in a fight to be challenged
337 by another player. The other player was then locked into the fight
338 with no way out.
339 * Added a use command that allows a player to use items in their inventory.
340 Currently the only items are health, strength, and defense potions.
341 Command may be used in battle, but it costs you your turn.
342 * Changed the stats command so that it takes the player name as
343 the stats request. You type /msg GameServ stats nick still, but
344 nick no longer has to be on IRC. You use the player name instead of
345 the IRC Nickname.
346 * Added a new hybrid patch to the contrib dir. (Thank you wcampbel)
347 * Fixed a problem in the display_help() function that could cause a bus
348 error. The problem was with changing literal text when passed to the
349 function as a filename. The function now copies the data as a local
350 variable and modifies that. (Thank you wcampbel)
351 * Fixed a bug that allowed a player to be registered twice if the player
352 was not online. (Thank you wcampbel)
353 * Added an inventory command which allows players to view how many
354 potions they are storing.
355 * Added a tavern command which allows players to buy potions and store
356 them in their inventory for later use.
357 * Made some cosmetic changes to this file.
358 * Added an inventory class Pouch which allows players to carry around
359 things such as potions and such.
360
361 Version 1.1.5
362 * Added a missing help file admin_commands. It was written before, but
363 somehow was deleted.
364 * Admins can now identify as any user without having the correct password.
365 * Fixed a bug that allowed for two nicknames to identify for the same player.
366 * Added a forestfights directive to the config file so admins can set the
367 default daily forest fights.
368 * Added a die directive to the config file that will not let you start
369 GameServ if it is present.
370 * Inputted monsters for Level 6. Six more levels left unfinished.
371 * Changed confloadtime directive to welcomedelay directive in the config file.
372 This made more sense.
373 * Added an updateperiod directive to the config file. This represents the
374 period (in seconds) for updating the player data file. Every time the
375 gameserv server gets a message it will check to see if "updateperiod"
376 seconds or more have elapsed since the last update.
377
378 Version 1.1.4
379 * Fixed the welcome msg sending "ICK" instead of the nickname of a new
380 aclient. (Thank you wcampbel)
381 * Load now has an optional parameter "monsters" which will force a load of the
382 monsterdata file. This is useful for changing monsters on-the-fly.
383 * Added a load_monsters function that loads from a preconfigured monsters.dat
384 file instead of hard coding the monsters into the array. Users can now
385 change the monster configuration around without knowing C/C++.
386 * Added a new directive to the config file: confloadtime
387 this represents the delay (in seconds) until GameServ sends a welcome
388 message to incoming clients.
389 * Added the welcome message to the config file. See gameserv.example.conf
390 for more info on how to use the variable as a formatted string.
391
392 Version 1.1.3
393 * Removed a lot of extra list searches by changing all of the boolean
394 functions to take aClient as a parameter instead of a nickname string.
395 * Added an is_alive boolean function. Players must now wait until the next
396 day to play again.
397 * Saving the player->flags integer to the players.dat file. Old databases
398 will not work.
399 QUICK FIX: put a 0 to the left of the encrypted passwords for all player
400 entries so the database can load properly. Look in flags.h for a
401 description of the way flags work.
402
403 Version 1.1.2
404 * Added a /version reply
405 * Fixed the Makefile to include configscript.cpp
406 * Added a join message when people connect to the IRCD. The message is set
407 on a delay so that on the initial nick burst, the services do not send
408 everyone the message.
409 * Changed the admin commands from a simple password interface to a more
410 sophisticated flags approach. Now you have to identify with the
411 administrator password once, and your flags indicate that you are an
412 admin for all commands.
413 * Full help files available in corrected form for the new administrator type
414 commands.
415
416 Version 1.1.1
417 * Added some admin features.
418 - Refresh
419 * Added help menu functionality for all commands.
420 * Fixed the register command so it notified the client that registration
421 was successful.
422 * Changed the master command so that you didn't have to fight your master
423 if you had enough experience. There is now a question/fight subcommand
424 set for the master command.
425 * Tweaked the masters a bit. Basically, they were too tough. Once a player
426 had enough experience, they had no chance against their master until
427 they got the next two weapons up. This made the next level too easy.
428 Past level 1 still needs tweaking.
429 * Added functionality for bahamut IRCD
430
431 Version 1.1.0
432 * Added autoconf functionality to the gameserv package. Does not compile
433 correctly on SunOS without tweaking.
434 * Fixed the game so that players stats reset at midnight UTC + 8 hours.
435 time(NULL) - (time(NULL) % 86400) + 3600 * 8
436 * Added a contrib directory with a user submitted patch for hybrid ircd.