We need to use ternary coordinate,that is we need to mapping the set
{p1,p2,p3}, p1+p2+p3==1,p1>0,p2>0,p3>0
to {x,y}
coordinate.
Clear[q, f, ternary, inverseternary, reg, inversereg];
q = 2;
f[{p1_, p2_, p3_}] = 1/(1 - q) Log[p1^q + p2^q + p3^q];
ternary[{p1_, p2_, p3_}] = {p1 + 1/2 p2, Sqrt[3]/2 p2};
inverseternary[{x_, y_}] = {p1, p2, p3} /.
Solve[{x == p2 + 1/2 p3, y == Sqrt[3]/2 p3,
p1 + p2 + p3 == 1}, {p1, p2, p3}][[1]];
reg = ImplicitRegion[{p1 > 0, p2 > 0, p3 > 0, p1 + p2 + p3 == 1}, {p1,
p2, p3}];
inversereg = TransformedRegion[reg, ternary];
ContourPlot[f[inverseternary[{x, y}]], {x, 0, 1}, {y, 0, 1},
RegionFunction -> Function[{x, y}, {x, y} ∈ inversereg],
Contours -> 20, PlotLegends -> Automatic]
