Commit graph

95 commits

Author SHA1 Message Date
Pokechu22
8a4b67c93e Add 1.11 to the list of accepted protocols 2016-11-14 15:39:41 -08:00
ORelio
9cd983c50d Add support for Minecraft Service DNS Records
- Add DnDns library for performing DNS queries
 - Add query method for SRV record
 - Resolve Minecraft services

This allows resolving actual server addresses for
servers using SRV records on their domain names

SRV records are basically DNS redirection eg:

  myserver.net -> srv1.myserver.net:12345

Should solve #186 reported by sammyvsparks and many others.
2016-10-06 19:13:58 +02:00
ORelio
f82cb8f83a Fix exceptions not handled in DoHTTPSRequest
Bug report by GetPots. Thanks!
2016-09-24 13:48:39 +02:00
ORelio
2a07fbbae6 Remove tab display name experiment (not working)
- Tab display names should hold display name but...
 - Server sends <UUID, name, null> x Player count
 - TabListPlus sends <SlotID, ???tab#01, SlotText> x Slot Count
 - So we don't have player display names, only worthless slots
 - So the whole feature was useless, reverting to name only.
2016-08-27 15:46:34 +02:00
ORelio
9a98a9d46f Store extended player info, list display names
- Add 1.10.1 and 1.10.2 in supported version list
 - Store both player name and player display names
 - List command will sort players by player name
 - List command will now display by display name
 - Ability to use /list raw to display by real name

Suggestion by Johngreen123
2016-08-22 19:40:58 +02:00
ORelio
d3a54e8caf Add support for MC 1.10.0
See #159
2016-06-09 21:10:57 +02:00
ORelio
5e6f4d3af9 Add 1.9.3 and 1.9.4 2016-05-11 23:00:40 +02:00
ORelio
0b32bb5a0f Differenciate 1.9.1 and 1.9.2
See #135
2016-03-31 22:16:26 +02:00
ORelio
e2bf4e3063 Add MC 1.9.1 and 1.9.2 as supported versions
See #135
2016-03-31 19:25:52 +02:00
ORelio
d45f75f9f4 Reduce output verbosity, default session cache
- Memory session cache will be used by default
 - Verbose messages are now hidden by default
 - Improve ping procedure's Forge handling
 - Fix 1.8.9 and 1.9.0 in mcversion setting
 - SessionCache.cs: fix LF into CRLF
 - Use 1.9 translations instead of 1.8
2016-03-10 13:29:05 +01:00
ORelio
82e92f984b MC 1.9 : Add missing compatibility list entries 2016-03-05 19:33:44 +01:00
ORelio
578a6170ef Lower .NET requirement for Session Token
Changing constructs that weren't .NET 4.0 compliant.
Also fix \n to \r\n line returns in ProtocolHandler.cs
2016-03-05 19:10:13 +01:00
Justin Slauson
fec1687cb7 Updated docs and cleaned up. 2016-03-02 18:16:19 -07:00
initsuj
57c53be09f caching works. needs documentation and testing 2016-03-02 17:11:15 -07:00
Justin Slauson
64606c128f new token requests implemented. testing a success response is proving difficult. invaliding the token in a way that it can be refreshed is not documented. 2016-03-01 21:15:17 -07:00
Justin Slauson
fa2dbfef1a clientToken param info added to docs 2016-03-01 20:00:02 -07:00
Justin Slauson
7230cd726b validates with saved clienttoken 2016-03-01 19:58:04 -07:00
Justin Slauson
2861be757f clienttoken is created (if not passed) and added to auth request, then returned 2016-03-01 19:53:35 -07:00
Justin Slauson
8c065320c2 validates token successully 2016-03-01 19:40:54 -07:00
ORelio
49702e30b8 Add block material database
Taken from Bukkit's Material class, with credits.
Allows to know types and properties of blocks.
+ Use database for "is solid" checks
+ Add "can harm players" method
+ Faster movements, falling seems natural now
+ Shorter error message when ping failed
2015-12-09 23:04:00 +01:00
ORelio
5654871a57 First attempt at Realms list retrieval
> See #51 - Realms Support
+ Catch exception while retrieving player head
2015-11-27 16:52:45 +01:00
Pokechu22
7cc87d8e71 Detect and store the list of forge mods. 2015-10-24 15:06:13 -07:00
ORelio
29975da627 Merge onlyforlogin and enabled in proxy settings
The 'enabled' setting can now be set to 'login' for enabling proxy only
for logging in to the Minecraft account, and then connect to the server
directly without proxy. Useful when Minecraft login is blocked on some
network, but not Minecraft servers (port 25565) (original idea and
enhancement by ZizzyDizzyMC)
2015-10-22 20:56:08 +02:00
Pokechu22
295dfe717e Fixed issues with passwords containing unicode special characters.
The main fix is the change to ProtocolHandler's jsonEncode method.  Previously,
it used 'char.IsLetterOrDigit' to see if it needed to be escaped, but some
chars, such as "Ð", count as a letter but still need to be escaped.  The fix is
to check if it's in the right range, rather than using that method.

