forked from uakfdotb/gcb
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCHANGELOG
123 lines (115 loc) · 7.62 KB
/
CHANGELOG
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
1.0.1
* on startup, multithreaded room connection instead of previous sequential connection method
* introduce flag-based log level to allow user to decide which messages to log
* username and password for room connections can be set on a global level
* other minor changes are listed below
- REVERSE by default will use any free port rather than specific ports
- allow multiple broadcast targets to be set
- update references from codelain.com to ghostpp.com
1.0.0
* LAN list is updated using REFRESHGAME and DECREATEGAME packets
* option to reconnect only when gcb detects room is idle
* memory consumption decreased with strict maximum packet settings (means smaller buffers)
* host bot hostname/port combined into one configuration setting
(this means that you can have host bots on multiple servers)
* added rcon tool: allows commands to be sent through sockets
* exiting nicely feature to shut down gcb without disconnecting already-connected players
* automatic port selection to allow gcb to decide which port to bind to (UDP peer port)
(this is now the default option)
* TCP connection pruning is enabled (timeout on Garena TCP)
(there is an odd bug where connection inexplicably is not terminated after GHost times out;
while this resolves the symptoms of that issue, the issue itself likely remains)
* other minor changes are listed below
- added periodic gcb status message
- added feature to rewrite gamename, for adding prefix or suffix (ex: colored gamenames)
- updated library dependencies to newest versions as of April 18
- save memory with smaller buffers in Garena TCP and enforcing packet size limits
- logging when a single log file is used will be done without file locking (new stream initialized for each out line)
- tweak REVERSE settings to allow more games, and change port away from 6112
- fix: unknown type messages only show in debug mode
- fix: old games still removed even if no more UDP packets are received
- fix: avoid crash when invalid packets received on broadcast port
- fix: members and TCP connections no longer cleared when unrelated service disconnects
- fix: gcbi-extend patch no longer causes players to disconnect when twelvth player is kicked
- fix: resolved null pointer exception if main server authentication fails
- fix: member information display is optional and different Garena connections won't overwrite each other
- fix: null pointer exception when log rotation is enabled but logging is not
- fix: terminate on startup connection errors instead of silently quitting initialization
- fix: might resolve issue where multiple games do not appear on the LAN gamelist
- fix: multiply smoothed RTT time by two in addition to current standard retransmission timeout
- fix: bug with REVERSE after the 0g update involving Garena Interface reading the wrong configuration value
- fix: con2.garenaconnect.com is outdated, updated to con3
- fix: srttg is now actually the clock granularity (interval that packets are checked for retransmission)
- fix: bug when we continuously disconnect from a room that causes continously increasing thread count
0g
* multiple Garena connections can be specified in the configuration file to broadcast games to multiple rooms
this replaces the rebroadcast feature, although rebroadcast is still supporetd
* several improvements to the virtual TCP connection
- improved virtual TCP by buffering local packets, so that one TCP packet is sent as one UDP packet over the virtual connection
- standard retransmission now uses a priority queue for efficiency and is checked every 20 milliseconds
- implemented smooth round trip time to determine standard retransmission timeout per RFC 2988
* clients are notified of games only when they request through STARTGAME packet, unless a game was just hosted
* de-support: gcb_bot is no longer supported; use garena_room_control instead
* other minor changes are listed below
- MySQL reconnection implemented
- if the first address lookup fails, gcb will continue to lookup until a response is received
- fix: concurrent exceptions should be fixed
- fix: various bug fixes in gcb_bot
- fix: peer reconnect works properly now
- fix: null pointer exception on reconnects
0f
- Plugin system improved, trivia plugin available for download
- Multiple SQL connections are supported (thread-safe)
- Kick with reason supported
- Logging can be arranged so that a new file is created for each day
- Bind address can be configured
- Room updates sent to main Garena server so that the bot can be traced to a room from friends list
- Virtual TCP can be buffered so that gcb captures packets such as the join request for several purposes
- UDP packets can be filtered so that only games from one GHost++ instance are sent
- Rebroadcast is supported, where received UDP packets are broadcasted to different ports so multiple gcb instances can be run on one server
- XP packets are sent by gcb so that the bot will gain XP while in the Garena room
- Password-protected rooms are supported
- GCBI protocol established, where information can be sent to GHost++ (such as Garena user ID and user's actual IP address)
- fix: various issues with virtual TCP connection
- fix: reconnection should be working well now; bots should not disconnect
- fix: plugin failure will not cause problems elsewhere in gcb
- fix: correct internal port sent to main server and room server
0e
- Support for REVERSE (connect as a client to Garena hosts on Garena-unsupported systems) added
- Autoban based on presence of specific words in user chat
- Two more public commands, rand and time
- Admins can now clear the output queue to prevent bot from being flooded
- No access message and public commands can be disabled
- Support for plugins that implement gcb.plugin.Plugin
- gcb_list: supports nonhuman format meant to be read easily by computers
- Lots of other changes to bot
- fix: SQL queries should now be safe from injections
- fix: TCP FIN is sent four times to emulate Garena client
- fix: UDP broadcasts only sent to playing members
0d
- Added channel admin commands (will only work if gcb is logged in to room as channel admin)
- gcb_bot: added several commands and functionality (by XIII.Dragon)
- Commands can now be sent to a modified GHost bot through gcb_bot; modification required: http://www.codelain.com/forum/index.php?topic=17803.0
- fix: gcb will read fully byte arrays now; fixes a few problems, including not reading the entire list of users in a room
- fix: chats of longer than 150 characters will be split
- fix: significant problem in virtual TCP protocol involving packet retransmission is now fixed
0c
- gcb_list: Initial release.
- rooms.txt is now included, with a list of rooms with information necessary for configuration; rooms.txt is generated by gcb_list
- Whispers implemented (gcb_bot: new command added, !w <username> <message> to whisper)
- Reconnection script added
- Required libraries are now packaged with gcb for ease of use
- TCP buffer size has been increased; map downloads should now work
- Multiple game host ports can now be specified (gcb_tcp_port)
- Logging to file implemented (with datetime printed as well)
- fix: GarenaEncrypt will now try to automatically determine internal IP address
- fix: GarenaInterface: packet sizes for certain packets is now correctly based on three bytes instead of two or four bytes
0b
- gcb_bot: Initial release.
- Configuration can be changed without recompilation through modification of gcb.cfg
- Several useless messages are no longer displayed to commandline
- fix: GarenaTCP: packets are now saved
- fix: GarenaTCP: acknowledgement number and sequence number should now be correctly implemented
- fix: GarenaTCP: packets to local GHost++ are sent in order of sequence number
0a
- Initial release.