If you get kicked to the score screen it's likely a desync. You can check your Documents\Warcraft III\Errors folder to see if a desync log was generated. It should generate one for other players as well. In the log it should state what turn the player desynced on, if it's on turn 001 then you either have some async code that runs on map initialization that causes the desync, or the person desyncing played a map before yours and something in their cache is leftover causing a mismatch on your map. I know CreepCampPathingCellDistance and some other gameplay constants can desync when playing different maps.
Crashes are another issue entirely.
If your map is in Lua you also need to make sure all objects are created from within the main function.