In this paper we propose fully distributed trustbased policies for p2p systems to regulate the exchange of different type of services and discourage misbehaviour. In a system of peers with different service valuations and capabilities, the resource allocation and server selection policies are based on local reputation vectors, whose elements are the reputations of the peers in providing each service of the system. Our studies demonstrate that proposed policies lead to the dynamic formation of coalitions (cooperation) among peers, which mutually profit by the exchange of their services, without pre-existing knowledge of one another’s capabilities and values of services. In this way utilities of all peers progressively increase. Only misbehaving (non contributive) peers do not benefit by such a system, as proposed policies efficiently recognize and block misbehaviour.