How to convert texture 2D to Material?

Well the image download should probably be pushed towards a Client task (no need to eat up server bandwidth).

Is it a function on begin play or is it triggered by an event?

If a trigger then probably just put the task in a custom event with a Muticast replication.
You could also add a variable that indicates the change and add a on_repNotify call and then change the material. There are a couple of ways depending on how important the task is to the end user