I am still seeing issues with this, although perhaps I am seeing the behaviour you intend.
I have a server running 1.7.2-10.12.1.1082. 32 mods installed.
I have a client running 1.7.2-10.12.1.1082 with the same 32 mods, plus 3 extra client-side-only mods which are:
[1.7.2]DamageIndicatorsMod-3.1.1.jar
AutoSwitch-v5.0.0-mc1.7.2.jar
InventoryTweaks-1.57-116.jar
When I click Multiplayer in the client, the entry for this server shows up with a big red cross:
http://s8.postimg.org/7put06zs5/Screen_shot_2014_05_15_at_1_15.gif[/img]
If I hit Join Server anyway, it does work fine, so it's not actually preventing me from connecting.
The behaviour I expect is that if the client can connect to the server without problems, the red cross would not be shown. So if the server has server-only mods or the client has client-only mods, no cross would appear.
Server side log of the client connection:
[13:21:13] [Netty IO #6/TRACE] [FML/]: $ClientHello->FMLHandshakeServerState$2:HELLO
[13:21:13] [Netty IO #6/INFO] [FML/]: Client protocol version 1
[13:21:13] [Netty IO #6/TRACE] [FML/]: $ModList:35 mods->FMLHandshakeServerState$2:HELLO
[13:21:13] [Netty IO #6/INFO] [FML/]: Client attempting to join with 35 mods :
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] - 2.4,
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] - 2.4.2,
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],EnderTanks@rev15,
[email protected],
[email protected],
[email protected],
[email protected] - 2.4.1,
[email protected]_1.7.2,
[email protected],
[email protected],
[email protected]
[13:21:13] [Netty IO #6/INFO] [FML/]: Attempting connection with missing mods [] at CLIENT
[13:21:13] [Netty IO #6/TRACE] [FML/]: $HandshakeAck:{2}->FMLHandshakeServerState$3:WAITINGCACK
[13:21:13] [Netty IO #6/TRACE] [FML/]: $HandshakeAck:{3}->FMLHandshakeServerState$4:COMPLETE
[13:21:13] [Netty IO #6/TRACE] [FML/]: $HandshakeAck:{4}->FMLHandshakeServerState$5:DONE
[13:21:13] [server thread/INFO] [FML/]: [server thread] Server side modded connection established
[13:21:13] [Netty IO #6/TRACE] [FML/]: $HandshakeAck:{5}->FMLHandshakeServerState$5:DONE
Client side log:
[13:21:13] [Netty Client IO #5/TRACE] [FML/]: $ServerHello->FMLHandshakeClientState$2:HELLO
[13:21:13] [Netty Client IO #5/INFO] [FML/]: Server protocol version 1
[13:21:13] [Netty Client IO #5/TRACE] [FML/]: $ModList:32 mods->FMLHandshakeClientState$3:WAITINGSERVERDATA
[13:21:13] [Netty Client IO #5/INFO] [FML/]: Attempting connection with missing mods [DamageIndicatorsMod, autoswitch, InGameInfoXML] at SERVER
[13:21:13] [Netty Client IO #5/TRACE] [FML/]: $ModIdData:1252 mappings->FMLHandshakeClientState$4:WAITINGSERVERCOMPLETE
[13:21:13] [Netty Client IO #5/INFO] [FML/]: Injecting existing block and item data into this client instance
[13:21:13] [Netty Client IO #5/DEBUG] [FML/]: Registry consistency check successful
[13:21:13] [Netty Client IO #5/TRACE] [FML/]: Registry: minecraft:air 0 net.minecraft.block.BlockAir@7fb0298c
…
[13:21:13] [Netty Client IO #5/TRACE] [FML/]: Registry: SimpleEnderPouch:EnderTome 4483 com.demoxin.minecraft.simpleenderpouch.Item_EnderTome@4f11a931
[13:21:13] [Netty Client IO #5/TRACE] [mcp/mcp]: Sending event FMLModIdMappingEvent to mod mcp
[13:21:13] [Netty Client IO #5/TRACE] [mcp/mcp]: Sent event FMLModIdMappingEvent to mod mcp
[13:21:13] [Netty Client IO #5/TRACE] [FML/FML]: Sending event FMLModIdMappingEvent to mod FML
[13:21:13] [Netty Client IO #5/TRACE] [FML/FML]: Sent event FMLModIdMappingEvent to mod FML
[13:21:13] [Netty Client IO #5/TRACE] [Forge/Forge]: Sending event FMLModIdMappingEvent to mod Forge
[13:21:13] [Netty Client IO #5/TRACE] [Forge/Forge]: Sent event FMLModIdMappingEvent to mod Forge
[13:21:13] [Netty Client IO #5/TRACE] [backpackrenderer/backpackrenderer]: Sending event FMLModIdMappingEvent to mod backpackrenderer
[13:21:13] [Netty Client IO #5/TRACE] [backpackrenderer/backpackrenderer]: Sent event FMLModIdMappingEvent to mod backpackrenderer
…
[13:21:13] [Netty Client IO #5/TRACE] [simpleEnderPouch/SimpleEnderPouch]: Sending event FMLModIdMappingEvent to mod SimpleEnderPouch
[13:21:13] [Netty Client IO #5/TRACE] [simpleEnderPouch/SimpleEnderPouch]: Sent event FMLModIdMappingEvent to mod SimpleEnderPouch
[13:21:13] [Netty Client IO #5/TRACE] [FML/]: $HandshakeAck:{2}->FMLHandshakeClientState$5:PENDINGCOMPLETE
[13:21:13] [Netty Client IO #5/TRACE] [FML/]: $HandshakeAck:{3}->FMLHandshakeClientState$6:COMPLETE
[13:21:13] [Client thread/INFO] [FML/]: [Client thread] Client side modded connection established
[13:21:18] [Client thread/INFO] [THAUMCRAFT/]: Client received server config settings.
[13:21:18] [Client thread/INFO] [THAUMCRAFT/]: CHEAT_SHEET[false], WARDED_STONE[true], MIRRORS[true], HARD_NODES[true], RESEARCH_DIFFICULTY[0], ASPECT_CAP[8], ASPECT_TOTAL_CAP[100
[13:21:18] [Client thread/DEBUG] [NotEnoughItems/]: Loading Remote World
I guess the ideal solution would be for these mods to include a null server side implementation.
Thanks for all your great work!
KeepOnDigging.