There's also some changes to those methods for performance and clarity reasons.
Most of this is using a StringBuilder rather than appending to the string.  Not
too important, but it makes things clearer.
2015-08-17 11:11:09 -07:00
ORelio
3a760240e4 Move 1.7 handling into 1.8 handler
Minecraft 1.7 handler was pretty similar
to 1.8 handler and lacking some features
such as packet prefetching.
2015-07-30 16:47:58 +02:00
ORelio
729960d4a3 Add 1.8.8 as supported version 2015-07-30 12:37:29 +02:00
ORelio
a7f0897f09 Add 1.8.5 - 1.8.7 as supported versions
+ Improve wording: answer -> respon[d|se]
2015-06-19 18:42:24 +02:00
ORelio
834e446a74 Add 1.8.4 in supported version list
+ minor fixes to ConsoleIO
2015-05-13 10:59:46 +02:00
ORelio
6261e7adb7 More startup error handling
- Pass minecraft login failure message to AutoRelog bot (suggestion by
doranchak)
- Fix NullReferenceException in McTcpClient caused by SocketException in
ProxyHandler
- Refactor error handling code in Program.InitializeClient()
- More detailed error messages on network errors.
2015-04-20 17:26:16 +02:00
ORelio
791ecba454 Add timeout for server ping
Thanks doranchak & FantomHD (post no.1193)
+ Add missing doc for MinecraftVersionPrompt
2015-04-14 15:36:51 +02:00
ORelio
05a141c50d Improve offline interactions
- Add prompt for Minecraft version
- Improve offline-mode command prompt
- Fix default value on parse error in protocol handler
- Fix failed to connect not showing offline prompt
2015-03-25 22:50:20 +01:00
ORelio
7757d5ae03 Upgrade login/session timeout to 30 seconds
Might help when login/session servers take a long time to respond.
2015-03-25 22:14:38 +01:00
ORelio
e3c38ed6ac Update version info for 1.8.2 release 2015-03-11 19:58:39 +01:00
ORelio
391eca102c Add 15 seconds timeout to session and login
Add AutoTimeout class for use on login and session requests.
Bug report by GamerCorey7.
2015-01-27 20:38:59 +01:00
ORelio
2dec21ddc7 Add Minecraft 1.8.1 in supported version list
Allows support for version=1.8.1 in config file
2014-11-11 12:36:15 +01:00
Lauchlin Wilkinson
006a1a5f4b Missed ushort in protocol handler 2014-11-06 17:59:19 +11:00
ORelio
8eb71bd3f8 Fix SSL errors not properly handled
Mono throws SSL errors as IOException when using SSLStream, instead of
AuthenticationException.
2014-09-06 18:19:39 +02:00
ORelio
88b8399c5c Add support for MC 1.8 protocol
Lots of changes in 1.8 protocol so a new protocol handler was necessary
Packet (de)compression done with dotNetZip Zlib compression engine
1.4.6-1.7.10 support is still there thanks to app refactoring
2014-09-04 13:58:49 +02:00
ORelio
31e53c2dbd Add 1.7.10 in mcversion INI setting
"1.7.10" can now be used to designate protocol v5.
2014-08-18 13:33:50 +02:00
ORelio
42e706d1a7 Player head as console icon
For Windows only
Idea from TNT-UP
2014-06-30 13:55:51 +02:00
ORelio
8b5ce567a6 Add setting for manually choosing MC version
- User can manually provide server version in config file
- Server is not pinged if a minecraft version was manually provided
- If the provided version isn't recognized, ping is re-enabled
2014-06-14 16:01:19 +02:00
ORelio
068b87a11a Variable engine done, catch bot exceptions
- %variable% variables can be declared in the INI file and used
elsewhere
- Default argument 'true' for WriteLineFormatted in ConsoleIO
- Exceptions thrown by bots no longer disconnect from the server, stack
trace is printed instead
2014-06-11 20:40:25 +02:00
ORelio
898a04a843 Various fixes
- Re-add support for MC 1.6 chat color names
- Re-add support for MC 1.5- vanilla whispers in ChatBot
- Add /connect in main chat prompt (reported by TNT-UP)
2014-06-03 13:05:53 +02:00
ORelio
84ba8fd0ae Fix special chars in minecraft passwords
Bug report by TNT-UP
2014-06-02 11:21:05 +02:00
ORelio
d2ec2f48b7 App refactoring almost done
- Created specific namespaces and folders for each app brick
- Added proxy support using Starksoft's Biko Library
- App bricks: Main, ChatBots, Crypto, Protocol, Proxy
- Each class is now in its own file (Aes streams, chatbots)
- Used "Bridge" design pattern for Crypto, Protocol, Proxy
- Added back support for Minecraft 1.4.6 to 1.6.4 (MCC 1.6.2)
- Need to fully re-test everything and fix bugs
- To Fix : Server pinging is slow on SpigotMC
- To Do : Add Minecraft 1.2.5 (MCC 1.3) and maybe 1.3 to 1.4.5
2014-05-31 01:59:03 +02:00