• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

[HostBot] How to detect hostbot validity?

Status
Not open for further replies.
Level 23
Joined
Feb 6, 2014
Messages
2,466
Let's say that I have a host bot named "FluxBot" hosting a map. How can I make it so that only my bot can host the map and no other host bot can?

I tried using GetPlayerName on Player11 (Observer) but it did not return "FluxBot". Any workaround?

Please don't give me answer such as why you wanna make it so that only "FluxBot" can host the map, this is a theoretical example only, I don't really have a bot and other people tested it and showed me a screenshot of the result that GetPlayerName doesn't return the correct name
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,204
Let's say that I have a host bot named "FluxBot" hosting a map. How can I make it so that only my bot can host the map and no other host bot can?
This is generally a bad idea. Eventually, once you have long given up WC3, you will not operate a robot anymore and people may still want to play the map. If you plan to do this for official host events then consider also releasing a version of the map with those features disabled but not requiring a host robot.

I recall there being some way to communicate with robots using some synchronization natives. This was used by one of the RISK game communities to provide minimap streams of active RISK sessions on their robots.

What one could do with this is implement a asymmetric encryption system into WC3 and use that to try and validate the if the robot is authentic. This would be done by the session sending a random message to the robot to encrypt with its private key and return. The session then decrypts the encrypted message with the public key and checks if it matches the original message. This adds some level of protection against people imitating your robot, however from a security point of view the private key may weaken over time if someone actively tries to solve it.
 
Status
Not open for further replies.
Top